GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar Mattermost en Ubuntu 18.04

En este artículo habremos explicado los pasos necesarios para instalar y configurar Mattermost en Ubuntu 18.04 LTS. Antes de continuar con este tutorial, asegúrese de haber iniciado sesión como usuario con privilegios de sudo. Todos los comandos de este tutorial deben ejecutarse como un usuario no root.

Mattermost es una plataforma de código abierto escrita en React y Golang. Se puede usar como una plataforma de mensajería alternativa y utiliza la base de datos PostgreSQL o MySQL en el backend. La función principal de Mattermost es unir la comunicación del equipo y ofrecer varias funciones, como compartir archivos, emojis personalizados, videollamadas, mensajería (uno a uno o grupal), etc.

Instalar Mattermost en Ubuntu 18.04

Paso 1. Primero, antes de comenzar a instalar cualquier paquete en su servidor Ubuntu, siempre recomendamos asegurarse de que todos los paquetes del sistema estén actualizados.

sudo apt update
sudo apt upgrade

Paso 2. Instale la base de datos MySQL.

Instalando el paquete MySQL con el siguiente comando:

sudo apt install mysql-server

El paquete del servidor MySQL viene con un script llamado mysql_secure_installation que puede realizar varias operaciones relacionadas con la seguridad. Ejecute el script escribiendo:

sudo mysql_secure_installation

Luego, cree una nueva base de datos y un nuevo usuario para nuestra instalación de Mattermost con:

$ mysql -u root
CREATE DATABASE mattermost;
GRANT ALL ON mattermost.* TO [email protected] IDENTIFIED BY 'PassWD';

Ahora, cree un nuevo usuario y grupo del sistema por el bien de la instancia de Mattermost. En este caso, llamaremos a nuestro usuario mattermost:

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

Paso 3. Instala Mattermost en Ubuntu.

Primero, descargue la última versión estable de Mattermost:

sudo curl -L https://releases.mattermost.com/5.1.0/mattermost-5.1.0-linux-amd64.tar.gz -o /tmp/mattermost.tar.gz
sudo tar zxf /tmp/mattermost.tar.gz -C /opt
sudo mkdir -p /opt/mattermost/data

Asegúrese de cambiar la propiedad del directorio al usuario más importante:

sudo chown -R mattermost: /opt/mattermost

Luego, abra el archivo /opt/mattermost/config/config.json, configure el controlador de la base de datos en mysql e ingrese la información de la base de datos:

nano /opt/mattermost/config/config.json
"SqlSettings": {
    "DriverName": "mysql",
    "DataSource": "mattermost:[email protected](localhost:3306)/mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s",

Ahora, debemos probar si el servidor de Mattermost funciona correctamente. Para hacerlo, cambie al directorio /opt/mattermost y luego ejecute el siguiente comando para iniciar el servidor:

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

Paso 4. Creación de la unidad Systemd.

Crearemos un archivo de unidad de servicio de mattermost en el directorio /etc/systemd/system/:

nano /etc/systemd/system/mattermost.service
[Unit]
Description=Mattermost
After=network.target
After=mysql.service
Requires=mysql.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=mysql.service

Luego reinicie el servicio Mattermost usando los siguientes comandos:

sudo systemctl daemon-reload
sudo systemctl start mattermost
sudo systemctl enable mattermost

Paso 5. Configure un proxy inverso usando Nginx.

Si no ha instalado nginx, siga este tutorial. Ahora necesitamos configurar un nuevo bloque de servidor para la instancia de Mattermost:

nano /etc/nginx/conf.d/example.com.conf
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=mattermost_cache:10m max_size=3g inactive=120m use_temp_path=off;

upstream mattermost_backend {
  server 127.0.0.1:8065;
}

server {
    listen 80;
    server_name example.com www.example.com;

    include snippets/letsencrypt.conf;
    return 301 https://example.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name www.example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;

    return 301 https://example.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;

    access_log /var/log/nginx/example.com-access.log;
    error_log /var/log/nginx/example.com-error.log;

    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;
       proxy_read_timeout 600s;
       proxy_pass http://mattermost_backend;
    }

    location / {
       proxy_http_version 1.1;
       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_pass http://mattermost_backend;
    }
}

Paso 6. Acceso a Mattermost.

Para configurar el servicio Mattermost, vaya a su navegador e ingrese el nombre de dominio donde será dirigido a la página de registro.

Eso es todo lo que necesita hacer para instalar Mattermost en Ubuntu 18.04. Espero que encuentre útil este consejo rápido. Si tiene preguntas o sugerencias, no dude en dejar un comentario a continuación.


Ubuntu
  1. Cómo instalar Docker en Ubuntu 18.04

  2. Cómo instalar Apache en Ubuntu 18.04

  3. Cómo instalar MariaDB 10.4 en Ubuntu 18.04

  4. Cómo instalar MongoDB en Ubuntu 18.04

  5. Cómo instalar Jenkins en Ubuntu 18.04

Cómo instalar Tomcat 8.5 en Ubuntu 18.04

Cómo instalar Asterisk en Ubuntu 18.04

Cómo instalar Tomcat 9 en Ubuntu 18.04

Cómo instalar Webmin en Ubuntu 18.04

Cómo instalar Kodi en Ubuntu 18.04

Cómo instalar Mattermost en Ubuntu 18.04 LTS