Installazione Mattermost · 15 min read · Jan 23, 2026

Installa Mattermost con PostgreSQL e Nginx su CentOS 7

Mattermost è un’alternativa open source e self-hosted a Slack. Mattermost è una comunicazione moderna dietro il tuo firewall.

Come alternativa ai messaggi SaaS proprietari, Mattermost riunisce tutta la comunicazione del tuo team in un unico posto, rendendola ricercabile e accessibile ovunque.

Mattermost è “compatibile con Slack, non limitato a Slack”, supportando un superset delle integrazioni webhook in entrata e in uscita di Slack, inclusa la compatibilità con le integrazioni Slack esistenti. Dalle tue squadre Slack esistenti, puoi importare utenti, cronologia dei canali pubblici e persino colori delle impostazioni del tema in Mattermost.

Nomi, variabili e account utilizzati in questo HowTo

IP locale del server                  : 192.168.2.100  
FQDN del server                      : mattermost.example.com  
Nome del database mattermost         : mattermost  
Utente per accedere al database mattermost : mmuser  
Password per mmuser nel database     : DBAss47slX3

Requisiti

Questo Howto spiega l’installazione di Mattermost su CentOS7 utilizzando PostgreSQL come backend del database. Ai fini di questa guida, presumeremo di installare tutto su un singolo server, ma per utenti esperti, sarebbe facile smontare i componenti e installare ciascun componente (ad es. il server database) su una macchina diversa. L’installazione è stata eseguita con l’utente root, ma puoi, ovviamente, utilizzare anche un utente abilitato sudo.

Presumiamo anche che il server abbia un indirizzo IP di 192.168.2.100 e che il DNS risolva in mattermost.example.com. Quindi, ovunque in questo HowTo dove leggi 192.168.2.100 o mattermost.example.com, sostituiscilo con l’indirizzo IP del tuo server.

Prima di poter iniziare, hai bisogno di un’installazione minima di CentOS7. Dopo l’installazione, assicurati di configurare correttamente l’email (configurazione di postfix), in modo che il tuo sistema sia in grado di inviare email (ad es. tramite un smart host o una soluzione simile).

Per favore, fai alcune piccole verifiche prima di continuare:

Prova a inviare una mail da un terminale sul tuo server:

[root@mattermost ~]echo -en "Subject: Testmail\n\nThis is a test\n" | sendmail [email protected]

(sostituisci [email protected] con un indirizzo email a cui il tuo server dovrebbe essere in grado di inviare). Assicurati di aver ricevuto un’email dal sistema!

Verifica la risoluzione del nome per mattermost.example.com

Da un computer diverso (non il server che stiamo cercando di configurare), prova a pingare mattermost.example.com. Dovresti ottenere un risultato positivo:

C:\>ping mattermost.example.com  
Pingando mattermost.witron.com [192.168.2.100] con 32 byte di dati:  
Risposta da 192.168.2.100: byte=32 time<1ms TTL=64  
Risposta da 192.168.2.100: byte=32 time<1ms TTL=64  
Risposta da 192.168.2.100: byte=32 time<1ms TTL=64  
Risposta da 192.168.2.100: byte=32 time<1ms TTL=64  
  
Statistiche ping per 192.168.2.100:  
Pacchetti: Inviati = 4, Ricevuti = 4, Persi = 0 (0% perdita),  
Tempi di andata e ritorno approssimativi in millisecondi:  
Minimo = 0ms, Massimo = 0ms, Medio = 0ms

Verifica la connettività a Internet

Ora installeremo il pacchetto wget (di cui avremo bisogno più tardi).

[root@mattermost ~] yum -y install wget

e usalo per determinare il nostro IP pubblico. Così possiamo controllare la nostra connettività a Internet.

[root@mattermost ~] wget http://ipinfo.io/ip -qO -  
46.101.122.124

Il risultato dovrebbe essere il tuo indirizzo IP pubblico.

Controlla lo stato del firewall e disabilitalo per ora

Per favore, controlla se la tua installazione di CentOS7 ha firewalld abilitato. Puoi verificarlo digitando

