Introduzione
Mattermost è una chat online self-hosted e open source. È sviluppato come conversazione privata per organizzazioni e aziende.
È uno strumento con funzionalità come Slack e Microsoft Teams. E Mattermost viene spesso installato con il server di database PostgreSQL.
Di seguito è riportata la guida su come distribuire Mattermost su Ubuntu 20.04 come vedremo di seguito.
Fase 1 – Aggiorna il sistema
Esegui il comando apt:
$ sudo apt update
Quindi esegui il comando:
$ sudo apt upgrade
Produzione:
Infine, imposta il nome host del server corretto:
$ sudo hostnamectl set-hostname NEW_HOSTNAME --static
Qui, impostiamo un nome host chiamato "chat.ubuntu ”
$ sudo hostnamectl set-hostname chat.ubuntu --static
Passaggio 2:installazione del server di database PostgreSQL
Esegui il comando apt per installare:
$ sudo apt install postgresql postgresql-contrib
Uscita:

Quindi accedi all'account postgres:
$ sudo --login --user postgres

Avvia PostgeSQL sul terminale e crea il database/utente Mattermost. Qui l'ho chiamato "linuxer " con la password "[email protetta] ”
psql
CREATE DATABASE mattermost;
CREATE USER linuxer WITH PASSWORD '[email protected]';
GRANT ALL PRIVILEGES ON DATABASE mattermost to linuxer;
\q

Fase 3:crea un utente e un gruppo di sistema Mattermost
Creeremo un utente di sistema e un gruppo denominato "mattermost ”:
$ sudo useradd --system --user-group mattermost
Puoi confermare con il comando:
$ id mattermost
Uscita:

Fase 4 – Installa Mattermost
Innanzitutto, devi creare una cartella denominata "mattermost ”
$ mkdir mattermost
Quindi vai ad esso:
$ cd mattermost
Esegui il comando wget per scaricare Mattermost:
$ wget https://releases.mattermost.com/5.38.1/mattermost-5.38.1-linux-amd64.tar.gz
Uscita:

Estrarre il pacchetto:
$ tar -xvzf mattermost*.gz
Copia il file estratto nella directory /otp:
$ sudo cp -r mattermost /opt
Crea una cartella in cui Mattermost contenga i dati dell'utente:
$ sudo mkdir /opt/mattermost/data
Imposta proprietà e autorizzazioni corrette:
$ sudo chown -R mattermost:mattermost /opt/mattermost
Infine, concediamo il permesso di scrittura alla directory /opt/mattermost:
$ sudo chmod -R g+w /opt/mattermost
Passaggio 5 – Configura il server Mattermost
Impostazione di configurazione nel file /opt/mattermost/config/config.json
$ sudo nano /opt/mattermost/config/config.json
Quindi configura le impostazioni del database PostgreSQL:
Dopo aver aperto l'editor di testo, premi Ctrl + W e cerca "DriverName " 
Cambia la linea nella parte rossa:
"postgres://matteruser:[email protected]:5432/mattermost?sslmode=disable&connect_timeout=10",

Salvalo.
Passaggio 6:configurazione del servizio Systemd
Crea il sistema più importante:
$ sudo vim /etc/systemd/system/mattermost.service
Digita le righe seguenti:
[Unit] Description=Mattermost After=network.target After=postgresql.service Requires=postgresql.service [Service] Type=notify ExecStart=/opt/mattermost/bin/mattermost TimeoutStartSec=3600 Restart=always RestartSec=10 WorkingDirectory=/opt/mattermost User=mattermost Group=mattermost LimitNOFILE=49152 [Install] WantedBy=multi-user.target

Premi ESC + :wq per salvare.
Carica la nuova unità in systemd:
$ sudo systemctl daemon-reload
Conferma lo stato di esecuzione del servizio:
$ systemctl status mattermost.service
Produzione:
Abilita il servizio più importante:
$ sudo systemctl enable mattermost.service
Passaggio 7 – Installa Nginx
$ sudo apt -y install nginx

Devi digitare il tuo dominio nel file di configurazione Mattermost:
$ sudo nano /opt/mattermost/config/config.json

Salvalo.
Apri l'editor di testo per configurare l'accesso al tuo dominio:
$ sudo nano /etc/nginx/sites-available/mattermost.conf
Aggiungi le righe seguenti:
upstream backend {
server localhost: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 your domain;
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;
}
}

Salvalo.
Per far funzionare questa configurazione del sito, devi creare un softlink nella cartella /etc/nginx/sites-enabled:
$ sudo ln -s /etc/nginx/sites-available/mattermost.conf /etc/nginx/sites-enabled/mattermost.conf
Esegui questo comando per verificare la validità della configurazione:
$ sudo nginx -t
Produzione:
Riavvia Nginx:
$ sudo systemctl restart nginx
Quindi avvia il servizio più importante:
$ sudo systemctl start mattermost
Puoi provare ad accedere al tuo dominio.
Conclusione
Hai già esaminato i dettagli su come distribuire Mattermost su Ubuntu 20.04. Grazie per la lettura.