GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo instalar Mattermost en Alma Linux 8

Mattermost es una plataforma gratuita, de código abierto y segura para la comunicación, la colaboración y la organización del flujo de trabajo entre herramientas y equipos. Es un servicio de chat autohospedado diseñado para que organizaciones y empresas implementen un servicio de chat interno. Ofrece varias características útiles que incluyen mensajería uno a uno, historial de búsqueda ilimitado, uso compartido de archivos, autenticación de dos factores, notificaciones y más. Si está buscando una solución alternativa para Slack, Mattermost es la mejor opción para usted.

En este tutorial, le mostraremos cómo instalar Mattermost con Nginx en Alma Linux 8.

Requisitos

  • Un servidor que ejecuta Alma Linux 8.
  • Un nombre de dominio válido apuntado con la IP de su servidor.
  • Se configura una contraseña raíz en el servidor.

Instalar servidor MySQL

Mattermost utiliza MySQL como base de datos. Así que MySQL debe estar instalado en su servidor. Puede instalarlo ejecutando el siguiente comando:

dnf install mysql-server -y

Una vez que el servidor MySQL esté instalado, inicie y habilite el servicio MySQL con el siguiente comando:

systemctl start mysqld
systemctl enable mysqld

Ahora, puede proteger la instalación de MySQL ejecutando el siguiente script:

mysql_secure_installation

Responda todas las preguntas como se muestra a continuación para establecer la contraseña raíz de MySQL y asegurar la instalación:

Press y|Y for Yes, any other key for No: N
Please set the password for root here.
New password: 
Re-enter new password: 
Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y

Crear una base de datos para Mattermost

A continuación, deberá crear una base de datos y un usuario para Mattermost. Primero, inicie sesión en MySQL con el siguiente comando:

mysql -u root -p

Una vez que haya iniciado sesión, cree una base de datos y un usuario con el siguiente comando:

mysql> CREATE DATABASE matterdb;
mysql> CREATE USER 'matteruser'@'localhost' IDENTIFIED BY 'password';

A continuación, otorgue todos los privilegios a la base de datos de Mattermost:

mysql> GRANT ALL PRIVILEGES ON matterdb.* TO [email protected];

A continuación, elimine los privilegios y salga de MySQL con el siguiente comando:

mysql> FLUSH PRIVILEGES;
mysql> EXIT;

Una vez que haya terminado, puede continuar con el siguiente paso.

Instalar Mattermost en Alma Linux 8

Primero, cree un usuario dedicado para ejecutar Mattermost usando el siguiente comando:

useradd --system --user-group mattermost

A continuación, descargue la última versión de Mattermost usando el siguiente comando:

wget https://releases.mattermost.com/6.0.2/mattermost-6.0.2-linux-amd64.tar.gz

Una vez que se complete la descarga, extraiga el archivo descargado con el siguiente comando:

tar -xf mattermost-6.0.2-linux-amd64.tar.gz

A continuación, mueva el directorio extraído a /opt:

mv mattermost /opt

A continuación, cree un directorio de datos para Mattermost y cambie la propiedad y el permiso de Mattermost:

mkdir /opt/mattermost/data
chown -R mattermost:mattermost /opt/mattermost
chmod -R g+w /opt/mattermost

A continuación, edite el archivo de configuración de Mattermost:

nano /opt/mattermost/config/config.json

Defina la URL de su sitio web de Mattermost como se muestra a continuación:

    "SiteURL": "http://mattermost.example.com",

A continuación, busque las siguientes líneas:

    "DriverName": "postgres",
    "DataSource": "postgres://mmuser:[email protected]/mattermost_test?sslmode=disable\u0026connect_timeout=10",

Y las reemplazó con las siguientes líneas:

    "DriverName": "mysql",
    "DataSource": "matteruser:[email protected](localhost:3306)/matterdb?charset=utf8mb4,utf8\u0026readTimeout=30s\u0026writeTimeout=30s",

