GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat a nakonfigurovat Mattermost na CentOS 8

Mattermost je bezplatný, open-source a samostatně hostovaný podnikový týmový systém pro zasílání zpráv. Je napsán v Golang a React a jako backend databáze používá MySQL/MariaDB/PostgreSQL. Nabízí desktopové klienty pro Windows, macOS a Linux a mobilní aplikace pro iOS a Android Je velmi podobný Slacku a přináší veškerou vaši týmovou komunikaci na jedno místo. Nabízí velmi užitečné funkce včetně individuálních a skupinových zpráv, sdílení souborů, videohovorů, vlastních emotikonů, webhooků a příkazů a mnoha dalších.

V tomto tutoriálu vám ukážeme, jak nainstalovat Mattermost na CentOS 8.

Předpoklady

  • Server se systémem CentOS 8.
  • Na vašem serveru je nakonfigurováno heslo uživatele root.

Instalace a konfigurace databáze MariaDB

Mattermost používá MariaDB/MySQL jako databázový backend. MariaDB tedy musí být nainstalována na vašem serveru. Pokud není nainstalován, můžete jej nainstalovat pomocí následujícího příkazu:

dnf install mariadb-server -y

Po instalaci spusťte službu MariaDB a povolte její spuštění po restartu systému pomocí následujícího příkazu:

systemctl start mariadb
systemctl enable mariadb

Ve výchozím nastavení není MariaDB zabezpečena a heslo uživatele root není nastaveno v CentOS 8. Můžete jej tedy nastavit pomocí následujícího příkazu:

mysql_secure_installation

Odpovězte na všechny otázky, jak je uvedeno níže:

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

Jakmile budete hotovi, přihlaste se do MariaDB jako uživatel root:

mysql -u root -p

Zadejte své heslo uživatele root a poté vytvořte databázi a uživatele pro Mattermost pomocí následujícího příkazu:

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

Dále vyprázdněte oprávnění a ukončete prostředí MariaDB pomocí následujícího příkazu:

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

Jakmile budete hotovi, můžete přejít k dalšímu kroku.

Instalovat Mattermost

Nejprve budete muset vytvořit samostatného uživatele pro spuštění Mattermost. Můžete jej vytvořit pomocí následujícího příkazu:

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

Dále si stáhněte nejnovější verzi Mattermost pomocí následujícího příkazu:

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

Po dokončení stahování rozbalte stažený soubor pomocí následujícího příkazu:

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

Dále přesuňte extrahovaný adresář do /opt pomocí následujícího příkazu:

mv mattermost /opt/

Dále vytvořte datový adresář uvnitř Matmost a udělte správná oprávnění tomu Matmost pomocí následujícího příkazu:

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

Jakmile budete hotovi, můžete přejít k dalšímu kroku.

Konfigurovat Mattermost

Dále budete muset definovat svou databázi v Mattermost. Můžete to udělat úpravou souboru config.json:

nano /opt/mattermost/config/config.json

Změňte následující řádky podle nastavení databáze:

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

Po dokončení uložte a zavřete soubor. Poté změňte adresář na /opt/mattermost a spusťte server Mattermost pomocí následujícího příkazu:

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

Po úspěšném spuštění serveru byste měli získat následující výstup:

{"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."}

Poté stiskněte CTRL + C pro zastavení serveru Mattermost.

Vytvoření souboru Systemd Service pro Mattermost

Dále budete muset vytvořit soubor služby systemd pro správu služby Mattermost. Můžete jej vytvořit pomocí následujícího příkazu:

nano /etc/systemd/system/mattermost.service

Přidejte následující řádky:

