Mattermost es un servicio de mensajería instantánea de código abierto. Viene en versiones gratuitas y de pago. Se puede operar en la nube o en las instalaciones como una aplicación web. Aquí aprendemos cómo instalar y configurar Mattermost en Rocky Linux.
Mattermost permite la comunicación entre individuos y grupos. La comunicación puede tener lugar como chat, videollamada o llamada telefónica normal. El intercambio de datos y enlaces también es posible. Mattermost puede verse como un competidor directo de MS Teams o Slack en este sentido. Si usted es usuario de la nube como AWS, Google, Azure y otros, las imágenes de código abierto preconstruidas están disponibles para instalar e implementar Mattermost en la nube lo más rápido posible. Después de la instalación, se puede acceder a su interfaz web mediante el navegador o las aplicaciones móviles y de escritorio en Windows, Linux y Mac, iOS y Android.
Bajo el nombre Omnibus, el paquete lanzado Mattermost, una pila completa del sistema de mensajería gratuito, se puede instalar con solo unos pocos comandos. Además del propio Mattermost, el administrador puede configurar PostgreSQL como base de datos, Nginx como servidor web proxy y Certbot para emitir y renovar certificados SSL en muy poco tiempo. Sin embargo, Ómnibus es solo para Debian basado en el sistema y no funcionará en RHEL o sus derivados, por lo tanto, debemos configurar Mattermost en Rocky Linux paso a paso.
Pasos para instalar Mattermost en Rocky Linux 8
1. Ejecutar actualización del sistema
Primero, actualice los paquetes existentes disponibles en su Rocky Linux para asegurarse de que todo estará en su estado más reciente.
sudo dnf update
2. Instale el servidor MySQL en Rocky Linux
Si ya tiene un servidor instalado con la base de datos MySQL, puede omitir este paso. De lo contrario, utilice el siguiente comando para instalar el servidor MySQL en Rocky Linux para almacenar los datos que generará Mattermost.
sudo dnf install mysql-server
Una vez completada la instalación, asegúrese de que el servicio MySQL esté habilitado y ejecutándose...
sudo systemctl enable --now mysqld sudo systemctl start mysqld
Comprobar el estado-
sudo systemctl status mysqld
Asegure la instalación de su servidor de base de datos.
sudo mysql_secure_installation
Mientras ejecutamos el comando anterior, nos pedirá que configuremos una contraseña para Mysql y eliminemos otras cosas que hacen que la base de datos sea vulnerable.
3. Crear base de datos para Mattermost
Ahora, iniciemos sesión en nuestro servidor MySQL y creemos una base de datos para usar más tarde con la instalación de Mattermost.
Para iniciar sesión como usuario raíz, escriba-
mysql -u root -p
Crear base de datos:
Reemplazar h2sdb con el nombre que le quieras dar a tu base de datos.
CREATE DATABASE h2sdb;
Luego, cree un usuario de la base de datos.
Aquí h2suser el nombre de usuario y contraseña es la contraseña que usamos para ello. Puede cambiar estos valores...
CREATE USER 'h2suser'@'localhost' IDENTIFIED BY 'pass';
Asignar todos los derechos de la base de datos al usuario creado.
grant all privileges on h2sdb.* to h2suser@localhost;
Vuelva a cargar las tablas de concesión y salga-
flush privileges; exit;
4. Instale el servidor Mattermost en Rocky Linux 8
Ahora, descarguemos la última versión del servidor Mattermost para instalar. Para ello, vaya al sitio web oficial descargue la página y copie la última URL de descarga del archivo tar y utilícela con wget
comando en su terminal Rocky Linux para obtenerlo. Mientras escribía este artículo, la última versión disponible era 5.34.2, si es lo mismo en su caso, también puede usar el siguiente comando.
sudo dnf instal wget -y
wget https://releases.mattermost.com/5.34.2/mattermost-5.34.2-linux-amd64.tar.gz
Extraer y mueva el archivo descargado a /opt directorio. Para que no lo eliminemos accidentalmente.
tar -xf mattermost-*-linux-amd64.tar.gz
sudo mv mattermost /opt
Crear directorio de datos en la carpeta copiada para almacenar datos-
sudo mkdir /opt/mattermost/data
5. Crear usuario y Grupo
Por razones de seguridad, crearemos un usuario y un grupo separados para Mattermost en Rocky Linux. Tendrá derecho a gestionar y acceder a los servicios de Mattermost.
Agregar usuario y grupo llamados mattermost –
sudo useradd --system --user-group mattermost
Proporcione al usuario recién creado un derecho a administrar la carpeta copiada en /opt directorio.
sudo chown -R mattermost:mattermost /opt/mattermost
Establecer permisos de lectura y escritura.
sudo chmod -R g+w /opt/mattermost
6. Configurar el controlador de la base de datos y la fuente de datos en
Edite el archivo de configuración y cambie dos cosas:el nombre del controlador de la base de datos y la fuente de datos:
sudo dnf install nano -y
sudo nano /opt/mattermost/config/config.json
Controlador de base de datos:
Use las teclas de flecha del teclado y desplácese hacia abajo hasta que encuentre los valores de DriverName en la configuración de SQL. De forma predeterminada, se configurará para PostgreSQL y, si está utilizando MySQL, cámbielo a mysql
.
Establezca "Nombre del controlador ” :”mysql ”
A continuación, justo debajo, encontrará la fuente de datos línea que es-"postgres://mmuser:<mmuser-password>@<host-name-or-IP>:5432/mattermost?sslmode=disable&connect_timeout=10".
Cambiar eso con el de abajo y también reemplace el negrita texto
"mmuser:<mmuser-password>@tcp(<host-name-or-IP>:3306)/mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s"
Reemplazar –
mmuser
– Con su usuario de base de datos MySQL
mmuser-password-
Reemplace con la contraseña de la base de datos
<host-name-or-IP>
– Escriba su dirección IP del servidor de base de datos . Si está utilizando el mismo servidor para la base de datos Mattermost y MySQL, luego reemplácela con localhost
o 127.0.0.1
mattermost
– Bórralo escribe el nombre de tu base de datos.
Ejemplo – Si usa nuestro valor de base de datos MySQL, esta línea de fuente de datos será así
"h2suser:pass@tcp(127.0.0.1:3306)/h2sdb?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s"
Guarde y cierre el archivo presionando Ctrl+X , escriba y, y pulsa Intro Clave.
Prueba que todo funciona bien
Cambie al directorio de mattermost e inicie su servidor-
cd /opt/mattermost sudo -u mattermost ./bin/mattermost
Verá un texto donde el servidor está escuchando en el puerto 8065 que muestra que está funcionando y que el archivo de configuración es válido. Para detenerlo, presione Ctrl+C.
7. Cree un archivo de servicio de sistemas Mattermost en Rocky Linux
Para ejecutar el servicio de esta plataforma de mensajería gratuita en segundo plano que se puede detener o comenzar a usar el comando systemctl, creemos un archivo de configuración para el mismo.
sudo nano /etc/systemd/system/mattermost.service
Copie el código que se indica a continuación.
[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
Guarde el archivo presionando ctrl+x luego escriba- Y y pulsa Intro Clave.
Hacer el archivo ejecutable-
sudo chmod 664 /etc/systemd/system/mattermost.service
Vuelva a cargar los servicios systemd-
sudo systemctl daemon-reload
8. Habilitar e Iniciar su Servicio
Ahora, habilite el archivo de servicio creado anteriormente para que se ejecute con el arranque del sistema y también inicie el mismo.
sudo systemctl enable mattermost.service
Empieza-
sudo systemctl start mattermost.service
Comprobar estado-
sudo systemctl status mattermost.service
Para salir- Ctrl+C
9. Acceda a la interfaz web de Mattermost
Si desea acceder a este servidor de chat utilizando la dirección IP, primero abra el número de puerto 8065 en tu Rocky Linux
sudo firewall-cmd --zone=public --add-port=8065/tcp
Ahora, abre tu navegador web y apúntelo a la dirección IP del servidor donde instaló Mattermost. Por ejemplo, si la dirección IP de su servidor es 192.168.0.108, la URL será así:
192.168.0.108:8065
Encontrarás esto-
Ingrese su dirección de correo electrónico y otras cosas para crear una cuenta.
10:Usar dominio completo y puerto 80/443
Hay dos formas de usar FQDn, sin embargo, ambas requieren primero el mapeo del dominio con la dirección IP del servidor usando el servidor DNS.
Primer método:
Si desea utilizar el FQDn estándar en lugar de la dirección IP para acceder al servidor, primero dirija el dominio a la dirección IP del servicio de Mattermost y luego vaya a Consola del sistema. y seleccione servidor web .
Allí ingrese el dominio del sitio web o la URL que debe apuntar a su servidor. Y si no quiere usar el número de puerto 8065 con el dominio, reemplácelo con 80 o 445.
Una vez configurado, pruebe la URL en vivo. Si funciona bien, puede usar la opción Let's Encrypt que se proporciona allí para obtener el certificado SSL gratuito.
Segundo método
Uso del proxy inverso de Nginx
Aunque podemos apuntar directamente el nombre de dominio a la dirección IP de su servidor para acceder a Mattermost usando un dominio completamente calificado, sin embargo, para mejorar la seguridad, instalemos Nginx como un proxy inverso.
sudo dnf install epel-release sudo dnf install nginx
Habilitar y comenzar
sudo systemctl enable --now nginx sudo systemctl start nginx
Crear archivo de configuración
sudo nano /etc/nginx/conf.d/mattermost.conf
Pegue el siguiente código y reemplace mattermost.how2shout.com con el nombre de dominio que desea utilizar…
upstream backend { server 127.0.0.1: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.how2shout.com; 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 60; send_timeout 300; lingering_timeout 5; proxy_connect_timeout 90; proxy_send_timeout 300; proxy_read_timeout 90s; proxy_pass http://backend; } 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://backend; } }
Guarda el archivo- Ctrl+X , presione Y, y pulsa Intro clave.
Compruebe que el archivo de configuración funciona sin ningún error-
sudo nginx -t
Reiniciar servidor Nginx
sudo systemctl restart nginx
Abrir los puertos 80 y 443 en el firewall del servidor
sudo firewall-cmd --add-service={http,https} --permanent sudo firewall-cmd --reload
Ahora, si ha apuntado su dominio a la dirección IP del servidor, podrá acceder a él en el navegador. Sin embargo, habrá un error de certificado SSL. Por lo tanto, para eliminar eso, instale uno usando Let's Encrypt.
Para obtener más información, consulte la documentación oficial de Mattermost.