GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare e configurare Mattermost su CentOS 8

Mattermost è un sistema di messaggistica per la collaborazione tra team aziendali gratuito, open source e self-hosted. È scritto in Golang e React e utilizza MySQL/MariaDB/PostgreSQL come database back-end. Offre client desktop per Windows, macOS e Linux e applicazioni mobili per iOS e Android. È molto simile a Slack e riunisce tutte le comunicazioni del tuo team in un unico posto. Offre funzioni molto utili tra cui messaggistica individuale e di gruppo, condivisione di file, videochiamate, emoji personalizzati, webhook e comandi e molto altro.

In questo tutorial, ti mostreremo come installare Mattermost su CentOS 8.

Prerequisiti

  • Un server che esegue CentOS 8.
  • Sul tuo server è configurata una password di root.

Installa e configura il database MariaDB

Mattermost utilizza MariaDB/MySQL come backend di database. Quindi MariaDB deve essere installato sul tuo server. Se non è installato, puoi installarlo con il seguente comando:

dnf install mariadb-server -y

Una volta installato, avvia il servizio MariaDB e abilitalo all'avvio dopo il riavvio del sistema con il seguente comando:

systemctl start mariadb
systemctl enable mariadb

Per impostazione predefinita, MariaDB non è protetto e la password di root non è impostata in CentOS 8. Quindi puoi impostarla con il seguente comando:

mysql_secure_installation

Rispondi a tutte le domande come mostrato di seguito:

Enter current password for root (enter for none):
Set root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Una volta terminato, accedi a MariaDB con l'utente root:

mysql -u root -p

Fornisci la tua password di root, quindi crea un database e un utente per Mattermost con il seguente comando:

MariaDB [(none)]> CREATE DATABASE mattermostdb;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON mattermostdb.* TO [email protected] IDENTIFIED BY 'password';

Quindi, svuota i privilegi ed esci dalla shell MariaDB con il seguente comando:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Una volta terminato, puoi procedere al passaggio successivo.

Installa Mattermost

Innanzitutto, dovrai creare un utente separato per eseguire Mattermost. Puoi crearlo con il seguente comando:

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

Quindi, scarica l'ultima versione di Mattermost con il seguente comando:

wget https://releases.mattermost.com/5.21.0/mattermost-5.21.0-linux-amd64.tar.gz

Una volta completato il download, estrai il file scaricato con il seguente comando:

tar -xvzf mattermost-5.21.0-linux-amd64.tar.gz

Quindi, sposta la directory estratta in /opt con il seguente comando:

mv mattermost /opt/

Quindi, crea una directory di dati all'interno di mattermost e dai le autorizzazioni appropriate a mattermost con il seguente comando:

mkdir /opt/mattermost/data
chown -R mattermost:mattermost /opt/mattermost
chmod -R g+w /opt/mattermost

Una volta terminato, puoi procedere al passaggio successivo.

Configura Mattermost

Successivamente, dovrai definire il tuo database in Mattermost. Puoi farlo modificando il file config.json:

nano /opt/mattermost/config/config.json

