GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare Mattermost con PostgreSQL e Nginx su Ubuntu 16.04

Mattermost è un sistema di messaggistica open source scritto nei linguaggi di programmazione Golang e React. È un'alternativa slack, possiamo creare il nostro servizio di messaggistica come slack o hipchat con esso. Mattermost porta la comunicazione del tuo team in un unico posto e la rende accessibile ovunque. Puoi accedervi dal tuo desktop, dispositivo Android e iPhone.

In questo tutorial, ti guiderò a creare il tuo server Mattermost che utilizza PostgreSQL come sistema di database e Nginx come proxy inverso per Mattermost. Userò Ubuntu 16.04 come sistema operativo.

Prerequisito

  • Ubuntu 16.04 - 64 bit
  • privilegi radice

Passaggio 1:installazione e configurazione del database PostgreSQL

Mattermost supporta i database MySQL e PostgreSQL. Useremo PostgreSQL come database principale per questo tutorial. Connettiti al tuo server e aggiorna il repository.

Collegati al tuo server tramite SSH o accedi al terminale e aggiorna il repository di Ubuntu.

ssh [email protected]
sudo apt-get update

Come utente root, installa PostgreSQL con questo comando apt.

sudo apt-get install postgresql postgresql-contrib

Al termine dell'installazione, accedi all'utente postgres e digita il comando 'psql ' per accedere alla shell postgresql.

su - postgres
psql

Modifica la password utente postgres con il comando seguente:

\password postgres
Enter new password:

Successivamente, dobbiamo configurare un nuovo database e un nuovo utente per l'installazione di Mattermost. Creerò un nuovo database chiamato 'mattermostdb ' e l'utente 'matteruser ' con password 'matterpassword '. Scegli una password sicura per la tua installazione.

Crea il nuovo database e utente con la query PostgreSQL di seguito:

CREATE DATABASE mattermostdb;
CREATE USER matteruser WITH PASSWORD 'matterpassword';

Concedi 'matteruser ' privilegi al database 'mattermostdb ' ed esci.

GRANT ALL PRIVILEGES ON DATABASE mattermostdb TO matteruser;
\q

Passaggio 2 - Installa e configura Mattermost

Installeremo e configureremo Mattermost come un normale utente Linux, non come utente root. Eseguiremo Mattermost come utente 'materia', quindi dobbiamo creare un nuovo utente Linux chiamato 'materia' sul server.

Crea nuova 'materia ' utente e password.

useradd -m -s /bin/bash matter
passwd matter

creato dall'utente 'matter', ora accedi all'utente e scarica l'ultima versione di Mattermost con wget.

su - matter
wget https://releases.mattermost.com/3.4.0/mattermost-3.4.0-linux-amd64.tar.gz

Estrai il file Mattermost e vedrai la nuova directory 'mattermost', inserisci quella directory con il comando cd.

tar -xzvf mattermost-3.4.0-linux-amd64.tar.gz
cd mattermost/

Quindi, crea una nuova directory 'data' per memorizzare i file utente, quindi modifica il file di configurazione più importante 'config/config.json ' con vim.

mkdir data/
vim config/config.json

Eseguiremo mattermost dietro un proxy inverso Nginx, quindi è meglio configurare Mattermost per ascoltare sull'indirizzo IP locale. In 'Impostazioni servizio ', aggiungere l'indirizzo IP di localhost alla configurazione sulla riga 4.

"ListenAddress": "127.0.0.1:8065",

Ora vai su 'SqlSettings ' alla riga 48. Modificare 'NomeDriver ' e 'DataSource ' configurazione per utilizzare il database PostgreSQL con la configurazione seguente:

"DriverName": "postgres",
"DataSource": "postgres://matteruser:[email protected]:5432/mattermostdb?sslmode=disable&connect_timeout=10",

Nota:

utente della materia =utente postgresql.
matterpassword =la password.
mattermostdb =il database.

Salva ed esci.

Al termine, vai alla directory bin ed esegui la cosa più importante.

cd bin/
./platform

Vedrai che la maggior parte è in esecuzione su localhost IP con la porta 8065 ora.

Premi Ctrl + c per uscire.

Passaggio 3 - Configura il servizio Mattermost Systemd

Vai alla directory di sistema systemd e crea un nuovo file di servizio più importante.

cd /etc/systemd/system/
vim mattermost.service

Incolla la configurazione di seguito:

[Unit]
Description=Mattermost is an open source, self-hosted Slack-alternative
After=syslog.target network.target

[Service]
Type=simple
User=matter
Group=matter
ExecStart=/home/matter/mattermost/bin/platform
PrivateTmp=yes
WorkingDirectory=/home/matter/mattermost
Restart=always
RestartSec=30
LimitNOFILE=49152

[Install]
WantedBy=multi-user.target

Salva ed esci.

Ricarica il demone systemd e avvia il servizio Mattermost che abbiamo creato sopra.

systemctl daemon-reload
systemctl start mattermost

Assicurati che non ci siano errori. Verifica che il servizio Mattermost sia in esecuzione.

netstat -plntu
systemctl status mattermost

Fase 4 - Installa e configura Nginx

In questo passaggio, installeremo Nginx e configureremo Nginx come proxy inverso per Mattermost. Mapperemo la porta più importante 8056 alla porta HTTP e HTTPS.

Installa Nginx dal repository di Ubuntu con questo comando apt.

sudo apt-get install nginx

Ora vai alla directory di configurazione di Nginx e crea la sottodirectory SSL.

cd /etc/nginx/
mkdir ssl/; cd ssl/

Genera un nuovo file di certificato SSL autofirmato con OpenSSL e modifica i permessi della chiave privata.

openssl req -new -x509 -days 365 -nodes -out /etc/nginx/ssl/mattermost.crt -keyout /etc/nginx/ssl/mattermost.key
chmod 400 mattermost.key

Crea un nuovo file host virtuale per Mattermost in 'siti-disponibili ' directory.

cd /etc/nginx/sites-available/
vim mattermost

Incolla la configurazione dell'host virtuale di seguito:

server {
   listen         80;
   server_name    mattermost.mydomain.com;
   return         301 https://$server_name$request_uri;
}

server {
   listen 443 ssl;
   server_name mattermost.mydomain.com;

   ssl on;
   ssl_certificate /etc/nginx/ssl/mattermost.crt;
   ssl_certificate_key /etc/nginx/ssl/mattermost.key;
   ssl_session_timeout 5m;
   ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
   ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
   ssl_prefer_server_ciphers on;
   ssl_session_cache shared:SSL:10m;

   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://127.0.0.1:8065;
   }
}

Cambia il nome di dominio nel tuo dominio, salva ed esci.

Attiva l'host virtuale creando un collegamento simbolico al file più importante in 'siti abilitati ' directory.

ln -s /etc/nginx/sites-available/mattermost /etc/nginx/sites-enabled/

Testa la configurazione di Nginx e assicurati che non ci siano errori e riavvia nginx.

nginx -t
systemctl restart nginx

Fase 5 - Test

Apri il tuo browser web e visita il nome di dominio più importante, nel mio caso:mattermost.mydomain.com.

Verrai reindirizzato automaticamente alla connessione HTTPS.

Crea prima un nuovo account, fai clic su 'Crea account '.

Quindi puoi vedere il link per creare nuovi team o per accedere alla console di amministrazione/sistema.

Fai clic su "Vai alla console di sistema ' e vedrai la dashboard della console di sistema di seguito:

Fai clic su "Crea nuovo team ', digita il nome della tua squadra e fai clic su 'Avanti '. Quindi configura l'URL del team e fai clic su "Fine pulsante '.

Alla fine vedrai il dashboard del team.

Chat di squadra importante.

Mattermost con PostgreSQL e il server web Nginx su Ubuntu 16.04 è stato installato correttamente.


Ubuntu
  1. Come installare e proteggere phpMyAdmin con Apache su Ubuntu 18.04

  2. Come installare phpMyAdmin con Nginx su Ubuntu 18.04

  3. Come installare MediaWiki con Nginx su Ubuntu 16.04

  4. Come installare Postgresql e phpPgAdmin su Ubuntu 15.04

  5. Come installare Nginx con PHP5 e MySQL su Ubuntu 11.10

Come installare PostgreSQL e phpPgAdmin su Ubuntu 16.04

Come installare Redmine 3.2 con Nginx su Ubuntu 16.04

Come installare Django con PostgreSQL e Nginx su Ubuntu 16.04

Come installare OSClass con Nginx su Ubuntu 20.04

Come installare Wordpress con Nginx, MariaDB e HHVM in Ubuntu 15.04

Come installare Nginx con ModSecurity su Ubuntu 15.04