[root@mattermost ~] systemctl status firewalld

Se mostra qualcosa come

Attivo: attivo (in esecuzione) dal …

per favore spegnilo e disabilitalo con questi 2 comandi.

[root@mattermost ~] systemctl stop firewalld  
[root@mattermost ~] systemctl disable firewalld

Alla fine di questo tutorial, troverai istruzioni su come riabilitare firewalld e come configurarlo correttamente per funzionare con Mattermost.

Se superi tutti i controlli sopra o sai di avere un sistema utilizzabile per questo tutorial, puoi continuare ora.

Installa il server database PostgreSQL

Utilizzeremo PostgreSQL come backend del database per Mattermost. Installalo con il seguente comando:

[root@mattermost ~] yum -y install postgresql-server postgresql-contrib

Dopo l’installazione dobbiamo inizializzare il database.

[root@mattermost ~] postgresql-setup initdb  
Inizializzazione del database ... OK

Poi avvia PostgreSQL e abilitalo per l’avvio automatico.

[root@mattermost ~]# systemctl start postgresql  
[root@mattermost ~]# systemctl enable postgresql  
Creato symlink da /etc/systemd/system/multi-user.target.wants/postgresql.service a /usr/lib/systemd/system/postgresql.service.

Per favore verifica che PostgreSQL sia in esecuzione eseguendo.

[root@mattermost ~]# systemctl status postgresql

Dovrebbe riportare qualcosa di simile a questo (assicurati che ci sia Attivo: attivo (in esecuzione) da qualche parte nel testo).

? postgresql.service - Server database PostgreSQL  
Caricato: caricato (/usr/lib/systemd/system/postgresql.service; abilitato; preset del fornitore: disabilitato)  
Attivo: attivo (in esecuzione) dal ven 2016-03-04 11:37:50 CET; 44s fa  
PID principale: 17660 (postgres)  
CGroup: /system.slice/postgresql.service  
??17660 /usr/bin/postgres -D /var/lib/pgsql/data -p 5432  
??17661 postgres: processo logger  
??17663 postgres: processo di controllo  
??17664 postgres: processo scrittore  
??17665 postgres: processo scrittore wal  
??17666 postgres: processo di avvio autovacuum  
??17667 postgres: processo di raccolta statistiche  
  
Mar 04 11:37:48 mattermost systemd[1]: Avvio del server database PostgreSQL...  
Mar 04 11:37:50 mattermost systemd[1]: Server database PostgreSQL avviato.  
Mar 04 11:37:59 mattermost systemd[1]: Server database PostgreSQL avviato.

Crea il database mattermost e l’utente del database

PostgreSQL ha automaticamente creato un utente e un gruppo con il nome postgres. Utilizziamo l’utente postgres per connetterci al motore del database e configurare un database e un utente che possa accedervi.

Avvia un prompt come utente postgres:

[root@mattermost ~]# sudo -i -u postgres

Il tuo prompt cambierà ora in:

-bash-4.2$

Ora connettiamoci al server database.

-bash-4.2$ psql  
psql (9.2.15)  
Digita "help" per aiuto.  
postgres=#

All’interno del prompt di PostgreSQL ora creiamo un database con il nome ‘mattermost’.

postgres=# CREATE DATABASE mattermost;  
CREA DATABASE

Ora creiamo un utente ‘ mmuser ‘ con la password ‘ DBAss47slX3‘.

postgres=# **CREATE USER mmuser WITH PASSWORD '*DBAss47slX3*';  
CREA RUOLO

Concedi all’utente l’accesso al database Mattermost digitando:

postgres=# GRANT ALL PRIVILEGES ON DATABASE mattermost to mmuser;  
GRANT  
postgres=#

Possiamo quindi uscire dal prompt di PostgreSQL digitando:

postgres=# \q  
-bash-4.2$

E poi uscire dalla shell che abbiamo avviato come utente ‘ postgres ‘ con.

-bash-4.2$ exit  
logout  
[root@mattermost ~]#

Consenti l’accesso al database PostgreSQL da localhost tramite nome utente/password

