GNU/Linux >> Tutoriales Linux >  >> Cent OS

Instalar Mattermost en CentOS 8:¿una guía paso a paso?

Mattermost es una alternativa de Slack de nube privada y de código abierto. Un sistema de mensajería en el lugar de trabajo para web, PC y teléfonos, lanzado bajo la licencia MIT. Como alternativa a la mensajería SaaS propietaria, Mattermost reúne todas las comunicaciones de su equipo en un solo lugar, lo que permite buscarlas y acceder a ellas desde cualquier lugar. Mattermost es "compatible con Slack, no limitado por Slack", y admite un superconjunto de integraciones de webhook entrantes y salientes de Slack, incluida la compatibilidad con las integraciones existentes de Slack. Desde sus equipos de Slack existentes, puede importar usuarios, historial de canales públicos e incluso colores de configuración de temas a Mattermost.

Aquí en LinuxAPT, como parte de nuestros servicios de administración de servidores, ayudamos regularmente a nuestros clientes a realizar consultas relacionadas con la instalación del software del sistema Linux.

En este contexto, veremos cómo instalar Mattermost en CentOS 8.


¿Pasos para instalar y configurar Mattermost en CentOS 8?

1. Realice la actualización del sistema

Primero, comencemos asegurándonos de que su sistema esté actualizado:

$ sudo dnf clean all
$ sudo dnf install epel-release
$ sudo dnf update


2. Instalar servidor de base de datos

Ejecute el siguiente comando para instalar MariaDB:

$ sudo dnf install mariadb-server

De forma predeterminada, MariaDB no está reforzado. Puede asegurar MariaDB utilizando el script mysql_secure_installation. debe leer y debajo de cada paso cuidadosamente que establecerá una contraseña de root, eliminará usuarios anónimos, no permitirá el inicio de sesión de root remoto y eliminará la base de datos de prueba y accederá a MariaDB segura:

$ mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!
Remove anonymous users? [Y/n] y
 ... Success!
Disallow root login remotely? [Y/n] y
 ... Success!
Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!
Reload privilege tables now? [Y/n] y
 ... Success!
Cleaning up...
Thanks for using MariaDB!

Luego, reinicie el servidor de la base de datos MariaDB y habilítelo para que se inicie al iniciar el sistema usando:

$ sudo systemctl restart mariadb
$ sudo systemctl status mariadb
$ sudo systemctl enable mariadb

Después de la instalación de la base de datos, inicie sesión en el shell de MariaDB y cree una base de datos y un usuario para Mattermost:

$ mysql -u root -p
CREATE DATABASE mattermost;
GRANT ALL PRIVILEGES ON mattermost.* TO mattermost@localhost IDENTIFIED BY 'Your-Strong-Passwd';
FLUSH PRIVILEGES;
QUIT;


3. Instale Mattermost en el sistema

Primero, deberá crear un usuario separado para ejecutar Mattermost. Puedes crearlo con el siguiente comando:

$ sudo useradd -d /opt/mattermost -U -M mattermost

A continuación, descargue la última versión de Mattermost:

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

Descomprima el archivo de Mattermost en el directorio raíz del documento en su servidor:

$ tar xf *.gz
$ mv mattermost /opt/

Cree el directorio de almacenamiento para archivos:

$ mkdir /opt/mattermost/data

Además, establezca la propiedad y los permisos:

$ sudo chown -R mattermost:mattermost /opt/mattermost
$ sudo chmod -R g+w /opt/mattermost

A continuación, tendremos que configurar el controlador de la base de datos en el archivo /opt/mattermost/config/config.json realizando algunos cambios en su contenido. Busque las líneas "DriverName" y "DataSource" y cambie de la siguiente manera:

$ nano /opt/mattermost/config/config.json
"SqlSettings": {
        "DriverName": "mysql",
        "DataSource": "mattermost:Str0ngP@ss@tcp(localhost:3306)/mattermost?charset=utf8mb4,utf8\u0026readTimeout=30s\u0026writeTimeout=30s",
        "DataSourceReplicas": [],
        "DataSourceSearchReplicas": [],
        "MaxIdleConns": 20,
        "ConnMaxLifetimeMilliseconds": 3600000,
        "MaxOpenConns": 300,
        "Trace": false,
        "AtRestEncryptKey": "myyti1r597i99qrk7eu91ywqhaawz4md",
        "QueryTimeout": 30
    },

Guarde y cierre el archivo. Luego, cambie el directorio a /opt/mattermost e inicie el servidor de Mattermost con el siguiente comando:

$ cd /opt/mattermost
$ sudo -u mattermost ./bin/mattermost


4. Configurar el servicio Mattermost Systemd