Guarde y cierre el archivo cuando haya terminado.

Crear un archivo de servicio de Systemd para Mattermost

A continuación, deberá crear un archivo de servicio systemd para administrar el servicio Mattermost. Puede crearlo ejecutando el siguiente comando:

nano /etc/systemd/system/mattermost.service

Agregue las siguientes líneas:

[Unit]
Description=Mattermost
After=syslog.target network.target mysqld.service

[Service]
Type=notify
WorkingDirectory=/opt/mattermost
User=mattermost
ExecStart=/opt/mattermost/bin/mattermost
PIDFile=/var/spool/mattermost/pid/master.pid
TimeoutStartSec=3600
LimitNOFILE=49152

[Install]
WantedBy=multi-user.target

Guarde y cierre el archivo, luego vuelva a cargar el demonio systemd con el siguiente comando:

systemctl daemon-reload

A continuación, inicie el servicio Mattermost y habilítelo para que se inicie al reiniciar el sistema:

systemctl start mattermost
systemctl enable mattermost

Ahora puede verificar el estado del servicio de Mattermost con el siguiente comando:

systemctl status mattermost

Obtendrá el siguiente resultado:

? mattermost.service - Mattermost
   Loaded: loaded (/etc/systemd/system/mattermost.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2022-01-15 14:12:29 UTC; 7s ago
 Main PID: 15201 (mattermost)
    Tasks: 32 (limit: 11411)
   Memory: 265.2M
   CGroup: /system.slice/mattermost.service
           ??15201 /opt/mattermost/bin/mattermost
           ??15298 plugins/com.mattermost.plugin-channel-export/server/dist/plugin-linux-amd64
           ??15299 plugins/com.mattermost.nps/server/dist/plugin-linux-amd64
           ??15308 plugins/playbooks/server/dist/plugin-linux-amd64
           ??15313 plugins/focalboard/server/dist/plugin-linux-amd64

Jan 15 14:12:26 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:26.344 Z","level":"info","msg":"Sent notification of next survey>
Jan 15 14:12:26 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:26.402 Z","level":"info","msg":"Post.Message has size restrictio>
Jan 15 14:12:26 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:26.499 Z","level":"info","msg":"info [2022-01-15 14:12:26.497 Z]>
Jan 15 14:12:26 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:26.537 Z","level":"info","msg":"\n    -- collation of mattermost>
Jan 15 14:12:28 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:28.297 Z","level":"info","msg":"debug [2022-01-15 14:12:28.295 Z>
Jan 15 14:12:28 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:28.804 Z","level":"info","msg":"info [2022-01-15 14:12:28.803 Z]>
Jan 15 14:12:29 almalinux8 systemd[1]: Started Mattermost.
Jan 15 14:12:29 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:29.149 Z","level":"info","msg":"Starting Server...","caller":"ap>
Jan 15 14:12:29 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:29.150 Z","level":"info","msg":"Server is listening on [::]:8065>
Jan 15 14:12:29 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:29.150 Z","level":"info","msg":"Sending systemd READY notificati>

En este punto, Mattermost se inicia y se ejecuta en el puerto 8065. Puede verificarlo con el siguiente comando:

ss -antpl | grep 8065

Obtendrá el siguiente resultado:

LISTEN 0      128                *:8065             *:*    users:(("mattermost",pid=15201,fd=35))                   

Una vez que haya terminado, puede continuar con el siguiente paso.

Configure Nginx como proxy inverso para Mattermost

Se recomienda instalar y configurar Nginx como proxy inverso para Mattermost. Para hacerlo, deberá instalar el servidor Nginx en su servidor. Puede instalarlo ejecutando el siguiente comando:

dnf install nginx -y

Una vez que se haya instalado Nginx, cree un archivo de configuración de host virtual de Nginx con el siguiente comando:

nano /etc/nginx/conf.d/mattermost.conf

Agregue las siguientes líneas:

 server {
        listen       80;
        server_name  mattermost.example.com;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
	proxy_pass http://localhost:8065/;
            index  index.html index.htm;
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

Guarde y cierre el archivo, luego verifique el Nginx por cualquier error de configuración:

nginx -t

Si todo está bien, obtendrá el siguiente resultado:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Ahora, inicie y habilite el servicio Nginx para que se inicie al reiniciar el sistema:

systemctl start nginx
systemctl enable nginx

Puede verificar el estado de Nginx usando el siguiente comando:

systemctl status nginx

Obtendrá el siguiente resultado:

? nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2022-01-15 14:14:05 UTC; 7s ago
  Process: 15356 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
  Process: 15354 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
  Process: 15351 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
 Main PID: 15358 (nginx)
    Tasks: 2 (limit: 11411)
   Memory: 3.8M
   CGroup: /system.slice/nginx.service
           ??15358 nginx: master process /usr/sbin/nginx
           ??15359 nginx: worker process

Jan 15 14:14:05 almalinux8 systemd[1]: nginx.service: Succeeded.
Jan 15 14:14:05 almalinux8 systemd[1]: Stopped The nginx HTTP and reverse proxy server.
Jan 15 14:14:05 almalinux8 systemd[1]: Starting The nginx HTTP and reverse proxy server...
Jan 15 14:14:05 almalinux8 nginx[15354]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Jan 15 14:14:05 almalinux8 nginx[15354]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Jan 15 14:14:05 almalinux8 systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
Jan 15 14:14:05 almalinux8 systemd[1]: Started The nginx HTTP and reverse proxy server.

En este punto, Nginx está instalado y configurado para servir a Mattermost. Ahora puede continuar con el siguiente paso.

Configurar cortafuegos

A continuación, deberá permitir el puerto 80 a través del firewall. Puede permitirlo ejecutando el siguiente comando:

firewall-cmd --add-service=http --permanent

A continuación, vuelva a cargar el cortafuegos para aplicar los cambios:

firewall-cmd --reload

Una vez que haya terminado, puede continuar con el siguiente paso.

Acceder a la interfaz de usuario web de Mattermost

Ahora, abra su navegador web y acceda a la interfaz web de Mattermost usando la URL http://mattermost.example.com . Será redirigido a la siguiente pantalla:

Proporcione su dirección de correo electrónico, nombre de usuario de administrador, contraseña y haga clic en Crear Cuenta botón. Obtendrá la siguiente pantalla:

Haga clic en Crear un equipo . Obtendrá la siguiente pantalla:

Proporcione el nombre de su equipo y haga clic en Siguiente botón. Obtendrá la siguiente pantalla:

Proporcione a su equipo de Mattermost URL y haga clic en Finalizar botón. Obtendrá el panel de control de Mattermost en la siguiente pantalla:

Conclusión

En la guía anterior, aprendió cómo instalar el servicio de chat Mattermost con Nginx en Alma Linux 8. Ahora puede implementar Mattermost en su organización y comenzar a usarlo como un chat interno. Siéntase libre de preguntarme si tiene alguna pregunta.


Linux
  1. Cómo instalar MySQL 5.7 en Amazon Linux

  2. Cómo instalar Mysql 8 en Rocky Linux/Centos 8

  3. Cómo instalar Erlang en Rocky Linux/Alma Linux/CentOS 8

  4. Cómo instalar FFmpeg en Rocky Linux/Alma Linux 8

  5. Cómo instalar PHP 8 en Alma Linux y Rocky Linux

Cómo instalar Rabbitmq en Rocky Linux/Alma Linux/Centos 8

Cómo instalar Mattermost en Rocky Linux 8

Cómo instalar Mattermost en CentOS 7

Cómo instalar MySQL 8.0 en Rocky Linux 8

Cómo instalar el servidor web OpenLiteSpeed ​​en Alma Linux 8

Cómo instalar Mattermost en Rocky Linux 8