In seguito, la nostra istanza di mattermost vorrà comunicare con il database PostgreSQL e autenticarsi con nome utente e password. Per consentirlo, dobbiamo modificare leggermente la configurazione di PostgreSQL. Apri il file:

vi /var/lib/pgsql/data/pg_hba.conf

con un editor come vi o nano e modifica la riga:

host    all             all             127.0.0.1/32            ident

in:

host    all             all             127.0.0.1/32            md5

Salva il file e poi riavvia PostgreSQL.

[root@mattermost ~]# systemctl restart postgresql

Dobbiamo verificare che abbiamo fatto correttamente collegandoci al server database con il nostro utente e password precedentemente creati (usa la tua password se hai usato una diversa sul tuo server):

[root@mattermost ~]# psql --host=127.0.0.1 --dbname=mattermost --username=mmuser --password  
Password per l'utente mmuser:  
psql (9.2.15)  
Digita "help" per aiuto.  
  
mattermost=> \q  
[root@mattermost ~]#

Il nostro server e database PostgreSQL sono ora pronti per Mattermost!

Scarica e estrai Mattermost

Scarichiamo una copia del server Mattermost direttamente dal loro repository Github (al momento della creazione di questo tutorial, la versione v2.0.0 era la versione attuale) utilizzando wget.

[root@mattermost ~]# cd  
[root@mattermost ~]# wget -q "https://github.com/mattermost/platform/releases/download/v2.0.0/mattermost.tar.gz" -O mattermost.tar.gz

Ora estraiamo l’archivio e mettiamo i file estratti nella loro posizione target (in questo caso utilizziamo /opt/mattermost).

[root@mattermost ~]# tar -xvzf mattermost.tar.gz  
[root@mattermost ~]# mv mattermost /opt

Installazione di Mattermost

Crea un utente che esegue il demone Mattermost

Eseguiremo Mattermost come un demone. Pertanto, configuriamo un nuovo utente sul nostro sistema con nome ‘ mattermost ‘. Eseguirà l’istanza di mattermost in seguito. Esegui il seguente comando per creare un utente e un gruppo di sistema ‘ mattermost ‘:

[root@mattermost ~]# useradd -r mattermost -U -s /sbin/nologin

Crea una cartella di archiviazione dati per Mattermost

Mattermost desidera memorizzare alcuni dei suoi dati, ad es. file caricati, ecc. in una cartella. Quindi dobbiamo creare quella cartella. Può essere ovunque sul disco rigido ma deve essere accessibile dall’utente ‘ mattermost ‘. Ho scelto di utilizzare ‘/opt/mattermost/data’. Crea la cartella con il seguente comando:

[root@mattermost ~]# mkdir -p /opt/mattermost/data

Imposta il proprietario della directory mattermost

Ora impostiamo il gruppo e il proprietario della directory mattermost sul nostro utente e gruppo precedentemente creati:

[root@mattermost ~]# chown -R mattermost:mattermost /opt/mattermost  
[root@mattermost ~]# chmod -R g+w /opt/mattermost**

Configura la connessione al database per mattermost

Per dire a Mattermost come dovrebbe connettersi al nostro database PostgreSQL, dobbiamo modificare il suo file di configurazione:

*/opt/mattermost/config/config.json*

Per favore trova la sezione ‘ SqlSettings ‘ e cambiala secondo le nostre esigenze:

PRIMA

"SqlSettings": {  
 "DriverName": "mysql",  
 "DataSource": "mmuser:mostest@tcp(dockerhost:3306)/mattermost_test?charset=utf8mb4,utf8",  
 "DataSourceReplicas": [],  
 "MaxIdleConns": 10,  
 "MaxOpenConns": 10,  
 "Trace": false,  
 "AtRestEncryptKey": "7rAh6iwQCkV4cA1Gsg3fgGOXJAQ43QVg"  
 },

DOPO

