In questo tutorial, ti mostreremo come installare Mattermost su CentOS 8. Per quelli di voi che non lo sapessero, Mattermost è un'alternativa Slack al cloud privato e open source. Un posto di lavoro sistema di messaggistica per Web, PC e telefoni, rilasciato sotto licenza MIT. In alternativa alla messaggistica SaaS proprietaria, Mattermost riunisce tutte le comunicazioni del tuo team in un unico posto, rendendole ricercabili e accessibili ovunque. Mattermost è "Slack-compatibile, non Slack -limited", supportando un superset di integrazioni webhook in entrata e in uscita di Slack, inclusa la compatibilità con le integrazioni Slack esistenti. Dai team Slack esistenti, puoi importare utenti, cronologia dei canali pubblici e persino colori di impostazione dei temi in Mattermost.
Questo articolo presuppone che tu abbia almeno una conoscenza di base di Linux, sappia come usare la shell e, soprattutto, che ospiti il tuo sito sul tuo VPS. L'installazione è abbastanza semplice e presuppone che tu sono in esecuzione nell'account root, in caso contrario potrebbe essere necessario aggiungere 'sudo
' ai comandi per ottenere i privilegi di root. Ti mostrerò l'installazione passo passo di Mattermost su CentOS 8.
Prerequisiti
- Un server che esegue uno dei seguenti sistemi operativi:CentOS 8.
- Si consiglia di utilizzare una nuova installazione del sistema operativo per prevenire potenziali problemi.
- Un
non-root sudo user
o accedere all'root user
. Ti consigliamo di agire comenon-root sudo user
, tuttavia, poiché puoi danneggiare il tuo sistema se non stai attento quando agisci come root.
Installa Mattermost su CentOS 8
Passaggio 1. Innanzitutto, iniziamo assicurandoci che il tuo sistema sia aggiornato.
sudo dnf clean all sudo dnf install epel-release sudo dnf update
Passaggio 2. Installazione del server di database.
Esegui il seguente comando per installare MariaDB:
sudo dnf install mariadb-server
Per impostazione predefinita, MariaDB non è protetto. Puoi proteggere MariaDB usando mysql_secure_installation
sceneggiatura. dovresti leggere attentamente e sotto ogni passaggio che imposterà una password di root, rimuoverà gli utenti anonimi, non consentirà l'accesso root remoto e rimuoverà il database di test e l'accesso per proteggere MariaDB:
mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! Enter current password for root (enter for none): OK, successfully used password, moving on... Set root password? [Y/n] y New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. ... Success! Remove anonymous users? [Y/n] y ... Success! Disallow root login remotely? [Y/n] y ... Success! Remove test database and access to it? [Y/n] y - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reload privilege tables now? [Y/n] y ... Success! Cleaning up... Thanks for using MariaDB!
Quindi, riavvia il server del database MariaDB e abilitalo all'avvio all'avvio del sistema utilizzando:
sudo systemctl restart mariadb sudo systemctl status mariadb sudo systemctl enable mariadb
Dopo l'installazione del database, accedi alla shell MariaDB e crea database e utente per Mattermost:
$ mysql -u root -p CREATE DATABASE mattermost; GRANT ALL PRIVILEGES ON mattermost.* TO mattermost@localhost IDENTIFIED BY 'Your-Strong-Passwd'; FLUSH PRIVILEGES; QUIT;
Passaggio 3. Installazione di Mattermost su CentOS 8.
Per prima cosa, dovrai creare un utente separato per eseguire Mattermost. Puoi crearlo con il seguente comando:
sudo useradd -d /opt/mattermost -U -M mattermost
Avanti, scarica l'ultima versione di Mattermost:
wget https://releases.mattermost.com/5.20.2/mattermost-5.20.2-linux-amd64.tar.gz
Decomprimi l'archivio Mattermost nella directory principale del documento sul tuo server:
tar xf *.gz mv mattermost /opt/
Crea la directory di archiviazione per i file:
mkdir /opt/mattermost/data
Inoltre, imposta la proprietà e le autorizzazioni:
sudo chown -R mattermost:mattermost /opt/mattermost sudo chmod -R g+w /opt/mattermost
Avanti, dovremo configurare il driver del database nel file /opt/mattermost/config/config.json
apportando alcune modifiche al suo contenuto. Cerca "DriverName ” e “DataSource ” e cambia come segue:
nano /opt/mattermost/config/config.json
"SqlSettings": { "DriverName": "mysql", "DataSource": "mattermost:Str0ngP@ss@tcp(localhost:3306)/mattermost?charset=utf8mb4,utf8\u0026readTimeout=30s\u0026writeTimeout=30s", "DataSourceReplicas": [], "DataSourceSearchReplicas": [], "MaxIdleConns": 20, "ConnMaxLifetimeMilliseconds": 3600000, "MaxOpenConns": 300, "Trace": false, "AtRestEncryptKey": "myyti1r597i99qrk7eu91ywqhaawz4md", "QueryTimeout": 30 },
Salva e chiudi il file. Quindi, cambia la directory in /opt/mattermost
e avvia il server Mattermost con il seguente comando:
cd /opt/mattermost sudo -u mattermost ./bin/mattermost
Passaggio 4. Configura il servizio Mattermost Systemd.
In primo luogo, creeremo un nuovo systemd
file unit utilizzando il comando seguente:
nano /etc/systemd/system/mattermost.service
[Unit] Description=Mattermost After=syslog.target network.target mariadb.service [Service] Type=notify WorkingDirectory=/opt/mattermost User=mattermost ExecStart=/opt/mattermost/bin/mattermost PIDFile=/var/run/mattermost.pid TimeoutStartSec=3600 LimitNOFILE=49152 [Install] WantedBy=multi-user.target
Avvia quindi il servizio Mattermost e abilitalo all'avvio dopo il riavvio del sistema con il seguente comando:
sudo systemctl daemon-reload sudo systemctl start mattermost.service sudo systemctl enable mattermost.service
Verifica che Mattermost sia in esecuzione e in ascolto sulla porta 8065. Puoi verificarlo con il seguente comando:
curl http://localhost:8065
Passaggio 5. Configurazione di Nginx con Mattermost.
Installa e configura Nginx come proxy inverso per prestazioni e sicurezza migliori. Ora installiamo Nginx sul sistema CentOS:
sudo dnf install nginx
Dopo aver installato il server web Nginx, avvia il servizio Nginx e abilitalo all'avvio dopo il riavvio del sistema con il seguente comando:
sudo systemctl start nginx sudo systemctl enable nginx
Quindi, configura il server web Nginx come proxy per Mattermost:
sudo nano /etc/nginx/conf.d/mattermost.conf
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.example.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; } }
Infine, riavvia il servizio Nginx per applicare le modifiche:
nginx -t sudo systemctl restart nginx
Passaggio 6. Configura Firewall.
Consenti l'accesso al firewall sulle porte HTTP e HTTPS:
sudo firewall-cmd --add-service={http,https} --permanent sudo firewall-cmd --reload
Passaggio 7. Accesso all'interfaccia Web di Mattermost.
Mattermost sarà disponibile sulla porta HTTP 80 per impostazione predefinita. Apri il tuo browser preferito e vai a http://mattermost.example.com
e continua a configurare Mattermost inserendo un indirizzo email e creando un account.
Congratulazioni! Hai installato con successo Mattermost. Grazie per aver utilizzato questo tutorial per l'installazione di Mattermost sul sistema CentOS 8. Per ulteriore aiuto o informazioni utili, ti consigliamo di controllare il sito Web ufficiale di Mattermost.