In questo articolo, ti mostreremo come installare Mattermost su un VPS Ubuntu 14.04 con PostgreSQL e Nginx. Mattermost è un'alternativa Slack open-source e on-premise scritta in Golang e React. Questa guida dovrebbe funzionare anche su altri sistemi VPS Linux, ma è stata testata e scritta per un VPS Ubuntu 14.04.
Accedi al tuo VPS tramite SSH
ssh user@vps
Aggiorna il sistema e installa i pacchetti necessari
[user]$ sudo apt-get update && sudo apt-get -y upgrade
[user]$ sudo apt-get install software-properties-common wget
Crea un nuovo utente
Per creare un nuovo utente di sistema chiamato mmuser, esegui i seguenti comandi:
[user]$ sudo adduser --home /opt/mmuser --shell /bin/bash --gecos 'Mattermost application' mmuser
[user]$ sudo install -d -m 755 -o mmuser -g mmuser /opt/mmuser
Installa PostgreSQL
Per installare PostgreSQL sul tuo VPS Ubuntu, esegui semplicemente:
[user]$ sudo apt-get install postgresql postgresql-contrib
Al termine dell'installazione di PostgreSQL, accedi alla shell psql e crea un nuovo utente mmuser:
[user]$ sudo -i -u postgres
[postgres]$ psql
postgres=# CREATE DATABASE mmdb;
postgres=# CREATE USER mmuser WITH PASSWORD 'mmuser_password';
postgres=# GRANT ALL PRIVILEGES ON DATABASE mmdb to mmuser;
postgres=# \q
[postgres]$ exit
Installa Mattermost
Crea un nuovo mattermost
directory e cambiarla:
[user]$ mkdir -p /opt/mmuser/mattermost
[user]$ cd /opt/mmuser/mattermost
Scarica l'ultimo ramo stabile di Mattermost (Al momento della stesura di questo articolo, la versione stabile è 1.1)
[user]$ wget -q -O - https://github.com/mattermost/platform/archive/v1.1.0.tar.gz | tar -xzf - --strip 1 -C /opt/mmuser/mattermost
Crea la directory di archiviazione utilizzando il seguente comando:
[user]$ mkdir -p /opt/mmuser/mattermost/data
Modifica il config/config.json
file
[user]$ nano /opt/mmuser/mattermost/config/config.json
e modificare le informazioni del database come segue:
"DriverName": "postgres",
"DataSource": "postgres://mmuser:[email protected]:5432/mmdb?sslmode=disable&connect_timeout=10",
e inserisci le impostazioni del tuo server SMTP.
Cambia la proprietà in mmuser utente e gruppo:
[user]$ sudo chown mmuser: -R /opt/mmuser
Testa il server Mattermost per la prima volta digitando:
[user]$ sudo -u mmuser bin/platform
Dovresti vedere qualcosa come di seguito:
[10/16/15 17:40:49] [INFO] Starting Server...
[10/16/15 17:40:49] [INFO] Server is listening on :8065
Premi CTRL-C per fermare il server.
Crea un servizio systemd
Per creare un nuovo servizio systemd per Mattermost, apri il tuo editor preferito
[user]$ sudo nano /etc/init/mattermost.conf
e crea un nuovo file con il seguente contenuto:
description "Mattermost Service"
start on filesystem or runlevel [2345]
stop on runlevel [!2345]
setuid mmuser
setgid mmuser
respawn
chdir /opt/mmuser/mattermost
exec bin/platform
Ora puoi avviare il tuo servizio Mattermost con:
[user]$ sudo service mattermost start
e verifica lo stato con
[user]$ sudo service mattermost status
Installa e configura Nginx
Ubuntu 14.04 viene fornito con Nginx versione 1.4, per installare l'ultima versione stabile di Nginx versione 1.8, eseguire:
[user]$ sudo add-apt-repository -y ppa:nginx/stable
[user]$ sudo apt-get update
[user]$ sudo apt-get -y install nginx
Se non disponi di un certificato firmato da una CA, puoi generare un certificato autofirmato con i seguenti comandi:
[user]$ sudo mkdir -p /etc/nginx/ssl
[user]$ cd /etc/nginx/ssl
[user]$ sudo openssl genrsa -des3 -passout pass:x -out mattermost.pass.key 2048
[user]$ sudo openssl rsa -passin pass:x -in mattermost.pass.key -out mattermost.key
[user]$ sudo rm mattermost.pass.key
[user]$ sudo openssl req -new -key mattermost.key -out mattermost.csr
[user]$ sudo openssl x509 -req -days 365 -in mattermost.csr -signkey mattermost.key -out mattermost.crt
Crea un nuovo blocco server Nginx
[user]$ sudo nano /etc/nginx/sites-available/your_mattermost_site
con il seguente contenuto:
server {
listen 443;
server_name your_mattermost_site;
ssl on;
ssl_certificate /etc/nginx/ssl/mattermost.crt;
ssl_certificate_key /etc/nginx/ssl/mattermost.key;
ssl_session_timeout 5m;
ssl_ciphers 'AES128+EECDH:AES128+EDH:!aNULL';
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/mattermost.access.log;
error_log /var/log/nginx/mattermost.error.log;
location / {
gzip off;
proxy_set_header X-Forwarded-Ssl on;
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://localhost:8065;
}
}
server {
listen 80;
server_name your_mattermost_site;
add_header Strict-Transport-Security max-age=2592000;
rewrite ^ https://$server_name$request_uri? permanent;
}
Attiva il blocco del server creando un collegamento simbolico :
[user]$ sudo ln -s /etc/nginx/sites-available/your_mattermost_site /etc/nginx/sites-enabled/your_mattermost_site
Testare la configurazione di Nginx e riavviare Nginx:
[user]$ sudo nginx -t
[user]$ sudo service nginx restart
Passaggi finali
Apri http://myour_mattermost_site
nel tuo browser web preferito e crea un team e un utente. L'accesso amministrativo è automaticamente concesso al primo utente registrato.
Questo è tutto. Hai installato con successo Mattermost sul tuo Ubuntu 14.04 VPS. Per ulteriori informazioni su Mattermost, fare riferimento alla documentazione ufficiale di Mattermost.
Se desideri imparare come installare Mattermost Chat su Ubuntu 20.04 , abbiamo anche un tutorial per questo.
Ovviamente, non devi fare nulla di tutto ciò se utilizzi uno dei nostri servizi di hosting VPS Linux, nel qual caso puoi semplicemente chiedere ai nostri esperti amministratori Linux di configurarlo per te. Sono disponibili 24 ore su 24, 7 giorni su 7 e si prenderanno immediatamente cura della tua richiesta.
PS . Se questo post ti è piaciuto condividilo con i tuoi amici sui social network utilizzando i pulsanti a sinistra o semplicemente lascia una risposta qui sotto. Grazie.