"SqlSettings": {  
 "DriverName": "postgres",  
 "DataSource": "postgres://mmuser:[email protected]:5432/mattermost?sslmode=disable&connect_timeout=10",  
 "DataSourceReplicas": [],  
 "MaxIdleConns": 10,  
 "MaxOpenConns": 10,  
 "Trace": false,  
 "AtRestEncryptKey": "7rAh6iwQCkV4cA1Gsg3fgGOXJAQ43QVg"  
 },

Puoi lasciare l’ AtRestEncryptKey così com’è!

Configura la connettività email per mattermost

Ancora una volta dobbiamo modificare il suo file di configurazione

*/opt/mattermost/config/config.json*

Trova la sezione ‘EmailSettings’ e cambiala secondo le nostre esigenze:

PRIMA

 "EmailSettings": {  
 "EnableSignUpWithEmail": true,  
 "EnableSignInWithEmail": true,  
 "EnableSignInWithUsername": false,  
 "SendEmailNotifications": false,  
 "RequireEmailVerification": false,  
 "FeedbackName": "",  
 "FeedbackEmail": "",  
 "SMTPUsername": "",  
 "SMTPPassword": "",  
 "SMTPServer": "",  
 "SMTPPort": "",  
 "ConnectionSecurity": "",  
 "InviteSalt": "bjlSR4QqkXFBr7TP4oDzlfZmcNuH9YoS",  
 "PasswordResetSalt": "vZ4DcKyVVRlKHHJpexcuXzojkE5PZ5eL",  
 "SendPushNotifications": false,  
 "PushNotificationServer":  
},  

DOPO

 "EmailSettings": {  
 "EnableSignUpWithEmail": true,  
 "EnableSignInWithEmail": true,  
 "EnableSignInWithUsername": false,  
 "SendEmailNotifications": false,  
 "RequireEmailVerification": false,  
 "FeedbackName": "",  
 "FeedbackEmail": "",  
 "SMTPUsername": "",  
 "SMTPPassword": "",  
 "SMTPServer": "127.0.0.1",  
 "SMTPPort": "25",  
 "ConnectionSecurity": "",  
 "InviteSalt": "bjlSR4QqkXFBr7TP4oDzlfZmcNuH9YoS",  
 "PasswordResetSalt": "vZ4DcKyVVRlKHHJpexcuXzojkE5PZ5eL",  
 "SendPushNotifications": false,  
 "PushNotificationServer": ""  
},

Utilizziamo 127.0.0.1 e la porta 25 perché utilizziamo la nostra installazione locale di postfix che è già configurata per essere in grado di inviare email all’esterno. Se la tua configurazione differisce qui, devi impostare i valori corretti!

Configura mattermost per ascoltare solo sull’interfaccia interna (127.0.0.1)

Per impostazione predefinita, l’istanza del server mattermost ascolterà su tutte le interfacce sulla porta 8065 (:8065). Poiché vogliamo mettere un server Nginx davanti a mattermost, cambiamo questo comportamento in modo che ascolti solo su localhost (127.0.0.1:8065).

Cambia semplicemente la riga

        "ListenAddress": ":8065",

in

        "ListenAddress": "127.0.0.1:8065",

nel file config.json.

Testa il server Mattermost

Possiamo ora testare se il nostro server mattermost si avvierebbe eseguendolo dalla riga di comando. Per favore assicurati di farlo come utente ‘mattermost’. Se accidentalmente lo hai fatto come ‘root’, devi ripristinare i permessi per la cartella mattermost di nuovo!

[root@mattermost ~]# su - mattermost -s /bin/bash  

Ultimo accesso: ven mar 4 12:47:52 CET 2016 su pts/0  
su: avviso: impossibile cambiare directory in /home/mattermost: Nessuna directory di questo tipo  
-bash-4.2$

Ora cambia nella directory di installazione di mattermost:

-bash-4.2$ cd /opt/mattermost/bin/

E avvia mattermost dalla riga di comando:

-bash-4.2$ ./platform

L’output dovrebbe apparire simile a questo:

