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.
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
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
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
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
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.
El servidor Mattermost ya está instalado y funcionando en su servidor Ubuntu 24.04.