En este tutorial, le mostraremos cómo instalar Mattermost en Ubuntu 20.04 LTS. Para aquellos de ustedes que no lo sabían, Mattermost es una aplicación de mensajería de código abierto y autohospedada utilizada para chat, intercambio de archivos, búsqueda e integraciones escrito en Golang y React. Es una alternativa a Slack y proporciona un servicio de chat con intercambio de archivos, búsqueda e integraciones. Está diseñado para organizaciones y empresas y permite que los equipos se comuniquen y colaboren. de forma segura desde cualquier lugar.
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. Te mostraré la instalación paso a paso de Mattermost en Ubuntu 20.04 (Focal Fossa). Puede seguir las mismas instrucciones para Ubuntu 18.04, 16.04 y cualquier otra distribución basada en Debian como Linux Mint.
Requisitos previos
- Un servidor que ejecuta uno de los siguientes sistemas operativos:Ubuntu 20.04, 18.04, 16.04 y cualquier otra distribución basada en Debian como Linux Mint.
- 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 Ubuntu 20.04 LTS Focal Fossa
Paso 1. Primero, asegúrese de que todos los paquetes de su sistema estén actualizados ejecutando el siguiente apt
comandos en la terminal.
sudo apt update sudo apt upgrade
Paso 2. Instalación de la pila LEMP.
Se requiere un servidor Ubuntu 20.04 LEMP. Si no tiene LEMP instalado, puede seguir nuestra guía aquí.
Paso 3. Instalación de Mattermost en Ubuntu 20.04.
Cree un usuario y un grupo separados para ejecutar Mattermost, puede crearlo con el siguiente comando:
useradd --system --user-group mattermost
Ahora descargamos la última versión de Mattermost desde su sitio web oficial:
wget https://releases.mattermost.com/5.28.1/mattermost-5.28.1-linux-amd64.tar.gz
Una vez descargado, descomprima el archivo de Mattermost en el directorio raíz del documento en su servidor:
tar -xvzf mattermost-5.28.1-linux-amd64.tar.gz mv mattermost /opt/ mkdir /opt/mattermost/data
Tendremos que cambiar algunos permisos de carpetas:
chown -R mattermost:mattermost /opt/mattermost chmod -R g+w /opt/mattermost
Después de eso, edite el archivo de configuración de Mattermost y defina la URL de su sitio y la configuración de la base de datos:
nano /opt/mattermost/config/config.json
Cambie las siguientes líneas según sus necesidades:
"SiteURL": "http://mattermost.example.com", "DriverName": "mysql", "DataSource": "mattermost:secure-your-password@tcp(localhost:3306)/mattermostdb?charset=utf8mb4,utf8\u0026readTimeout=30s\u0026writeTimeout=30s",
Paso 4. Configuración de MariaDB para Mattermost.
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 seguro:
mysql_secure_installation
Configúralo así:
- Set root password? [Y/n] y - Remove anonymous users? [Y/n] y - Disallow root login remotely? [Y/n] y - Remove test database and access to it? [Y/n] y - Reload privilege tables now? [Y/n] y
A continuación, debemos iniciar sesión en la consola de MariaDB y crear una base de datos para Mattermost. Ejecute el siguiente comando:
mysql -u root -p
Esto le pedirá una contraseña, así que ingrese su contraseña raíz de MariaDB y presione Enter. Una vez que haya iniciado sesión en su servidor de base de datos, debe crear una base de datos para Instalación más importante:
MariaDB [(none)]> CREATE DATABASE mattermostdb; MariaDB [(none)]> CREATE USER 'mattermost'@'%' IDENTIFIED BY 'your-secure-password'; MariaDB [(none)]> GRANT ALL PRIVILEGES ON mattermostdb.* TO 'mattermost'@'%'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> EXIT;
Paso 5. Cree un archivo de servicio de Systemd para Mattermost.
Ahora creamos un systemd
archivo de servicio para administrar el servicio de Mattermost. Puedes crearlo con el siguiente comando:
nano /lib/systemd/system/mattermost.service
Agregue las siguientes líneas:
[Unit] Description=Mattermost After=network.target After=mysql.service Requires=mysql.service [Service] Type=notify User=mattermost Group=mattermost ExecStart=/opt/mattermost/bin/mattermost TimeoutStartSec=3600 Restart=always RestartSec=10 WorkingDirectory=/opt/mattermost LimitNOFILE=49152 [Install] WantedBy=mariadb.service
Guarde y cierre el archivo y luego vuelva a cargar el systemd
demonio con el siguiente comando:
sudo systemctl daemon-reload sudo systemctl start mattermost sudo systemctl enable mattermos
Paso 6. Configure Nginx como proxy inverso.
Ahora cree un archivo de configuración de host virtual Nginx con el siguiente comando:
nano /etc/nginx/sites-available/mattermost.conf
Agregue las siguientes líneas:
upstream mattermost { 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 mattermost.idroot.us; 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 65; send_timeout 200; lingering_timeout 5; proxy_connect_timeout 80; proxy_send_timeout 300; proxy_read_timeout 80s; proxy_pass http://mattermost; } 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://mattermost; } }
Guarde y cierre el archivo, luego active la configuración del host virtual con el siguiente comando:
ln -s /etc/nginx/sites-available/mattermost.conf /etc/nginx/sites-enabled/mattermost.conf sudo systemctl restart nginx
Paso 7. Configure HTTPS.
Deberíamos habilitar una conexión HTTPS segura en Nextcloud. Podemos obtener un certificado TLS gratuito de Let's Encrypt. Instale el cliente Let's Encrypt (Certbot) desde el repositorio de Ubuntu 20.04:
sudo apt install python3-certbot-nginx
Luego, ejecute el siguiente comando para instalar Let's Encrypt SSL para su sitio web:
certbot --nginx -d mattermost.idroot.us
Si la prueba es exitosa, vuelva a cargar Nginx para que el cambio surta efecto:
sudo nginx -t sudo systemctl restart nginx
Paso 8. Configure el cortafuegos.
Ejecute el siguiente comando para abrir puertos de servicio HTTP y HTTPS:
sudo ufw allow 'Nginx Full'
Paso 9. Acceso a Mattermost.
Mattermost estará disponible en el puerto HTTP 80 de manera predeterminada. Abra su navegador favorito y vaya a
https://mattermost.idroot.us
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 su sistema Ubuntu 20.04 LTS Focal Fossa. Para obtener ayuda adicional o información útil, le recomendamos que consulte la página oficial Sitio web de Mattermost.