Mattermost Tutorial Español - Instalacion y configuracion DETALLADA
Tabla de contenido:
- Prerrequisitos
- Crear base de datos MySQL
- Crear nuevo usuario del sistema
- Instalar el servidor de Mattermost
- Crear una unidad Systemd
- Configurar un proxy inverso con Nginx
- Configurando Mattermost
- Conclusión
Mattermost es una plataforma de mensajería instantánea de nivel empresarial, una alternativa de Slack autohospedada de código abierto. Está escrito en Golang y React y puede usar MySQL o PostgreSQL como back-end de la base de datos. Mattermost reúne toda la comunicación de su equipo en un solo lugar y ofrece varias características, que incluyen el intercambio de archivos, mensajes uno a uno y grupales, emojis personalizados, videollamadas y más.
En este tutorial, instalaremos Mattermost en un servidor Ubuntu 18.04 y configuraremos Nginx como un proxy inverso SSL.
Prerrequisitos
Asegúrese de cumplir con los siguientes requisitos previos antes de continuar con este tutorial:
- Ha iniciado sesión como usuario con privilegios de sudo. Tiene un nombre de dominio que apunta a la dirección IP de su servidor. utilizaremos
example.com. Tiene instalado Nginx, si no, consulte esta guía. Tiene un certificado SSL instalado para su dominio. Puede instalar un certificado SSL Let's Encrypt gratuito siguiendo esta guía.
Crear base de datos MySQL
Utilizaremos MySQL como base de datos para Mattermost. Si no tiene MySQL o MariaDB instalado en su servidor, puede instalarlo siguiendo estas instrucciones.
Inicie sesión en el shell de MySQL:
mysql -u root
Cree una nueva base de datos y usuario para nuestra instalación de Mattermost con:
CREATE DATABASE mattermost;
GRANT ALL ON mattermost.* TO mattermost@localhost IDENTIFIED BY 'P4ssvv0rD';
Asegúrese de utilizar una contraseña que sea más segura que
P4ssvv0rD
.
Crear nuevo usuario del sistema
Cree un nuevo usuario y grupo que ejecutará nuestra instancia de Mattermost. Vamos a nombrar al usuario más
mattermost
:
sudo useradd -U -M -d /opt/mattermost mattermost
Instalar el servidor de Mattermost
Al momento de escribir este artículo, la última versión estable de Mattermost es la versión 5.1.0. Descargue el archivo con el siguiente comando curl:
sudo curl -L https://releases.mattermost.com/5.1.0/mattermost-5.1.0-linux-amd64.tar.gz -o /tmp/mattermost.tar.gz
Una vez que se complete la descarga, extraiga el archivo y muévalo al directorio
/opt
sudo tar zxf /tmp/mattermost.tar.gz -C /opt
Cree el directorio de almacenamiento para archivos:
sudo mkdir -p /opt/mattermost/data
Cambie la propiedad del directorio al usuario más importante:
sudo chown -R mattermost: /opt/mattermost
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:
"SqlSettings": { "DriverName": "mysql", "DataSource": "mattermost:P4ssvv0rD@tcp(localhost:3306)/mattermost?charset=utf8mb4, utf8&readTimeout=30s&writeTimeout=30s",
Para asegurarnos de que nuestra instancia de Mattermost funcione como se espera, probaremos el servidor de Mattermost. Cambie al directorio
/opt/mattermost
e inicie el servidor con los siguientes comandos:
cd /opt/mattermost
sudo -u mattermost bin/mattermost
Si todo funciona bien, el servidor se iniciará y la salida se verá así:
{"level":"info", "ts":1532546921.941638, "caller":"app/server.go:115", "msg":"Starting Server…"} {"level":"info", "ts":1532546921.9421031, "caller":"app/server.go:154", "msg":"Server is listening on:8065"} {"level":"info", "ts":1532546921.9541554, "caller":"app/web_hub.go:75", "msg":"Starting 2 websocket hubs"}
Ahora podemos detener el servidor de Mattermost con
CTRL+C
y continuar con los siguientes pasos.
Crear una unidad Systemd
Para ejecutar nuestra instancia de Mattermost como servicio, crearemos un archivo de unidad de materia más importante en el directorio
/etc/systemd/system/
.
Abra su editor de texto y cree el siguiente archivo:
/etc/systemd/system/mattermost.service
Description=Mattermost After=network.target After=mysql.service Requires=mysql.service Type=notify ExecStart=/opt/mattermost/bin/mattermost TimeoutStartSec=3600 Restart=always RestartSec=10 WorkingDirectory=/opt/mattermost User=mattermost Group=mattermost LimitNOFILE=49152 WantedBy=mysql.service
Notifique a systemd que hemos creado un nuevo archivo de unidad e inicie el servicio Mattermost con los siguientes comandos:
sudo systemctl daemon-reload
sudo systemctl start mattermost
Ahora podemos verificar el estado del servicio con:
sudo systemctl status mattermost
● mattermost.service - Mattermost Loaded: loaded (/etc/systemd/system/mattermost.service; disabled; ven Active: active (running) since Wed 2018-07-25 18:39:05 UTC; 41s ago Main PID: 3091 (mattermost) Tasks: 18 (limit: 507) CGroup: /system.slice/mattermost.service ├─3091 /opt/mattermost/bin/mattermost
Si no hay errores, habilite el servicio Mattermost para que se inicie automáticamente en el momento del arranque:
sudo systemctl enable mattermost
Configurar un proxy inverso con Nginx
Ahora tenemos que configurar un nuevo bloque de servidor para la instancia de Mattermost. Abra su editor de texto y cree el siguiente archivo:
/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+/(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; } }
Vuelva a cargar el servicio Nginx para que los cambios surtan efecto:
Configurando Mattermost
Abra su navegador, escriba su dominio y será redirigido a la página de sugnup.
Ingrese su correo electrónico, elija un nombre de usuario y contraseña y haga clic en el botón
Create Account
para crear su primera cuenta.







Puede usar cualquier servicio de correo electrónico transaccional popular como SendinBlue, SendGrid, Amazon SES, Mandrill, Mailgun, Mailjet y Postmark o puede configurar su propio servidor de correo siguiendo este tutorial.
Finalmente, necesitamos reiniciar el servicio Mattermost para que los cambios surtan efecto:
sudo systemctl restart mattermost
Conclusión
Ha instalado con éxito Mattermost en su servidor Ubuntu 18.04 y ha configurado Nginx como proxy inverso. Ahora puede comenzar a usar Mattermost para colaborar con su equipo.
rocketchat nodejs ubuntuCómo implementar odoo 11 en ubuntu 18.04
Esta guía cubre los pasos necesarios para instalar y configurar Odoo para la producción usando la fuente Git y el entorno virtual Python en un sistema Ubuntu 18.04.
Cómo implementar odoo 12 en ubuntu 18.04
Este tutorial cubre los pasos necesarios para instalar y configurar Odoo 12 para la producción usando la fuente Git y el entorno virtual de Python en un sistema Ubuntu 18.04.
Cómo implementar rocket.chat en ubuntu 18.04
Rocket.Chat es una plataforma de comunicación de equipo de código abierto, una alternativa Slack autohospedada. Rocket.Chat es una solución perfecta para empresas y comunidades que desean alojar su propio sistema de chat.







