Cómo instalar Mattermost Server en Rocky Linux 8
Mattermost es un software de mensajería que puede configurarse para satisfacer los requisitos de mensajería de tu organización.
Funciona igual que el software de mensajería que habrás utilizado antes. Los usuarios pueden conectarse y utilizar la plataforma de mensajería para enviar mensajes de cualquier tipo entre ellos o dirigidos a otros usuarios que decidan suscribir a su feed de mensajería. También admite la mensajería de grupo, donde surge un hilo de conversación entre más de una persona. Los mensajes también incluyen archivos adjuntos, imágenes, enlaces, etc., para compartirlos en toda la organización. Además, hay algunas funciones adicionales interesantes que se pueden activar, como la videoconferencia si es necesario.
Los desarrolladores quieren utilizar este software porque es fácil de configurar, puede alojarse en tu propia nube privada, es gratuito y la mensajería es un requisito importante para la mayoría de las organizaciones.
Si eres cliente de Google Apps, la mensajería siempre ha sido un poco complicada porque los servicios de mensajería que proporcionan (Google Talk) no funcionan realmente en los dispositivos móviles (ni siquiera admiten la mensajería de grupo). Mattermost, en cambio, funciona tanto en teléfonos móviles como en clientes de escritorio. Incluso puedes ejecutar Mattermost en tu propio hardware o en servidores en la nube si es necesario.
Requisitos previos
- Un servidor que ejecute Rocky Linux 8 con un mínimo de 2 GB de RAM.
- Un usuario no root con privilegios sudo.
Paso 1. Actualizar el sistema
Antes de instalar Mattermost, vamos a actualizar los paquetes de software y a poner el sistema al día.
sudo dnf update
El proceso de actualización puede tardar un poco, dependiendo de la velocidad de Internet y de la frecuencia con la que se apliquen las actualizaciones en el sistema.
Paso 2: Instalar el servidor MySQL
MySQL es un sistema de gestión de bases de datos de código abierto con muchas características avanzadas que se utiliza para almacenar, gestionar y recuperar datos en formato de base de datos relacional. Es el más utilizado en las aplicaciones web basadas en bases de datos.
Mattermost utiliza MySQL como base de datos backend para almacenar todos los datos de los usuarios.
Puedes saltarte este paso si ya tienes MySQL instalado.
Ahora, vamos a instalar el servidor MySQL en tu servidor antes de instalar Mattermost.
sudo dnf install mysql-server -y
Una vez completada la instalación, inicia y habilita el servicio MySQL ejecutando el siguiente comando.
sudo systemctl start mysqld
sudo systemctl enable mysqld
Comprueba el estado del servicio MySQL ejecutando el siguiente comando.
sudo systemctl status mysqld
Deberías obtener la siguiente salida.
Paso 3. Crear la base de datos para Mattermost
Una vez instalado MySQL, ejecuta el siguiente comando para crear una base de datos para Mattermost.
En primer lugar, inicia sesión en el shell de MySQL.
mysql -u root -p
Se te pedirá que introduzcas tu contraseña. Déjala en blanco y pulsa Intro. Deberías ver un aviso de MySQL.
Ahora, ejecuta el siguiente comando para crear la base de datos de Mattermost y un usuario con todos los privilegios en la base de datos.
CREATE DATABASE mattermost_db;
CREATE USER 'mattermost_user'@'localhost' IDENTIFIED BY 'password_of_your_choice ';
GRANT ALL ON mattermost_db. * TO mattermost_user@localhost;
FLUSH PRIVILEGES;
Ahora escribe \q y pulsa Enter para salir del prompt de MySQL.
Paso 4. Instalar Mattermost
En este paso, descargaremos e instalaremos la última versión de Mattermost desde su sitio web oficial.
Primero, abre tu navegador web y ve a
https://mattermost.com/download/#
Esto te llevará a la página de descarga de Mattermost. Copia la dirección del enlace para la arquitectura de tu servidor.
Una vez que hayas copiado la URL, ejecuta el siguiente comando para instalar Mattermost.
wget https://releases.mattermost.com/5.39.0/mattermost-5.39.0-linux-amd64.tar.gz
Este comando descargará el archivo tar y lo guardará como un archivo llamado mattermost-5.39.0-linux-amd64.tar.gz
Una vez descargado el paquete, extraeremos el archivo tar y moveremos los archivos extraídos al directorio /opt.
sudo tar -xf mattermost-*-linux-amd64.tar.gz
sudo mv mattermost /opt
Paso 5. Configurar el archivo config.json
El archivo de configuración de Mattermost es config.json. Este archivo se encuentra en el directorio mattermost/config, y contiene todos los ajustes de configuración de Mattermost.
En este paso, configuraremos Mattermost para que funcione con MySQL. Si utilizas PostgreSQL, puedes saltarte este paso.
Ejecuta el siguiente comando para crear un archivo config.json utilizando el editor de texto nano.
sudo nano /opt/mattermost/config/config.json
Se abrirá el archivo de configuración de Mattermost en el editor de texto nano.
Ahora, busca la sección llamada DriverName y sustituye el valor de postgres por el de mysql como se muestra a continuación.
A continuación, busca la sección llamada DataSource. Este es el aspecto de la línea original de DataSource.
Sustitúyelo:
- mmuser: sustituye este valor por tu usuario de la base de datos MySQL que creaste anteriormente.
- mostest: sustituye este valor por la contraseña de tu base de datos MySQL que creaste anteriormente.
- localhost: mantén este valor tal y como está si has instalado Mattermost y MySQL en el mismo servidor. Si has instalado Mattermost y la base de datos MySQL en servidores diferentes, tendrás que sustituir este valor por la dirección IP del servidor donde has instalado MySQL.
- mattermost_test: sustituye este valor por el nombre de la base de datos que has creado anteriormente.
Una vez que hayas terminado, la línea DataSource debería tener este aspecto.
Por último, pulsa Ctrl+X y escribe Y, Enter para guardar los cambios. Esto te llevará de vuelta a tu shell.
Paso 6. Crear el servicio Systemd para Mattermost
En este paso, crearemos el servicio systemd de Mattermost.
Systemd es el gestor de sistemas y servicios de Linux. El servicio systemd de Mattermost nos permite iniciar, detener y reiniciar el servicio Mattermost. Y lo más importante, asegura que el servicio Mattermost se ejecute en todo momento en segundo plano.
En primer lugar, cambia el directorio al directorio /etc/systemd/system.
cd /etc/systemd/system
A continuación, ejecuta el siguiente comando para crear el archivo del servicio Mattermost en este directorio.
sudo nano mattermost.service
Se abrirá un editor de texto vacío con todos los privilegios de PATH.
Ahora, copia y pega la siguiente línea en el editor de texto.
[Unit] Description=Mattermost After=syslog.target network.target mysqld.service [Service] Type=notify WorkingDirectory=/opt/mattermost User=mattermost ExecStart=/opt/mattermost/bin/mattermost PIDFile=/var/spool/mattermost/pid/master.pid TimeoutStartSec=3600 LimitNOFILE=49152 [Install] WantedBy=multi-user.target
Haz que el archivo de servicio Mattermost sea ejecutable y vuelve a cargar el archivo de unidad ejecutando el siguiente comando.
sudo chmod 664 /etc/systemd/system/mattermost.service
sudo systemctl daemon-reload
En este momento, el servicio Mattermost está siendo monitorizado por systemd. Puedes iniciar, detener, activar y desactivar el servicio Mattermost mediante los siguientes comandos.
sudo systemctl start mattermost.service
sudo systemctl stop mattermost.service
sudo systemctl enable mattermost.service
sudo systemctl disable mattermost.service
Para comprobar si el servicio Mattermost está funcionando correctamente, ejecuta el siguiente comando.
sudo systemctl status mattermost.service
Esto es lo que deberías ver cuando el servicio Mattermost se está ejecutando correctamente.
Paso 7. Configurar el cortafuegos
En este paso, configuraremos el cortafuegos para Mattermost.
Un cortafuegos es un sistema de seguridad para denegar a los usuarios no autorizados el acceso a redes privadas a través de una interfaz con una red pública. Examina todo el tráfico que entra y sale de tu servidor. En este paso, permitiremos el acceso al servicio Mattermost en puertos de red específicos.
Mattermost escucha en el puerto número 8065 por defecto. Este es un puerto no estándar. Por lo tanto, tendremos que permitir el tráfico de entrada del puerto 8065 al servidor de Mattermost.
sudo firewall-cmd --zone=public --add-port=8065/tcp
Recarga el cortafuegos para reflejar las nuevas reglas utilizando el siguiente comando.
sudo firewall-cmd --reload
Para comprobar si la regla se ha añadido correctamente, utiliza el siguiente comando.
sudo firewall-cmd --zone=public --list-all
Paso 8. Acceder a la interfaz web de Mattermost
Ahora que todo está configurado correctamente, puedes acceder a la interfaz web de Mattermost abriendo un navegador web y escribiendo http://server_ip:8065 en la barra de direcciones.
Donde server_ip es la dirección IP real de tu servidor Mattermost.
Accederás a la siguiente página. Proporciona tu nombre de usuario, dirección de correo electrónico y contraseña, y haz clic en Crear cuenta.
Una vez realizada la autenticación, serás llevado al panel de control de Mattermost.
La instalación de Mattermost ya está completa.
Conclusión
En esta guía has aprendido a configurar un servidor Mattermost en un sistema Rocky Linux 8.4.
Si tienes preguntas, comentarios u opiniones, no dudes en hacérnoslo saber en la sección de comentarios de abajo.