[2016/03/04 13:00:10 CET] [INFO] Traduzioni di sistema caricate per 'en' da '/opt/mattermost/i18n/en.json'  
[2016/03/04 13:00:10 CET] [INFO] La versione attuale è 2.0.0 (5950/Sab Feb 13 15:42:01 UTC 2016/c71c5cef632c7dc68072167c6fe091a60835fa02)  
[2016/03/04 13:00:10 CET] [INFO] Enterprise Abilitato: false  
[2016/03/04 13:00:10 CET] [INFO] La directory di lavoro corrente è /opt/mattermost/bin  
[2016/03/04 13:00:10 CET] [INFO] File di configurazione caricato da /opt/mattermost/config/config.json  
[2016/03/04 13:00:10 CET] [INFO] Inizializzazione del server...  
[2016/03/04 13:00:10 CET] [INFO] Ping del database master sql  
[2016/03/04 13:00:10 CET] [INFO] Ping del database replica-0 sql  
[2016/03/04 13:00:10 CET] [DEBG] Eliminazione di eventuali funzionalità pre-release non utilizzate  
[2016/03/04 13:00:10 CET] [INFO] Lo schema del database è stato impostato sulla versione 2.0.0  
[2016/03/04 13:00:10 CET] [DEBG] Inizializzazione delle rotte api utente  
[2016/03/04 13:00:10 CET] [DEBG] Inizializzazione delle rotte api team  
[2016/03/04 13:00:10 CET] [DEBG] Inizializzazione delle rotte api canale  
[2016/03/04 13:00:10 CET] [DEBG] Inizializzazione delle rotte api post  
[2016/03/04 13:00:10 CET] [DEBG] Inizializzazione delle rotte api websocket  
[2016/03/04 13:00:10 CET] [DEBG] Inizializzazione delle rotte api file  
[2016/03/04 13:00:10 CET] [DEBG] Inizializzazione delle rotte api comando  
[2016/03/04 13:00:10 CET] [DEBG] Inizializzazione delle rotte api admin  
[2016/03/04 13:00:10 CET] [DEBG] Inizializzazione delle rotte api oauth  
[2016/03/04 13:00:10 CET] [DEBG] Inizializzazione delle rotte api webhook  
[2016/03/04 13:00:10 CET] [DEBG] Inizializzazione delle rotte api preferenze  
[2016/03/04 13:00:10 CET] [DEBG] Inizializzazione delle rotte api licenza  
[2016/03/04 13:00:10 CET] [DEBG] Parsing dei template del server in /opt/mattermost/api/templates/  
[2016/03/04 13:00:10 CET] [DEBG] Inizializzazione delle rotte web  
[2016/03/04 13:00:10 CET] [DEBG] Utilizzo della directory statica in /opt/mattermost/web/static/  
[2016/03/04 13:00:10 CET] [DEBG] Parsing dei template in /opt/mattermost/web/templates/  
[2016/03/04 13:00:10 CET] [INFO] Avvio del Server...  
[2016/03/04 13:00:10 CET] [INFO] Il server sta ascoltando su 127.0.0.1:8065  
[2016/03/04 13:00:10 CET] [INFO] RateLimiter è abilitato  
[2016/03/04 13:00:10 CET] [DEBG] Controllo degli aggiornamenti di sicurezza da Mattermost  
[2016/03/04 13:00:10 CET] [EROR] Impossibile ottenere informazioni sugli aggiornamenti di sicurezza da Mattermost.

Ferma il server mattermost con Ctrl+C

e poi esci dalla shell che abbiamo avviato come utente ‘mattermost’ con:

-bash-4.2$ exit  
logout  
[root@mattermost ~]#

Se la tua istanza di mattermost non si avvia, leggi attentamente l’output. Ho avuto molti problemi perché ho dimenticato una semplice virgola in config.json. Assicurati anche di non utilizzare caratteri speciali nella password del tuo dbuser, in particolare nessun segno ‘ @ ‘. Questo mi ha fatto impazzire all’inizio!

Se hai accidentalmente eseguito il comando sopra come ‘ root ‘ e questo potrebbe anche funzionare, devi ripristinare i permessi per la cartella mattermost. Usa questo comando se hai commesso questo errore:

