GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare Mattermost su Ubuntu 18.04

In questo articolo, avremo spiegato i passaggi necessari per installare e configurare Mattermost su Ubuntu 18.04 LTS. Prima di continuare con questo tutorial, assicurati di aver effettuato l'accesso come utente con privilegi sudo. Tutti i comandi in questo tutorial devono essere eseguiti come utente non root.

Mattermost è una piattaforma open source scritta in React e Golang. Può essere utilizzato come piattaforma di messaggistica alternativa e utilizza il database PostgreSQL o MySQL nel backend. La funzione principale più importante è riunire la comunicazione del team e offrire diverse funzionalità come condivisione di file, emoji personalizzati, videochiamate, messaggistica (uno contro uno o di gruppo) e così via.

Installa Mattermost su Ubuntu 18.04

Passaggio 1. Innanzitutto, prima di iniziare a installare qualsiasi pacchetto sul tuo server Ubuntu, ti consigliamo sempre di assicurarti che tutti i pacchetti di sistema siano aggiornati.

sudo apt update
sudo apt upgrade

Passaggio 2. Installa il database MySQL.

Installazione del pacchetto MySQL con il seguente comando:

sudo apt install mysql-server

Il pacchetto del server MySQL viene fornito con uno script chiamato mysql_secure_installation che può eseguire diverse operazioni relative alla sicurezza. Esegui lo script digitando:

sudo mysql_secure_installation

Quindi, crea un nuovo database e un nuovo utente per la nostra installazione Mattermost con:

$ mysql -u root
CREATE DATABASE mattermost;
GRANT ALL ON mattermost.* TO [email protected] IDENTIFIED BY 'PassWD';

Ora, crea un nuovo utente e gruppo di sistema per il bene dell'istanza Mattermost. In questo caso, nomineremo il nostro utente più importante:

sudo useradd -U -M -d /opt/mattermost mattermost

Passaggio 3. Installa Mattermost su Ubuntu.

In primo luogo, scarica l'ultima versione stabile di Mattermost:

sudo curl -L https://releases.mattermost.com/5.1.0/mattermost-5.1.0-linux-amd64.tar.gz -o /tmp/mattermost.tar.gz
sudo tar zxf /tmp/mattermost.tar.gz -C /opt
sudo mkdir -p /opt/mattermost/data

Assicurati di cambiare la proprietà della directory con l'utente più importante:

sudo chown -R mattermost: /opt/mattermost

Quindi, apri il file /opt/mattermost/config/config.json, imposta il driver del database su mysql e inserisci le informazioni del database:

nano /opt/mattermost/config/config.json
"SqlSettings": {
    "DriverName": "mysql",
    "DataSource": "mattermost:[email protected](localhost:3306)/mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s",

Ora dobbiamo verificare se il server Mattermost funziona correttamente. Per farlo, passa alla directory /opt/mattermost, quindi esegui il comando seguente per avviare il server:

cd /opt/mattermost
sudo -u mattermost bin/mattermost

Passaggio 4. Creazione dell'unità Systemd.

Creeremo un file unit mattermost.service nella directory /etc/systemd/system/:

nano /etc/systemd/system/mattermost.service
[Unit]
Description=Mattermost
After=network.target
After=mysql.service
Requires=mysql.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=mysql.service

Quindi riavvia il servizio Mattermost usando i comandi seguenti:

sudo systemctl daemon-reload
sudo systemctl start mattermost
sudo systemctl enable mattermost

Passaggio 5. Imposta un proxy inverso utilizzando Nginx.

Se non hai installato nginx, segui questo tutorial. Ora dobbiamo impostare un nuovo blocco server per l'istanza Mattermost:

nano /etc/nginx/conf.d/example.com.conf
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=mattermost_cache:10m max_size=3g inactive=120m use_temp_path=off;

upstream mattermost_backend {
  server 127.0.0.1:8065;
}

server {
    listen 80;
    server_name example.com www.example.com;

    include snippets/letsencrypt.conf;
    return 301 https://example.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name www.example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;

    return 301 https://example.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;

    access_log /var/log/nginx/example.com-access.log;
    error_log /var/log/nginx/example.com-error.log;

    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;
       proxy_read_timeout 600s;
       proxy_pass http://mattermost_backend;
    }

    location / {
       proxy_http_version 1.1;
       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_pass http://mattermost_backend;
    }
}

Passaggio 6. Accesso a Mattermost.

Per configurare il servizio Mattermost, vai al tuo browser e inserisci il nome di dominio dove verrai indirizzato alla pagina di registrazione.

Questo è tutto ciò che devi fare per installare Mattermost su Ubuntu 18.04. Spero che tu possa trovare utile questo suggerimento rapido. Se hai domande o suggerimenti, sentiti libero di lasciare un commento qui sotto.


Ubuntu
  1. Come installare Docker su Ubuntu 18.04

  2. Come installare Apache su Ubuntu 18.04

  3. Come installare MariaDB 10.4 su Ubuntu 18.04

  4. Come installare MongoDB su Ubuntu 18.04

  5. Come installare Jenkins su Ubuntu 18.04

Come installare Tomcat 8.5 su Ubuntu 18.04

Come installare Asterisk su Ubuntu 18.04

Come installare Tomcat 9 su Ubuntu 18.04

Come installare Webmin su Ubuntu 18.04

Come installare Kodi su Ubuntu 18.04

Come installare Mattermost su Ubuntu 18.04 LTS