Introducción
Mattermost es un chat en línea autohospedado y de código abierto. Se desarrolla como una conversación privada para organizaciones y empresas.
Es una herramienta con características como Slack y Microsoft Teams. Y Mattermost a menudo se instala con el servidor de base de datos PostgreSQL.
A continuación se muestra la guía sobre cómo implementar Mattermost en Ubuntu 20.04 a medida que avanzamos a continuación.
Paso 1:actualizar el sistema
Ejecute el comando apt:
$ sudo apt update
Luego ejecute el comando:
$ sudo apt upgrade
Producción:
Por último, establezca el nombre de host del servidor adecuado:
$ sudo hostnamectl set-hostname NEW_HOSTNAME --static
Aquí, establecemos un nombre de host llamado "chat.ubuntu ”
$ sudo hostnamectl set-hostname chat.ubuntu --static
Paso 2:instalar el servidor de base de datos PostgreSQL
Ejecute el comando apt para instalar:
$ sudo apt install postgresql postgresql-contrib
Salida:
Luego inicie sesión en la cuenta de postgres:
$ sudo --login --user postgres
Inicie PostgeSQL en el terminal y cree la base de datos/usuario de Mattermost. Aquí lo nombré “linuxer ” con la contraseña “[email protected] ”
psql
CREATE DATABASE mattermost;
CREATE USER linuxer WITH PASSWORD '[email protected]';
GRANT ALL PRIVILEGES ON DATABASE mattermost to linuxer;
\q
Paso 3:Crear usuario y grupo del sistema Mattermost
Crearemos un usuario y un grupo del sistema llamados "mattermost ”:
$ sudo useradd --system --user-group mattermost
Puede confirmar con el comando:
$ id mattermost
Salida:
Paso 4:instalar Mattermost
En primer lugar, debe crear una carpeta llamada “mattermost ”
$ mkdir mattermost
Luego navegue hasta él:
$ cd mattermost
Ejecute el comando wget para descargar Mattermost:
$ wget https://releases.mattermost.com/5.38.1/mattermost-5.38.1-linux-amd64.tar.gz
Salida:
Extraiga el paquete:
$ tar -xvzf mattermost*.gz
Copie el archivo extraído en el directorio /otp:
$ sudo cp -r mattermost /opt
Cree una carpeta para que Mattermost contenga datos de usuario:
$ sudo mkdir /opt/mattermost/data
Establezca la propiedad y los permisos correctos:
$ sudo chown -R mattermost:mattermost /opt/mattermost
Finalmente, concedamos permiso de escritura al directorio /opt/mattermost:
$ sudo chmod -R g+w /opt/mattermost
Paso 5:configurar el servidor Mattermost
Ajuste de configuración en el archivo /opt/mattermost/config/config.json
$ sudo nano /opt/mattermost/config/config.json
Luego configure los ajustes de la base de datos PostgreSQL:
Después de abrir el editor de texto, presione Ctrl + W y busque "DriverName ”
Cambia la línea en la parte roja:
"postgres://matteruser:[email protected]:5432/mattermost?sslmode=disable&connect_timeout=10",
Guárdalo.
Paso 6:configurar el servicio Systemd
Crear Mattermost Systemd:
$ sudo vim /etc/systemd/system/mattermost.service
Escriba las líneas a continuación:
[Unit] Description=Mattermost After=network.target After=postgresql.service Requires=postgresql.service [Service] Type=notify ExecStart=/opt/mattermost/bin/mattermost TimeoutStartSec=3600 Restart=always RestartSec=10 WorkingDirectory=/opt/mattermost User=mattermost Group=mattermost LimitNOFILE=49152 [Install] WantedBy=multi-user.target
Presione ESC + :wq para guardar.
Cargue la nueva unidad en systemd:
$ sudo systemctl daemon-reload
Confirmar el estado de funcionamiento del servicio:
$ systemctl status mattermost.service
Producción:
Habilitar el servicio más importante:
$ sudo systemctl enable mattermost.service
Paso 7:instalar Nginx
$ sudo apt -y install nginx
Debe escribir su dominio en el archivo de configuración de Mattermost:
$ sudo nano /opt/mattermost/config/config.json
Guárdalo.
Abra el editor de texto para configurar el acceso a su dominio:
$ sudo nano /etc/nginx/sites-available/mattermost.conf
Agregue las siguientes líneas:
upstream backend { server localhost: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 your domain; 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; } }
Guárdalo.
Para que la configuración de este sitio funcione, debe crear un enlace suave en la carpeta /etc/nginx/sites-enabled:
$ sudo ln -s /etc/nginx/sites-available/mattermost.conf /etc/nginx/sites-enabled/mattermost.conf
Ejecute este comando para verificar la validez de la configuración:
$ sudo nginx -t
Producción:
Reiniciar Nginx:
$ sudo systemctl restart nginx
A continuación, inicie el servicio más importante:
$ sudo systemctl start mattermost
Puede intentar acceder a su dominio.
Conclusión
Ya revisó los detalles de cómo implementar Mattermost en Ubuntu 20.04. Gracias por leer.