Mattermost es una plataforma de comunicación empresarial de código abierto diseñada para la comunicación interna de equipos y organizaciones. Admite chats de texto, intercambio de archivos, videollamadas e integración con diversos servicios de terceros. Mattermost puede desplegarse en sus propios servidores para un control y seguridad completos de los datos. Es una alternativa a soluciones como Slack, con capacidad de personalización, automatización e integración con procesos DevOps.
Requisitos
- Servidor virtual (VPS) con Ubuntu 24.04 instalado.
- Privilegios de root o una cuenta con sudo.
- (Opcional) Recomendamos encarecidamente utilizar un servidor proxy antes de Mattermost para soportar hasta 200 usuarios concurrentes. Si tiene menos de 200 usuarios simultáneos, puede configurar TLS. Si tiene más de 200 usuarios simultáneos, necesitará un servidor proxy como NGINX delante de Mattermost para gestionar el tráfico.
Paso 1: Conéctese al servidor mediante SSH.
En primer lugar, debe conectarse a su servidor a través de SSH con el usuario root. Ejecute el siguiente comando, sustituyendo IP_Address por la dirección IP de su servidor y Port_number por el número de puerto SSH:
ssh root@IP_Address -p Port_number
Para asegurarte de que tienes instalada la versión correcta de Ubuntu, ejecuta el comando:
lsb_release -a
Resultado esperado:
Distributor ID: Ubuntu
Description: Ubuntu 24.04 LTS
Release: 24.04
Codename: noble
Paso 2: Instalar y configurar la base de datos.
Actualice el sistema operativo:
apt update
apt upgrade
Ahora vamos a crear una base de datos PostgreSQL para uso del servidor Mattermost. Escriba el comando (este comando instalará postgresql):
apt install postgresql
Inicie sesión en PostgreSQL:
sudo -u postgres psql
Crear una base de datos Mattermost:
CREATE DATABASE mattermost;
Cree el usuario mmuser (utilice una contraseña más segura en lugar de mmuser-password ):
CREATE USER mmuser WITH PASSWORD 'mmuser-password';
Dar permisos al usuario mmuser:
GRANT ALL PRIVILEGES ON DATABASE mattermost to mmuser;
GRANT ALL ON DATABASE mattermost TO mmuser;
ALTER DATABASE mattermost OWNER TO mmuser;
GRANT USAGE, CREATE ON SCHEMA PUBLIC TO mmuser;
Salir de PostgreSQL
q
Realice cambios en el archivo pg_hba.conf que da acceso al servidor Mattermost a la base de datos PostgreSQL.
Abra el archivo:
nano /etc/postgresql/16/main/pg_hba.conf
Busque las líneas:
local all all peer
host all all 127.0.0.1/32 scram-sha-256
host all all ::1/128 scram-sha-256
Sustitúyalas por:
local all all trust
host all all 127.0.0.1/32 trust
host all all ::1/128 trust
Guarde los cambios, cierre el archivo y actualice la configuración de PostgreSQL:
systemctl reload postgresql
Comprueba que podemos conectarnos a la base de datos desde el usuario mmuser:
psql --dbname=mattermost --username=mmuser --password
Introducir la contraseña que hemos creado en lugar de mmuser-password
Si lo hemos hecho todo correctamente nos aparecerá la consola de PostgreSQL.
Salir:
q
Paso 3: Descargar e instalar el servidor Mattermost.
Descarga la última versión del servidor Mattermost:
wget https://releases.mattermost.com/10.0.1/mattermost-10.0.1-linux-amd64.tar.gz
Descomprimir:
tar -xvzf mattermost*.gz
Transferir al directorio /opt:
mv mattermost /opt
Por defecto, el servidor Mattermost utiliza el directorio /opt/mattermost/data
Créalo:
mkdir /opt/mattermost/data
Ahora crea un grupo y un usuario mattermost:
useradd --system --user-group mattermost
Conceda permisos:
chown -R mattermost:mattermost /opt/mattermost
chmod -R g+w /opt/mattermost
Paso 4: Crear un servicio de sistema.
Para gestionar el servidor Mattermost, vamos a crear un servicio de sistema.
Abra el editor para crear un archivo de servicio:
nano /lib/systemd/system/mattermost.service
El archivo abierto, vacío - llenarlo con el siguiente contenido:
[Unit]
Description=Mattermost
After=network.target
After=postgresql.service
BindsTo=postgresql.service
[Service]
Type=notify
ExecStart=/opt/mattermost/bin/mattermost
TimeoutStartSec=3600
KillMode=mixed
Restart=always
RestartSec=10
WorkingDirectory=/opt/mattermost
User=mattermost
Group=mattermost
LimitNOFILE=49152
[Install]
WantedBy=multi-user.target
Actualizar la configuración systemd:
systemctl daemon-reload
Antes de ejecutar el servidor Mattermost, debe configurarlo.
Cree una copia de seguridad del archivo de configuración:
cp /opt/mattermost/config/config.json /opt/mattermost/config/config.defaults.json
Abra el archivo de configuración del servidor Mattermost en un editor de texto:
nano /opt/mattermost/config/config.json
Tenemos que hacer los cambios.
Buscar:
"DataSource": "postgres://mmuser:@localhost/mattermost_test?sslmode=disableu0026connect_timeout=10u0026binary_parameters=yes"
Sustituir por:
"DataSource to "postgres://mmuser: <mmuser-password>@<host-name-or-IP>:5432/<mattermost>?sslmode=disable&connect_timeout=10"
Donde.
<mmuser-password> - mmuser contraseña para PostgreSQL.
<host-name-or-IP> - Dirección IP del servidor o su nombre de host.
<mattermost> - Base de datos PostgreSQL.
Guarde el archivo y salga del editor.
Active el servicio para que se ejecute al inicio del sistema e inícielo ahora:
systemctl enable --now mattermost
Utilice el comando para comprobar el estado del servidor:
systemctl status mattermost
Paso 5: Conéctese al servidor Mattermost.
Abra la <dirección IP de su servidor o su nombre de host> en su navegador : 8065
Siga las instrucciones de la página que se abre.
Conclusión
El servidor Mattermost ya está instalado y funcionando en su servidor Ubuntu 24.04.


