Mattermost è una piattaforma di comunicazione aziendale open source progettata per la comunicazione interna di team e organizzazioni. Supporta chat di testo, condivisione di file, videochiamate e integrazione con vari servizi di terze parti. Mattermost può essere implementato sui propri server per un controllo e una sicurezza completi dei dati. È un'alternativa a soluzioni come Slack, con la possibilità di personalizzazione, automazione e integrazione con i processi DevOps.
Per prima cosa, è necessario collegarsi al server tramite SSH con l'utente root. Eseguite il seguente comando, sostituendo IP_Address con l'indirizzo IP del vostro server e Port_number con il numero della porta SSH:
ssh root@IP_Address -p Port_number
Per assicurarsi di avere installato la versione corretta di Ubuntu, eseguire il comando:
lsb_release -a
Risultato atteso:
Distributor ID: Ubuntu
Description: Ubuntu 24.04 LTS
Release: 24.04
Codename: noble
Aggiornare il sistema operativo:
apt update
apt upgrade
Ora creiamo un database PostgreSQL da utilizzare per il server Mattermost. Digitare il comando (questo comando installerà postgresql):
apt install postgresql
Accedere a PostgreSQL:
sudo -u postgres psql
Creare un database Mattermost:
CREATE DATABASE mattermost;
Creare l'utente mmuser (usare una password più sicura invece di mmuser-password
):
CREATE USER mmuser WITH PASSWORD 'mmuser-password';
Dare all'utente mmuser i permessi:
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;
Uscire da PostgreSQL
q
Apportare le modifiche al file pg_hba.conf per consentire al server Mattermost di accedere al database PostgreSQL.
Aprire il file:
nano /etc/postgresql/16/main/pg_hba.conf
Trovare le righe:
local all all peer
host all all 127.0.0.1/32 scram-sha-256
host all all ::1/128 scram-sha-256
Sostituire con:
local all all trust
host all all 127.0.0.1/32 trust
host all all ::1/128 trust
Salvare le modifiche, chiudere il file e aggiornare la configurazione di PostgreSQL:
systemctl reload postgresql
Verificare che sia possibile connettersi al database dall'utente mmuser:
psql --dbname=mattermost --username=mmuser --password
Inserire la password che abbiamo creato al posto di mmuser-password
Se abbiamo fatto tutto correttamente, apparirà la console di PostgreSQL.
Uscire:
q
Scaricare l'ultima versione di Mattermost server:
wget https://releases.mattermost.com/10.0.1/mattermost-10.0.1-linux-amd64.tar.gz
Decomprimere:
tar -xvzf mattermost*.gz
Trasferire nella directory /opt:
mv mattermost /opt
Per impostazione predefinita, il server Mattermost utilizza la directory /opt/mattermost/data
.
Creare:
mkdir /opt/mattermost/data
Creare ora un gruppo e un utente mattermost:
useradd --system --user-group mattermost
Concedere i permessi:
chown -R mattermost:mattermost /opt/mattermost
chmod -R g+w /opt/mattermost
Per gestire il server Mattermost, creiamo un servizio di sistema.
Aprire l'editor per creare un file di servizio:
nano /lib/systemd/system/mattermost.service
Il file aperto, vuoto, va riempito con i seguenti contenuti:
[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
Aggiornare la configurazione di systemd:
systemctl daemon-reload
Prima di far funzionare il server Mattermost, è necessario configurarlo.
Creare una copia di backup del file di configurazione:
cp /opt/mattermost/config/config.json /opt/mattermost/config/config.defaults.json
Aprire il file di configurazione del server Mattermost in un editor di testo:
nano /opt/mattermost/config/config.json
È necessario apportare le modifiche.
Trovare:
"DataSource": "postgres://mmuser:@localhost/mattermost_test?sslmode=disableu0026connect_timeout=10u0026binary_parameters=yes"
Sostituire con:
"DataSource to "postgres://mmuser: <mmuser-password>@<host-name-or-IP>:5432/<mattermost>?sslmode=disable&connect_timeout=10"
Dove.
<password-mmuser>
- password mmuser per PostgreSQL.
<nome-ospite-o-IP>
- Indirizzo IP del server o il suo nome host.
<mattermost>
- database PostgreSQL.
Salvare il file e uscire dall'editor.
Attivare il servizio da eseguire all'avvio del sistema e avviarlo ora:
systemctl enable --now mattermost
Utilizzare il comando per verificare lo stato del server:
systemctl status mattermost
Aprire l'<indirizzo IP del server o il suo nome host>
nel browser : 8065
Seguire le istruzioni della pagina che si apre.
Il server Mattermost è ora installato e funzionante sul server Ubuntu 24.04.