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

Cómo instalar Mattermost en CentOS 8

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 al root user . Recomendamos actuar como un non-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.


Cent OS
  1. Cómo instalar Vagrant en CentOS 7

  2. Cómo instalar Gitea en CentOS 8

  3. Cómo instalar Memcached en CentOS 8

  4. Cómo instalar Nginx en CentOS 7

  5. Cómo instalar ownCloud en CentOS 8

Cómo instalar Zoom en CentOS 8

Cómo instalar Nethogs en CentOS

Cómo instalar Yourls en CentOS 8

Cómo instalar SuiteCRM en CentOS 8

Cómo instalar Minikube en CentOS 8

Cómo instalar Mattermost en CentOS 8