[root@mattermost ~]# chown -R mattermost:mattermost /opt/mattermost

Se tutto è andato bene, possiamo ora continuare.

Configura Mattermost come un demone

Per configurare Mattermost come un demone, crea un file

*/etc/systemd/system/mattermost.service*

con il seguente contenuto:

[Unit]  
Description=Mattermost  
After=syslog.target network.target  
  
[Service]  
Type=simple  
WorkingDirectory=/opt/mattermost/bin  
User=mattermost  
ExecStart=/opt/mattermost/bin/platform  
PIDFile=/var/spool/mattermost/pid/master.pid  
  
[Install]  
WantedBy=multi-user.target

Poi ricarica i file del demone con:

[root@mattermost ~]# systemctl daemon-reload

Ora possiamo avviare/arrestare/abilitare/disabilitare questo servizio come siamo abituati a fare.

Quindi avviamo Mattermost, otteniamo il suo stato e poi abilitiamolo come servizio (avvio automatico).

Avvia il demone mattermost

[root@mattermost ~]# systemctl start mattermost.service

Verifica lo stato di mattermost

[root@mattermost ~]# systemctl status mattermost.service  
? mattermost.service - Mattermost  
Caricato: caricato (/etc/systemd/system/mattermost.service; disabilitato; preset del fornitore: disabilitato)  
 Attivo: attivo (in esecuzione) dal ven 2016-03-04 14:03:40 CET; 4s fa  
PID principale: 18573 (platform)  
CGroup: /system.slice/mattermost.service  
??18573 /opt/mattermost/bin/platform  
...
...

Assicurati che sia attivo (in esecuzione)!

Abilita il demone per l’avvio automatico

[root@mattermost ~]# systemctl enable mattermost.service  
Creato symlink da /etc/systemd/system/multi-user.target.wants/mattermost.service a /etc/systemd/system/mattermost.service.

Ora, solo per essere sicuri, facciamo un test se Mattermost sta ascoltando su 127.0.0.1:8065 eseguendo il seguente comando:

[root@mattermost config]# curl -s "http://127.0.0.1:8065" | grep -b "2015 Mattermost"

Dovremmo ottenere una singola riga che contiene ‘2015 Mattermost’.

11343:        © 2015 Mattermost, Inc.

Se sì, possiamo essere certi che l’istanza del server Mattermost è in esecuzione e possiamo continuare.

Correggi i problemi di autorizzazione relativi a SELinux

Su CentOS7 SELinux è abilitato per impostazione predefinita. Potremmo disabilitarlo completamente, ma è meglio riconfigurarlo e consentire al nostro server Mattermost di eseguire.

Basta inserire i seguenti 2 comandi per correggere i permessi di SELinux:

[root@mattermost config]# chcon -Rt httpd_sys_content_t /opt/mattermost/  
[root@mattermost config]# setsebool -P httpd_can_network_connect 1

Configura il server Nginx

Metteremo un server Nginx davanti alla nostra istanza del server Mattermost.

I principali vantaggi sono:

  • Mappatura delle porte :80 a :8065
  • Log delle richieste standard
  • più opzioni quando si passa successivamente a SSL

Abilita il repository epel

Nginx non è nei repository predefiniti di CentOS. Quindi dobbiamo prima abilitare il repository epel. Questo è un compito facile, basta inserire:

[root@mattermost config]# yum -y install epel-release && yum update

Installa nginx

Dopo aver abilitato l’epel-release, possiamo semplicemente installare nginx con il seguente comando:

[root@mattermost config]# yum -y install nginx

Questo installerà nginx e tutte le sue dipendenze.

Configura nginx

Ci sono molti modi per configurare Nginx. Questo tutorial mostrerà solo come creare una configurazione molto semplice per Nginx che ospita semplicemente il nostro server Mattermost sulla porta 80.

Cambia il file di configurazione predefinito di Nginx

Crea un backup dell’attuale nginx.conf eseguendo:

[root@mattermost config]# cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak

Poi sostituisci /etc/nginx/nginx.conf con questo contenuto:

# Per ulteriori informazioni sulla configurazione, vedere:  
# * Documentazione ufficiale in inglese: http://nginx.org/en/docs/  
# * Documentazione ufficiale in russo: http://nginx.org/ru/docs/  
  
user nginx;  
worker_processes auto;  
error_log /var/log/nginx/error.log;  
pid /run/nginx.pid;  
  
events {  
 worker_connections 1024;  
}  
  
http {  
 log_format main '$remote_addr - $remote_user [$time_local] "$request" '  
 '$status $body_bytes_sent "$http_referer" '  
 "$http_user_agent" "$http_x_forwarded_for"';  
  
 access_log /var/log/nginx/access.log main;  
  
 sendfile on;  
 tcp_nopush on;  
 tcp_nodelay on;  
 keepalive_timeout 65;  
 types_hash_max_size 2048;  
  
 include /etc/nginx/mime.types;  
 default_type application/octet-stream;  
  
 # Carica i file di configurazione modulari dalla directory /etc/nginx/conf.d.  
 # Vedi http://nginx.org/en/docs/ngx_core_module.html#include  
 # per ulteriori informazioni.  
 include /etc/nginx/conf.d/*.conf;  
  
 server {  
 server_name mattermost.example.com;  
 location / {  
 client_max_body_size 50M;  
 proxy_set_header Upgrade $http_upgrade;  
 proxy_set_header Connection "upgrade";  
 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_pass http://127.0.0.1:8065;  
 }  
 }  
}

Per favore assicurati di utilizzare il nome host corretto come indicato in precedenza in questo documento.

Per verificare che non abbiamo errori di sintassi nei nostri file di configurazione, esegui il seguente comando per controllare la sintassi:

[root@mattermost config]# nginx -t  
nginx: il file di configurazione /etc/nginx/nginx.conf la sintassi è ok  
nginx: file di configurazione /etc/nginx/nginx.conf il test è riuscito

Avvia e abilita Nginx come demone

Avvia Nginx

[root@mattermost config]# systemctl start nginx

Controlla lo stato

[root@mattermost config]# systemctl status nginx

Assicurati che restituisca almeno una riga che mostra:

...  
Attivo: attivo (in esecuzione)...  
...

Abilita come demone

[root@mattermost config]# systemctl enable nginx  
Creato symlink da /etc/systemd/system/multi-user.target.wants/nginx.service a /usr/lib/systemd/system/nginx.service.

Se tutto è andato bene, ora dovresti avere un’installazione funzionante di Mattermost in esecuzione dietro Nginx. Verificalo aprendo il seguente URL nel tuo browser:

http://mattermost.example.com

La schermata di accesso di Mattermost dovrebbe apparire!

Schermata di accesso di Mattermost

Ora puoi continuare a configurare la tua installazione di Mattermost inserendo il tuo indirizzo email e creando un account.

Firewalld

In precedenza in questo tutorial, abbiamo disabilitato firewalld. Se desideri riabilitarlo ma mantenere aperta la porta 80 (che attualmente utilizziamo per Mattermost tramite Nginx), basta fare quanto segue:

Avvia e riabilita Firewalld

[root@mattermost config]# systemctl start firewalld  
[root@mattermost config]# systemctl enable firewalld  
Creato symlink da /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service a /usr/lib/systemd/system/firewalld.service.  
Creato symlink da /etc/systemd/system/basic.target.wants/firewalld.service a /usr/lib/systemd/system/firewalld.service.

Apri la porta 80 nel Firewall

[root@mattermost config]# firewall-cmd --zone=public --add-port=80/tcp --permanent  
success  
[root@mattermost config]# firewall-cmd --reload  
success

Ora la tua installazione di Mattermost dovrebbe essere accessibile, anche se Firewalld è in esecuzione!

Riepilogo

Spero che tu abbia trovato utile questo tutorial e che abbia funzionato. In un ambiente di produzione, dovresti creare/utilizzare certificati per il tuo sito web Mattermost e abilitare https tramite Nginx. Questo può essere facilmente realizzato modificando leggermente questo Howto.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.