Modifica le seguenti righe in base alle impostazioni del database:

  "SqlSettings": {
    "DriverName": "mysql",
    "DataSource": "mattermost:[email protected](localhost:3306)/mattermostdb?charset=utf8mb4,utf8\u0026readTimeout=30s\u0026writeTimeout=30s",

Salva e chiudi il file quando hai finito. Quindi, cambia la directory in /opt/mattermost e avvia il server Mattermost con il seguente comando:

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

Una volta che il server è stato avviato correttamente, dovresti ottenere il seguente output:

{"level":"info","ts":1585379681.8383002,"caller":"utils/i18n.go:83","msg":"Loaded system translations","for locale":"en","from locale":"/opt/mattermost/i18n/en.json"}
{"level":"info","ts":1585379681.83874,"caller":"app/server_app_adapters.go:58","msg":"Server is initializing..."}
{"level":"info","ts":1585379681.8470004,"caller":"sqlstore/supplier.go:221","msg":"Pinging SQL","database":"master"}
{"level":"info","ts":1585379684.7858346,"caller":"sqlstore/upgrade.go:112","msg":"The database schema version has been set","version":"5.21.0"}
{"level":"error","ts":1585379690.8182986,"caller":"app/server_app_adapters.go:129","msg":"SiteURL must be set. Some features will operate incorrectly if the SiteURL is not set. See documentation for details: http://about.mattermost.com/default-site-url"}
{"level":"info","ts":1585379690.821083,"caller":"app/license.go:39","msg":"License key from https://mattermost.com required to unlock enterprise features."}

Quindi, premi CTRL + C per arrestare il server Mattermost.

Crea un file di servizio Systemd per Mattermost

Successivamente, dovrai creare un file di servizio systemd per gestire il servizio Mattermost. Puoi crearlo con il seguente comando:

nano /etc/systemd/system/mattermost.service

Aggiungi le seguenti righe:

[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

Salva e chiudi il file quando hai finito. Quindi, ricarica il demone systemd con il seguente comando:

systemctl daemon-reload

Quindi, avvia il servizio Mattermost e abilitalo all'avvio dopo il riavvio del sistema con il seguente comando:

systemctl start mattermost
systemctl enable mattermost

Puoi anche verificare lo stato del servizio Mattermost con il seguente comando:

systemctl status mattermost

Dovresti ottenere il seguente output:

? mattermost.service - Mattermost
   Loaded: loaded (/etc/systemd/system/mattermost.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2020-03-28 03:17:07 EDT; 14s ago
 Main PID: 15204 (mattermost)
    Tasks: 21 (limit: 25028)
   Memory: 120.8M
   CGroup: /system.slice/mattermost.service
           ??15204 /opt/mattermost/bin/mattermost
           ??15214 plugins/com.mattermost.nps/server/dist/plugin-linux-amd64

Mar 28 03:17:07 centos8 mattermost[15204]: {"level":"info","ts":1585379827.1131086,"caller":"app/server.go:247","msg":"Printing current workin>
Mar 28 03:17:07 centos8 mattermost[15204]: {"level":"info","ts":1585379827.1131282,"caller":"app/server.go:248","msg":"Loaded config","source">

A questo punto, il server Mattermost è in esecuzione e in ascolto sulla porta 8065. Puoi verificarlo con il seguente comando:

netstat -antup | grep 8065

Dovresti ottenere il seguente output:

tcp6       0      0 :::8065                 :::*                    LISTEN      15204/mattermost 

Configura Nginx come proxy inverso per Mattermost

È una buona idea installare e configurare Nginx come proxy inverso per prestazioni e sicurezza migliori.

Innanzitutto, installa il server web Nginx con il seguente comando:

dnf install nginx -y

Dopo aver installato il server web Nginx, avvia il servizio Nginx e abilitalo all'avvio dopo il riavvio del sistema con il seguente comando:

systemctl start nginx
systemctl enable nginx

Quindi, crea un nuovo file host virtuale Nginx per Mattermost con il seguente comando:

nano /etc/nginx/conf.d/mattermost.conf

Aggiungi le seguenti righe:

upstream mattermost {
   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://mattermost;
   }
   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://mattermost;
   }
}

Salva e chiudi il file quando hai finito. Quindi, controlla Nginx per eventuali errori di sintassi con il seguente comando:

nginx -t

Dovresti ottenere il seguente output:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Infine, riavvia il servizio Nginx per applicare le modifiche:

systemctl restart nginx

A questo punto, il server web Nginx è configurato per servire Mattermost. Ora puoi procedere al passaggio successivo.

Configura SELinux e Firewalld

Per impostazione predefinita, SELinux è abilitato in CentOS 8. Si consiglia di disabilitarlo per Mattermost. Puoi disabilitarlo modificando il file /etc/selinux/config:

nano /etc/selinux/config

Trova la riga seguente:

SELINUX=enforcing

E sostituiscilo con la seguente riga:

SELINUX=permissive

Salva e chiudi il file quando hai finito. Quindi, riavvia il sistema per applicare le modifiche.

Successivamente, dovrai consentire la porta 80 tramite firewalld. Puoi consentirlo con il seguente comando:

firewall-cmd --add-service=http --permanent

Quindi, ricarica il firewalld per applicare le modifiche:

firewall-cmd --reload

Accedi all'interfaccia Web di Mattermost

Ora apri il tuo browser web e digita l'URL http://mattermost.example.com. Dovresti vedere la pagina di creazione dell'utente Mattermost:

Fornisci il tuo indirizzo email, nome utente, password e fai clic su Crea Account pulsante. Dovresti vedere la seguente pagina:

Quindi, fai clic su Crea una nuova squadra per creare la tua squadra Dovresti vedere la seguente pagina:

Fornisci il nome della tua squadra e fai clic su Avanti pulsante. Dovresti vedere la seguente pagina:

Fornisci l'URL del tuo team e fai clic su Fine per completare l'installazione. Dovresti vedere la dashboard Mattermost nella pagina seguente:

Conclusione

Congratulazioni! hai installato e configurato con successo Mattermost sul server CentOS 8. Ora puoi creare un team per la tua organizzazione e iniziare a collaborare con il tuo team.


Cent OS
  1. Come installare e configurare Nginx su CentOS 7

  2. Come installare e configurare samba su RHEL 8 / CentOS 8

  3. Come installare e configurare Redis su CentOS 7

  4. Come installare e configurare GitLab su CentOS 7

  5. Come installare e configurare CyberPanel su CentOS 8

Come installare e configurare ISPConfig CP su CentOS 7

Come installare e configurare ownCloud su CentOS 7

Come installare e configurare Samba su CentOS 8

Come installare e configurare Fail2ban su CentOS 8

Come installare e configurare HAproxy su CentOS 6

Come installare e configurare GlusterFS su CentOS 7/CentOS 8