Mattermost è un servizio di messaggistica istantanea open source. È disponibile sia in versione gratuita che a pagamento. Può essere utilizzato sia nel cloud che on-premise come applicazione web. Qui impariamo come installare e configurare Mattermost su Rocky Linux.
Mattermost consente la comunicazione tra individui e gruppi. La comunicazione può avvenire come chat, videochiamata o normale telefonata. È possibile anche lo scambio di dati e link. Mattermost può essere visto come un concorrente diretto di MS Teams o Slack a questo proposito. Se sei un utente cloud come AWS, Google, Azure e altri, sono disponibili immagini open source predefinite per installare e distribuire Mattermost sul cloud il più rapidamente possibile. Dopo l'installazione, è possibile accedere alla sua interfaccia Web utilizzando il browser o le app mobili e desktop su Windows, Linux e Mac, iOS e Android.
Sotto il nome Omnibus, il pacchetto rilasciato da Mattermost, uno stack completo del sistema di messaggistica gratuito, può essere installato con pochi comandi. Oltre a Mattermost stesso, l'amministratore può configurare PostgreSQL come database, Nginx come server Web proxy e Certbot per emettere e rinnovare i certificati SSL in un attimo. Tuttavia, Omnibus è solo per Debian sistema basato e non funzionerà su RHEL o suoi derivati, quindi dobbiamo configurare Mattermost su Rocky Linux passo dopo passo.
Passaggi per installare Mattermost su Rocky Linux 8
1. Esegui l'aggiornamento del sistema
Innanzitutto, aggiorna i pacchetti esistenti disponibili sul tuo Rocky Linux per assicurarti che tutto sia nello stato più recente.
sudo dnf update
2. Installa MySQL Server su Rocky Linux
Se hai già installato un server con database MySQL, puoi saltare questo passaggio. Altrimenti, usa il comando indicato di seguito per installare il server MySQL su Rocky Linux per archiviare i dati che verranno generati da Mattermost.
sudo dnf install mysql-server
Una volta completata l'installazione, assicurati che il servizio MySQL sia abilitato e in esecuzione...
sudo systemctl enable --now mysqld sudo systemctl start mysqld
Controlla lo stato-
sudo systemctl status mysqld
Proteggi l'installazione del server del database.
sudo mysql_secure_installation
Quando eseguiamo il comando precedente, ci chiederà di impostare una password per Mysql e rimuovere altre cose che rendono vulnerabile il database.
3. Crea database per Mattermost
Ora accediamo al nostro server MySQL e creiamo un database da utilizzare in seguito con l'installazione di Mattermost.
Per accedere come utente root, digita-
mysql -u root -p
Crea database:
Sostituisci h2sdb con il nome che vuoi dare al tuo database.
CREATE DATABASE h2sdb;
Quindi, crea un utente del database.
Qui h2suser il nome utente e il pass è la password che abbiamo usato per questo. Puoi modificare questi valori...
CREATE USER 'h2suser'@'localhost' IDENTIFIED BY 'pass';
Assegna tutti i diritti del database all'utente creato.
grant all privileges on h2sdb.* to h2suser@localhost;
Ricarica le tabelle delle sovvenzioni ed esci-
flush privileges; exit;
4. Installa Mattermost Server su Rocky Linux 8
Ora scarichiamo l'ultima versione del server Mattermost da installare. Per questo vai al sito web ufficiale scarica la pagina e copia l'ultimo URL di download del file tar e usalo con wget
comando sul tuo terminale Rocky Linux per ottenerlo. Durante la stesura di questo articolo, l'ultima versione disponibile era la 5.34.2, se è la stessa nel tuo caso, puoi utilizzare anche il comando seguente.
sudo dnf instal wget -y
wget https://releases.mattermost.com/5.34.2/mattermost-5.34.2-linux-amd64.tar.gz
Estratto e sposta il file scaricato in /opt directory. In modo che non lo cancelliamo accidentalmente.
tar -xf mattermost-*-linux-amd64.tar.gz
sudo mv mattermost /opt
Crea directory dati nella cartella copiata per memorizzare i dati-
sudo mkdir /opt/mattermost/data
5. Crea utente e gruppo
Per motivi di sicurezza, creeremo un utente e un gruppo separati per Mattermost su Rocky Linux. Avrà il diritto di gestire e accedere ai servizi Mattermost.
Aggiungi utente e gruppo chiamato mattermost –
sudo useradd --system --user-group mattermost
Dai un all'utente appena creato diritto di gestire la cartella copiata in /opt directory.
sudo chown -R mattermost:mattermost /opt/mattermost
Imposta le autorizzazioni di lettura e scrittura.
sudo chmod -R g+w /opt/mattermost
6. Configura il driver del database e l'origine dati in
Modifica il file di configurazione e cambia due cose:Nome del driver del database e Origine dati-
sudo dnf install nano -y
sudo nano /opt/mattermost/config/config.json
Driver del database:
Usa i tasti freccia della tastiera e scorri verso il basso fino a trovare i valori DriverName in Impostazioni SQL. Per impostazione predefinita, sarà impostato per PostgreSQL e se stai usando MySQL, cambialo in mysql
.
Imposta "Nome conducente ” :”mysql ”
Successivamente, appena sotto, troverai l'origine dati riga che è-"postgres://mmuser:<mmuser-password>@<host-name-or-IP>:5432/mattermost?sslmode=disable&connect_timeout=10".
Cambia quello con quello sotto e sostituisci anche il grassetto testo
"mmuser:<mmuser-password>@tcp(<host-name-or-IP>:3306)/mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s"
Sostituisci –
mmuser
– Con il tuo utente del database MySQL
mmuser-password-
Sostituisci con la password del database
<host-name-or-IP>
– Digita il tuo indirizzo IP del server di database . Se stai utilizzando lo stesso server per entrambi i database Mattermost e MySQL, quindi sostituirlo con localhost
o 127.0.0.1
mattermost
– Eliminalo digita il nome del tuo database.
Esempio – Se utilizzi il nostro valore del database MySQL, questa riga di origine dati sarà come questa
"h2suser:pass@tcp(127.0.0.1:3306)/h2sdb?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s"
Salva e chiudi il file premendo Ctrl+X , digita y, e premi Invio Chiave.
Verifica che tutto funzioni correttamente
Passa alla directory più importante e avvia il suo server-
cd /opt/mattermost sudo -u mattermost ./bin/mattermost
Vedrai del testo in cui il server è in ascolto sulla porta 8065 che mostra che funziona e il file di configurazione è valido. Per interromperlo, premi Ctrl+C.
7. Crea file di servizio dei sistemi Mattermost su Rocky Linux
Per eseguire il servizio di questa piattaforma di messaggistica gratuita da eseguire in background che può essere interrotto o iniziare a utilizzare il comando systemctl, creiamo un file di configurazione per lo stesso.
sudo nano /etc/systemd/system/mattermost.service
Copia il codice riportato di seguito.
[Unit] Description=Mattermost After=syslog.target network.target mysqld.service [Service] Type=notify WorkingDirectory=/opt/mattermost User=mattermost ExecStart=/opt/mattermost/bin/mattermost PIDFile=/var/spool/mattermost/pid/master.pid TimeoutStartSec=3600 LimitNOFILE=49152 [Install] WantedBy=multi-user.target
Salva il file premendo ctrl+x quindi digita- Y e premi Invio Chiave.
Rendi eseguibile il file-
sudo chmod 664 /etc/systemd/system/mattermost.service
Ricarica i servizi di sistema-
sudo systemctl daemon-reload
8. Abilita e avvia il suo servizio
Ora, abilita il file di servizio sopra creato per l'esecuzione con l'avvio del sistema e avvia anche lo stesso.
sudo systemctl enable mattermost.service
Inizia-
sudo systemctl start mattermost.service
Verifica stato-
sudo systemctl status mattermost.service
Per uscire:Ctrl+C
9. Accedi all'interfaccia web di Mattermost
Se desideri accedere a questo server di chat utilizzando l'indirizzo IP, apri prima il numero di porta 8065 sul tuo Rocky Linux
sudo firewall-cmd --zone=public --add-port=8065/tcp
Ora, apri il tuo browser web e puntalo all'indirizzo IP del server in cui hai installato Mattermost. Ad esempio, se l'indirizzo IP del tuo server è 192.168.0.108, l'URL sarà così-
192.168.0.108:8065
Troverai questo-
Inserisci il tuo indirizzo email e altre cose per creare un account.
10:Usa dominio completo e porta 80/443
Esistono due modi per utilizzare FQDn, tuttavia, entrambi richiedono prima la mappatura del dominio con l'indirizzo IP del server utilizzando il server DNS.
1° metodo:
Se desideri utilizzare FQDn standard invece dell'indirizzo IP per accedere al server, punta prima il dominio all'indirizzo IP del servizio Mattermost e poi vai a Console di sistema e seleziona server web .
Lì inserisci il dominio o l'URL del sito Web che devi puntare al suo server. E se non vuoi utilizzare il numero di porta 8065 con il dominio, sostituiscilo con 80 o 445.
Una volta impostato, prova l'URL live. Se funziona correttamente, puoi utilizzare l'opzione Let's Encrypt fornita lì per ottenere il certificato SSL gratuito.
2° metodo
Utilizzo del proxy inverso Nginx
Sebbene possiamo indirizzare direttamente il nome di dominio all'indirizzo IP del tuo server per accedere a Mattermost utilizzando un dominio completo, tuttavia, per migliorare la sicurezza installiamo e Nginx come proxy inverso.
sudo dnf install epel-release sudo dnf install nginx
Abilita e avvia
sudo systemctl enable --now nginx sudo systemctl start nginx
Crea file di configurazione
sudo nano /etc/nginx/conf.d/mattermost.conf
Incolla il codice seguente e sostituisci mattermost.how2shout.com con il nome di dominio che vuoi utilizzare...
upstream backend { server 127.0.0.1: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 mattermost.how2shout.com; 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; } }
Salva il file:Ctrl+X , premi Y, e premi Invio chiave.
Verifica che il file di configurazione funzioni senza alcun errore-
sudo nginx -t
Riavvia il server Nginx
sudo systemctl restart nginx
Apri le porte 80 e 443 sul firewall del server
sudo firewall-cmd --add-service={http,https} --permanent sudo firewall-cmd --reload
Ora, se hai indirizzato il tuo dominio all'indirizzo IP del server, sarai in grado di accedervi nel browser. Tuttavia, sarà presente un errore del certificato SSL. Quindi, per rimuovere quello installarne uno usando Let's Encrypt.
Per saperne di più, fai riferimento alla documentazione ufficiale Mattermost.