Primero, crearemos un nuevo archivo de unidad systemd usando el siguiente comando:

$ nano /etc/systemd/system/mattermost.service
[Unit]
Description=Mattermost
After=syslog.target network.target mariadb.service
[Service]
Type=notify
WorkingDirectory=/opt/mattermost
User=mattermost
ExecStart=/opt/mattermost/bin/mattermost
PIDFile=/var/run/mattermost.pid
TimeoutStartSec=3600
LimitNOFILE=49152
[Install]
WantedBy=multi-user.target

A continuación, inicie el servicio Mattermost y habilítelo para que se inicie después de reiniciar el sistema con el siguiente comando:

$ sudo systemctl daemon-reload
$ sudo systemctl start mattermost.service
$ sudo systemctl enable mattermost.service

Verifique que Mattermost se esté ejecutando y escuchando en el puerto 8065. Puede verificarlo con el siguiente comando:

$ curl http://localhost:8065


5. Configurar Nginx con Mattermost

Instale y configure Nginx como un proxy inverso para un mejor rendimiento y seguridad. Ahora instalamos Nginx en el sistema CentOS:

$ sudo dnf install nginx

Después de instalar el servidor web Nginx, inicie el servicio Nginx y habilítelo para que se inicie después de reiniciar el sistema con el siguiente comando:

$ sudo systemctl start nginx
$ sudo systemctl enable nginx

Luego, configure el servidor web Nginx como un proxy para Mattermost:

$ sudo nano /etc/nginx/conf.d/mattermost.conf
upstream backend {
   server 127.0.0.1:8065;
   keepalive 32;
}
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=mattermost_cache:10m max_size=3g inactive=120m use_temp_path=off;
server {
   listen 80;
   server_name    mattermost.example.com;
   location ~ /api/v[0-9]+/(users/)?websocket$ {
       proxy_set_header Upgrade $http_upgrade;
       proxy_set_header Connection "upgrade";
       client_max_body_size 50M;
       proxy_set_header Host $http_host;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header X-Forwarded-Proto $scheme;
       proxy_set_header X-Frame-Options SAMEORIGIN;
       proxy_buffers 256 16k;
       proxy_buffer_size 16k;
       client_body_timeout 60;
       send_timeout 300;
       lingering_timeout 5;
       proxy_connect_timeout 90;
       proxy_send_timeout 300;
       proxy_read_timeout 90s;
       proxy_pass http://backend;
   }
   location / {
       client_max_body_size 50M;
       proxy_set_header Connection "";
       proxy_set_header Host $http_host;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header X-Forwarded-Proto $scheme;
       proxy_set_header X-Frame-Options SAMEORIGIN;
       proxy_buffers 256 16k;
       proxy_buffer_size 16k;
       proxy_read_timeout 600s;
       proxy_cache mattermost_cache;
       proxy_cache_revalidate on;
       proxy_cache_min_uses 2;
       proxy_cache_use_stale timeout;
       proxy_cache_lock on;
       proxy_http_version 1.1;
       proxy_pass http://backend;
   }
}

Finalmente, reinicie el servicio Nginx para aplicar los cambios:

$ nginx -t
$ sudo systemctl restart nginx


6. Configurar cortafuegos

Permitir el acceso del cortafuegos en los puertos HTTP y HTTPS:

$ sudo firewall-cmd --add-service={http,https} --permanent
$ sudo firewall-cmd --reload


¿Cómo acceder a la interfaz web de Mattermost?

Mattermost estará disponible en el puerto HTTP 80 de forma predeterminada.

Abra su navegador favorito y vaya a http://mattermost.example.com y continúe configurando Mattermost ingresando una dirección de correo electrónico y creando una cuenta.



Cent OS
  1. Instalar Grafana en CentOS 8 - ¿Guía paso a paso?

  2. Instalar FreeIPA en CentOS 8 - ¿Guía paso a paso?

  3. Instalar OrangeScrum en CentOS 8 - ¿Guía paso a paso?

  4. Instalar Rar/Unrar en Centos 8 - ¿Guía paso a paso?

  5. Instalar ClamAV en CentOS 8 - ¿Guía paso a paso?

Guía paso a paso para instalar CentOS 8 (con capturas de pantalla)

Instalar Vivaldi Browser en CentOS 8 - ¿Una guía paso a paso?

Instalar Transmission en CentOS 8 - ¿Una guía paso a paso?

Instalar Microsoft SQL Server en CentOS 8:¿una guía paso a paso?

Instale Vtiger CRM en CentOS 8:¿una guía paso a paso?

Instalar Gparted en CentOS 8:¿una guía paso a paso?