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 código abierto, una alternativa de Slack autohospedada. 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, le mostraremos cómo implementar Mattermost en un servidor CentOS 7 y configurar 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. Usaremos
linuxize-test.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 MariaDB 10.3 como back-end de la base de datos. Mattermost no funcionará con MariaDB versión 5.5.
Inicie sesión en el shell de MySQL:
mysql -u root -p
Y ejecute los siguientes comandos para crear una nueva base de datos y usuario para nuestra instalación de Mattermost:
create database mattermost;
GRANT ALL ON mattermost.* TO mattermost@localhost IDENTIFIED BY 'P4ssvv0rD';
Crear nuevo usuario del sistema
Para crear un nuevo usuario y grupo llamado
mattermost
, que ejecutará la instalación de Mattermost, ejecute el siguiente comando:
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.4.0. Antes de continuar con el siguiente paso, debe consultar la página de descarga de Mattermost para ver si hay una versión más nueva disponible.
Descargue el archivo con el siguiente comando curl:
sudo curl -L https://releases.mattermost.com/5.4.0/mattermost-5.4.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 /opt/mattermost/data
Cambie la propiedad del directorio al usuario más importante:
sudo chown -R mattermost: /opt/mattermost
Abra el archivo
config.json
con su editor de texto favorito:
sudo nano /opt/mattermost/config/config.json
Establezca el controlador de la base de datos en
mysql
, ingrese el nombre de la base de datos y la contraseña del usuario de la base de datos que creamos anteriormente en este tutorial:
… "SqlSettings": { "DriverName": "mysql", "DataSource": "mattermost:P4ssvv0rD@tcp(localhost:3306)/mattermost?charset=utf8mb4, utf8&readTimeout=30s&writeTimeout=30s", "DataSourceReplicas":,…
Para probar nuestra instalación y asegurarnos de que todo funciona antes de crear la unidad systemd y configurar un proxy inverso con Nginx, iniciaremos el servidor Mattermost.
Cambie al directorio
/opt/mattermost
e inicie el servidor:
cd /opt/mattermost
sudo -u mattermost bin/mattermost
La salida debería mostrar que el servidor Mattermost está escuchando en el puerto
8065
:
{"level":"info", "ts":1540921243.6797202, "caller":"app/plugin.go:100", "msg":"Starting up plugins"} {"level":"info", "ts":1540921244.3483207, "caller":"app/server.go:88", "msg":"Starting Server…"} {"level":"info", "ts":1540921244.3488805, "caller":"app/server.go:148", "msg":"Server is listening on:8065"} {"level":"info", "ts":1540921244.3620636, "caller":"app/web_hub.go:75", "msg":"Starting 2 websocket hubs"} {"level":"info", "ts":1540921244.451155, "caller":"jobs/workers.go:63", "msg":"Starting workers"} {"level":"info", "ts":1540921244.456804, "caller":"jobs/schedulers.go:68", "msg":"Starting schedulers."}
Ahora puede 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/
con el siguiente contenido:
Description=Mattermost After=network.target nss-lookup.target mariadb.service Type=notify WorkingDirectory=/opt/mattermost User=mattermost SyslogIdentifier=mattermost ExecStart=/opt/mattermost/bin/mattermost TimeoutStartSec=3600 LimitNOFILE=49152 WantedBy=multi-user.target
Notifique a systemd que creamos un nuevo archivo de unidad e inicie el servicio Mattermost ejecutando:
sudo systemctl daemon-reload
sudo systemctl start mattermost
Ahora podemos verificar el estado del servicio con el siguiente comando:
sudo systemctl status mattermost
● mattermost.service - Mattermost Loaded: loaded (/etc/systemd/system/mattermost.service; disabled; vendor preset: disabled) Active: active (running) since Tue 2018-10-30 17:44:46 UTC; 3s ago Main PID: 25959 (mattermost) CGroup: /system.slice/mattermost.service └─25959 /opt/mattermost/bin/mattermost
Finalmente, 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
/etc/nginx/conf.d/linuxize-test.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 linuxize-test.com www.linuxize-test.com; include snippets/letsencrypt.conf; return 301 https://linuxize-test.com$request_uri; } server { listen 443 ssl http2; server_name www.linuxize-test.com; ssl_certificate /etc/letsencrypt/live/linuxize-test.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/linuxize-test.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/linuxize-test.com/chain.pem; include snippets/ssl.conf; return 301 https://linuxize-test.com$request_uri; } server { listen 443 ssl http2; server_name linuxize-test.com; ssl_certificate /etc/letsencrypt/live/linuxize-test.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/linuxize-test.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/linuxize-test.com/chain.pem; include snippets/ssl.conf; access_log /var/log/nginx/linuxize-test.com-access.log; error_log /var/log/nginx/linuxize-test.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 cree su primera cuenta:







e ingrese sus parámetros SMTP. 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.
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 CentOS 7 y ha configurado Nginx como proxy inverso. Ahora puede comenzar a usar Mattermost para colaborar con su equipo.
la mayoría de los centos de nodejsWestern Digital lanza la unidad de disco duro de 2TB más importante del mundo
Dos terabytes. Aproximadamente 600,000 MP3. Más de 50 discos Blu-ray. Western Digital tardó casi medio año en hacerlo, pero el gigante de los discos duros ha expulsado a Seagate y su unidad de 1,5TB por los máximos honores de capacidad de almacenamiento.
Obama elige a un veterano de tecnología para el puesto más importante de ciberseguridad
Howard Schmidt fue nombrado coordinador de ciberseguridad de la Casa Blanca el martes, un puesto que según fill.
Cómo implementar el más importante en ubuntu 18.04
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.