[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

Po dokončení uložte a zavřete soubor. Poté znovu načtěte démona systemd pomocí následujícího příkazu:

systemctl daemon-reload

Dále spusťte službu Mattermost a povolte její spuštění po restartu systému pomocí následujícího příkazu:

systemctl start mattermost
systemctl enable mattermost

Stav služby Mattermost můžete také ověřit pomocí následujícího příkazu:

systemctl status mattermost

Měli byste získat následující výstup:

? 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">

V tomto okamžiku běží server Mattermost a naslouchá na portu 8065. Můžete to zkontrolovat pomocí následujícího příkazu:

netstat -antup | grep 8065

Měli byste získat následující výstup:

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

Nakonfigurujte Nginx jako reverzní proxy pro Mattermost

Je dobré nainstalovat a nakonfigurovat Nginx jako reverzní proxy pro lepší výkon a zabezpečení.

Nejprve nainstalujte webový server Nginx pomocí následujícího příkazu:

dnf install nginx -y

Po instalaci webového serveru Nginx spusťte službu Nginx a povolte její spuštění po restartu systému pomocí následujícího příkazu:

systemctl start nginx
systemctl enable nginx

Dále vytvořte nový soubor virtuálního hostitele Nginx pro Mattermost pomocí následujícího příkazu:

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

Přidejte následující řádky:

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;
   }
}

Po dokončení uložte a zavřete soubor. Poté pomocí následujícího příkazu zkontrolujte Nginx, zda neobsahuje nějakou chybu syntaxe:

nginx -t

Měli byste získat následující výstup:

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

Nakonec restartujte službu Nginx, aby se změny projevily:

systemctl restart nginx

V tomto okamžiku je webový server Nginx nakonfigurován tak, aby sloužil Mattermost. Nyní můžete přejít k dalšímu kroku.

Konfigurovat SELinux a Firewalld

Ve výchozím nastavení je SELinux povolen v CentOS 8. Pro Mattermost je doporučeno jej zakázat. Můžete jej zakázat úpravou souboru /etc/selinux/config:

nano /etc/selinux/config

Najděte následující řádek:

SELINUX=enforcing

A nahraďte jej následujícím řádkem:

SELINUX=permissive

Po dokončení uložte a zavřete soubor. Poté restartujte systém, aby se změny projevily.

Dále budete muset povolit port 80 přes firewall. Můžete to povolit pomocí následujícího příkazu:

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

Poté znovu načtěte firewall, aby se změny projevily:

firewall-cmd --reload

Přístup k webovému rozhraní Mattermost

Nyní otevřete webový prohlížeč a zadejte adresu URL http://mattermost.example.com. Měli byste vidět stránku vytvoření uživatele Mattermost:

Zadejte svou e-mailovou adresu, uživatelské jméno, heslo a klikněte na Vytvořit Účet knoflík. Měli byste vidět následující stránku:

Dále klikněte na Vytvořit nový tým vytvořit svůj tým. Měli byste vidět následující stránku:

Zadejte název týmu a klikněte na Další knoflík. Měli byste vidět následující stránku:

Zadejte adresu URL svého týmu a klikněte na Dokončit k dokončení instalace. Na následující stránce byste měli vidět řídicí panel Mattermost:

Závěr

Gratulujeme! úspěšně jste nainstalovali a nakonfigurovali Mattermost na serveru CentOS 8. Nyní můžete vytvořit tým pro svou organizaci a začít se svým týmem spolupracovat.


Cent OS
  1. Jak nainstalovat a nakonfigurovat Nginx na CentOS 7

  2. Jak nainstalovat a nakonfigurovat sambu na RHEL 8 / CentOS 8

  3. Jak nainstalovat a nakonfigurovat CyberPanel na CentOS 8

  1. Jak nainstalovat a nakonfigurovat Redis na CentOS 7

  2. Jak nainstalovat a nakonfigurovat GitLab na CentOS 7

  3. Jak nainstalovat a nakonfigurovat Redmine na CentOS 7

  1. Jak nainstalovat a nakonfigurovat Redis na CentOS 8

  2. Jak nainstalovat a nakonfigurovat Sambu na CentOS 8

  3. Jak nainstalovat a nakonfigurovat GitLab CE na CentOS 7