En este tutorial, le mostraremos cómo instalar Mattermost en CentOS 8. Para aquellos de ustedes que no lo sabían, Mattermost es una alternativa de Slack de nube privada y de código abierto. Un lugar de trabajo Sistema de mensajería para web, PC y teléfonos, lanzado bajo la licencia MIT. Como alternativa a la mensajería SaaS patentada, 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 Slack". -limited", compatible con un superconjunto de integraciones de webhooks entrantes y salientes de Slack, incluida la compatibilidad con integraciones de Slack existentes. Desde sus equipos de Slack existentes, puede importar usuarios, historial de canales públicos e incluso colores de configuración de temas en Mattermost.
Este artículo asume que tiene al menos conocimientos básicos de Linux, sabe cómo usar el shell y, lo que es más importante, aloja su sitio en su propio VPS. La instalación es bastante simple y asume que se están ejecutando en la cuenta raíz, si no, es posible que deba agregar 'sudo
' a los comandos para obtener privilegios de root. Le mostraré paso a paso la instalación de Mattermost en un CentOS 8.
Requisitos previos
- Un servidor que ejecute uno de los siguientes sistemas operativos:CentOS 8.
- Se recomienda que utilice una instalación de sistema operativo nueva para evitar posibles problemas.
- Un
non-root sudo user
o acceder alroot user
. Recomendamos actuar como unnon-root sudo user
, sin embargo, puede dañar su sistema si no tiene cuidado al actuar como root.
Instalar Mattermost en CentOS 8
Paso 1. Primero, comencemos asegurándonos de que su sistema esté actualizado.
sudo dnf clean all sudo dnf install epel-release sudo dnf update
Paso 2. Instalación del 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 proteger MariaDB utilizando mysql_secure_installation
texto. 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;
Paso 3. Instalación de Mattermost en CentOS 8.
Primero, deberá crear un usuario independiente para ejecutar Mattermost. Puede crearlo con el siguiente comando:
sudo useradd -d /opt/mattermost -U -M mattermost
Luego, 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 “Nombre del conductor ” y “Fuente de datos ” líneas y cambiar 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 Mattermost con el siguiente comando:
cd /opt/mattermost sudo -u mattermost ./bin/mattermost
Paso 4. Configure el servicio Mattermost Systemd.
Primero, crearemos un nuevo systemd
archivo de unidad 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
Paso 5. Configuración de Nginx con Mattermost.
Instalar y configurar 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
Paso 6. Configure el cortafuegos.
Permitir acceso de cortafuegos en puertos HTTP y HTTPS:
sudo firewall-cmd --add-service={http,https} --permanent sudo firewall-cmd --reload
Paso 7. Acceso a la interfaz web de Mattermost.
Mattermost estará disponible en el puerto HTTP 80 de manera 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.
¡Felicitaciones! Ha instalado Mattermost con éxito. Gracias por usar este tutorial para instalar Mattermost en el sistema CentOS 8. Para obtener ayuda adicional o información útil, le recomendamos que consulte el sitio web oficial de Mattermost.