GNU/Linux >> Znalost Linux >  >> Linux

Jak nainstalovat Mattermost na Alma Linux 8

Mattermost je bezplatná, open source a bezpečná platforma pro komunikaci, spolupráci a orchestraci pracovních postupů napříč nástroji a týmy. Jedná se o samoobslužnou chatovací službu navrženou pro organizace a společnosti k implementaci interní chatovací služby. Nabízí několik užitečných funkcí včetně zasílání zpráv jeden na jednoho, neomezenou historii vyhledávání, sdílení souborů, dvoufaktorové ověřování, upozornění a další. Pokud hledáte alternativní řešení pro Slack, pak je pro vás Mattermost tou nejlepší volbou.

V tomto tutoriálu vám ukážeme, jak nainstalovat Mattermost s Nginx na Alma Linux 8.

Předpoklady

  • Server se systémem Alma Linux 8.
  • Platný název domény s adresou IP vašeho serveru.
  • Na serveru je nakonfigurováno heslo uživatele root.

Instalace serveru MySQL

Mattermost používá MySQL jako databázový backend. Takže MySQL musí být nainstalován na vašem serveru. Můžete jej nainstalovat spuštěním následujícího příkazu:

dnf install mysql-server -y

Jakmile je server MySQL nainstalován, spusťte a povolte službu MySQL pomocí následujícího příkazu:

systemctl start mysqld
systemctl enable mysqld

Nyní můžete instalaci MySQL zabezpečit spuštěním následujícího skriptu:

mysql_secure_installation

Chcete-li nastavit kořenové heslo MySQL a zabezpečit instalaci, odpovězte na všechny níže uvedené otázky:

Press y|Y for Yes, any other key for No: N
Please set the password for root here.
New password: 
Re-enter new password: 
Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y

Vytvořit databázi pro Mattermost

Dále budete muset vytvořit databázi a uživatele pro Mattermost. Nejprve se přihlaste do MySQL pomocí následujícího příkazu:

mysql -u root -p

Jakmile se přihlásíte, vytvořte databázi a uživatele pomocí následujícího příkazu:

mysql> CREATE DATABASE matterdb;
mysql> CREATE USER 'matteruser'@'localhost' IDENTIFIED BY 'password';

Dále udělte všechna oprávnění databázi Mattermost:

mysql> GRANT ALL PRIVILEGES ON matterdb.* TO [email protected];

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

mysql> FLUSH PRIVILEGES;
mysql> EXIT;

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

Instalovat Mattermost na Alma Linux 8

Nejprve vytvořte vyhrazeného uživatele pro spuštění Mattermost pomocí následujícího příkazu:

useradd --system --user-group mattermost

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

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

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

tar -xf mattermost-6.0.2-linux-amd64.tar.gz

Dále přesuňte extrahovaný adresář do /opt:

mv mattermost /opt

Dále vytvořte datový adresář pro Mattermost a změňte vlastnictví a oprávnění Mattermost:

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

Dále upravte konfigurační soubor Mattermost:

nano /opt/mattermost/config/config.json

Definujte adresu URL svého webu Mattermost, jak je uvedeno níže:

    "SiteURL": "http://mattermost.example.com",

Dále najděte následující řádky:

    "DriverName": "postgres",
    "DataSource": "postgres://mmuser:[email protected]/mattermost_test?sslmode=disable\u0026connect_timeout=10",

A nahraďte je následujícími řádky:

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

Po dokončení uložte a zavřete soubor.

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 spuštěním 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 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

Uložte a zavřete soubor a 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í při restartu systému:

systemctl start mattermost
systemctl enable mattermost

Nyní můžete zkontrolovat stav služby Mattermost pomocí následujícího příkazu:

systemctl status mattermost

Získáte následující výstup:

? mattermost.service - Mattermost
   Loaded: loaded (/etc/systemd/system/mattermost.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2022-01-15 14:12:29 UTC; 7s ago
 Main PID: 15201 (mattermost)
    Tasks: 32 (limit: 11411)
   Memory: 265.2M
   CGroup: /system.slice/mattermost.service
           ??15201 /opt/mattermost/bin/mattermost
           ??15298 plugins/com.mattermost.plugin-channel-export/server/dist/plugin-linux-amd64
           ??15299 plugins/com.mattermost.nps/server/dist/plugin-linux-amd64
           ??15308 plugins/playbooks/server/dist/plugin-linux-amd64
           ??15313 plugins/focalboard/server/dist/plugin-linux-amd64

Jan 15 14:12:26 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:26.344 Z","level":"info","msg":"Sent notification of next survey>
Jan 15 14:12:26 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:26.402 Z","level":"info","msg":"Post.Message has size restrictio>
Jan 15 14:12:26 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:26.499 Z","level":"info","msg":"info [2022-01-15 14:12:26.497 Z]>
Jan 15 14:12:26 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:26.537 Z","level":"info","msg":"\n    -- collation of mattermost>
Jan 15 14:12:28 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:28.297 Z","level":"info","msg":"debug [2022-01-15 14:12:28.295 Z>
Jan 15 14:12:28 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:28.804 Z","level":"info","msg":"info [2022-01-15 14:12:28.803 Z]>
Jan 15 14:12:29 almalinux8 systemd[1]: Started Mattermost.
Jan 15 14:12:29 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:29.149 Z","level":"info","msg":"Starting Server...","caller":"ap>
Jan 15 14:12:29 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:29.150 Z","level":"info","msg":"Server is listening on [::]:8065>
Jan 15 14:12:29 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:29.150 Z","level":"info","msg":"Sending systemd READY notificati>

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

ss -antpl | grep 8065

Získáte následující výstup:

LISTEN 0      128                *:8065             *:*    users:(("mattermost",pid=15201,fd=35))                   

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

Nakonfigurujte Nginx jako reverzní proxy pro Mattermost

Doporučuje se nainstalovat a nakonfigurovat Nginx jako reverzní proxy pro Mattermost. Chcete-li tak učinit, budete muset nainstalovat server Nginx na váš server. Můžete jej nainstalovat spuštěním následujícího příkazu:

dnf install nginx -y

Po instalaci Nginx vytvořte konfigurační soubor virtuálního hostitele Nginx pomocí následujícího příkazu:

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

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

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

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
	proxy_pass http://localhost:8065/;
            index  index.html index.htm;
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

Uložte a zavřete soubor a poté ověřte, zda Nginx neobsahuje nějakou chybu konfigurace:

nginx -t

Pokud je vše v pořádku, dostanete 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

Nyní spusťte a povolte spuštění služby Nginx při restartu systému:

systemctl start nginx
systemctl enable nginx

Stav Nginx můžete zkontrolovat pomocí následujícího příkazu:

systemctl status nginx

Získáte následující výstup:

? nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2022-01-15 14:14:05 UTC; 7s ago
  Process: 15356 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
  Process: 15354 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
  Process: 15351 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
 Main PID: 15358 (nginx)
    Tasks: 2 (limit: 11411)
   Memory: 3.8M
   CGroup: /system.slice/nginx.service
           ??15358 nginx: master process /usr/sbin/nginx
           ??15359 nginx: worker process

Jan 15 14:14:05 almalinux8 systemd[1]: nginx.service: Succeeded.
Jan 15 14:14:05 almalinux8 systemd[1]: Stopped The nginx HTTP and reverse proxy server.
Jan 15 14:14:05 almalinux8 systemd[1]: Starting The nginx HTTP and reverse proxy server...
Jan 15 14:14:05 almalinux8 nginx[15354]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Jan 15 14:14:05 almalinux8 nginx[15354]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Jan 15 14:14:05 almalinux8 systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
Jan 15 14:14:05 almalinux8 systemd[1]: Started The nginx HTTP and reverse proxy server.

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

Konfigurovat bránu firewall

Dále budete muset povolit port 80 přes bránu firewall. Můžete to povolit spuštěním následujícího příkazu:

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

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

firewall-cmd --reload

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

Přístup k webovému uživatelskému rozhraní Mattermost

Nyní otevřete webový prohlížeč a přejděte na webové rozhraní Mattermost pomocí adresy URL http://mattermost.example.com . Budete přesměrováni na následující obrazovku:

Zadejte svou e-mailovou adresu, uživatelské jméno správce, heslo a klikněte na Vytvořit Účet knoflík. Zobrazí se následující obrazovka:

Klikněte na Vytvořit a tým . Zobrazí se následující obrazovka:

Zadejte název týmu a klikněte na Další knoflík. Zobrazí se následující obrazovka:

Zadejte URL svého týmu Mattermost a klikněte na Dokončit knoflík. Ovládací panel Mattermost se zobrazí na následující obrazovce:

Závěr

Ve výše uvedené příručce jste se naučili, jak nainstalovat chatovací službu Mattermost s Nginx na Alma Linux 8. Nyní můžete Mattermost implementovat ve své organizaci a začít ji používat jako interní chat. Pokud máte nějaké dotazy, neváhejte se mě zeptat.


Linux
  1. Jak nainstalovat MySQL 5.7 na Amazon Linux

  2. Jak nainstalovat klienta FreeIPA na Rocky Linux/Alma Linux/CentOS 8

  3. Jak nainstalovat FFmpeg na Rocky Linux/Alma Linux 8

  1. Jak nainstalovat Mysql 8 na Rocky Linux/Centos 8

  2. Jak nainstalovat Erlang na Rocky Linux/Alma Linux/CentOS 8

  3. Jak nainstalovat MySQL na Linux Mint 19

  1. Jak nainstalovat MySQL na Debian 10 Linux

  2. Jak nainstalovat PHP 8 na Alma Linux &Rocky Linux

  3. Jak nainstalovat MySQL Workbench na Rocky Linux 8