GNU/Linux >> Znalost Linux >  >> Debian

Jak nainstalovat Mattermost Team Messaging System na Debian 10

Mattermost je open-source systém pro zasílání zpráv napsaný v programovacích jazycích Golang a React. Je to slack alternativa, můžeme ji použít k vybudování vlastní služby zasílání zpráv, jako je slack nebo hipchat.

Mattermost přináší vaši týmovou komunikaci na jediné místo a zpřístupňuje ji odkudkoli. Můžete k němu přistupovat ze svého počítače, zařízení Android a iPhone.

V tomto tutoriálu vám ukážeme, jak nainstalovat Mattermost na Debian Buster 10. Nainstalujeme Mattermost s databázovým serverem MySQL, webovým serverem Nginx a spuštěním Mattermostu jako služby Systemd na nejnovější verzi Debianu Buster 10.

Předpoklad

V tomto tutoriálu otestujeme instalaci Mattermost na Debian 10 s 2 GB RAM, 25 volným místem na disku a 2 CPU.

Co budeme dělat?

  • Nainstalujte MySQL Server
  • Vytvořte databázi MySQL pro Mattermost
  • Přidat uživatele systému a stáhnout Mattermost
  • Nakonfigurujte Mattermost
  • Nastavte Mattermost jako službu Systemd
  • Vygenerujte SSL Letsencrypt
  • Nainstalujte a nakonfigurujte Nginx jako reverzní proxy
  • Testování

Krok 1 – Instalace databáze MySQL

Nejprve nainstalujeme MySQL Server 8.0 z oficiálního úložiště na náš server Debian. Sp, přidáme oficiální úložiště MySQL a nainstalujeme balíčky MySQL.

Nainstalujte nástroj 'gnupg2' na server Debian pomocí příkazu apt níže.

sudo apt install curl wget gnupg2

Stáhněte a přidejte úložiště MySQL pro systém Debian pomocí následujícího příkazu.

wget https://dev.mysql.com/get/mysql-apt-config_0.8.13-1_all.deb
dpkg -i mysql-apt-config_0.8.13-1_all.deb

Nyní aktualizujte všechna úložiště Debianu a nainstalujte balíčky MySQL Server.

aktualizace sudo apt
sudo apt install mysql-server -y

Během instalace serveru MySQL budete požádáni o konfiguraci hesla uživatele root pro váš server MySQL.

Zadejte své root heslo pro MySQL a zopakujte ho.

Po dokončení instalace spusťte službu MySQL a přidejte ji do

systemctl spustit mysql
systemctl povolit mysql

Výsledkem je, že MySQL Server je nyní nainstalován na Debian Buster 10. A root heslo pro MySQL Server bylo nakonfigurováno.

Krok 2 – Vytvoření databáze MySQL pro Mattermost

Ve výchozím nastavení podporuje Mattermost dva databázové ovladače, databáze PostgreSQL a MySQL. A pro tento tutoriál použijeme MySQL jako výchozí databázi pro Mattermost.

V tomto kroku vytvoříme novou databázi a uživatele pro instalaci Mattermost.

Přihlaste se do prostředí MySQL pomocí svého uživatele root a hesla, jak je uvedeno níže.

mysql -u root -p

Nyní vytvořte novou databázi a uživatele pro Mattermost. Vytvoříme novou databázi 'mattermost' s uživatelem 'mmuser' a heslem 'mmuser-password'.

vytvořit databázi nejzásadnější;
vytvořit uživatele [chráněno e-mailem] identifikovaného pomocí 'mmuser-password';
udělit veškerá práva na nejdůležitější.* uživateli [email protected];
vyprázdnit oprávnění;

Nyní zadejte 'exit' pro odhlášení z prostředí MySQL.

V důsledku toho byla vytvořena databáze MySQL a uživatel pro instalaci Mattermost.

Krok 3 – Přidat uživatele a stáhnout Mattermost

V tomto kroku vytvoříme nového uživatele systému a stáhneme zdrojový kód Mattermost. Software Mattermost poběží pod uživatelem s názvem 'mattermost', bude nainstalován do adresáře '/opt/mattermost'.

Vytvořte nového systémového uživatele s názvem 'mattermost' pomocí příkazu níže.

useradd --system --user-group nejdůležitější

Nyní přejděte do adresáře '/opt' a stáhněte si zdrojový kód Mattermost pomocí příkazu curl níže.

cd /opt/
curl -o mattermost.tar.gz https://releases.mattermost.com/5.21.0/mattermost-5.21.0-linux-amd64.tar.gz

Rozbalte zdrojový kód Mattermost a vytvořte nový adresář 'data'.

tar -xf mattermost.tar.gz
mkdir -p /opt/mattermost/data

Poté změňte vlastnictví adresáře '/opt/mattermost' na uživatele 'mattermost' a udělejte do něj zapisovatelný.

chown -R Mattermost:mattermost /opt/mattermost
chmod -R g+w /opt/mattermost

V důsledku toho byl vytvořen uživatel 'mattermost' a zdrojový kód Mattermost byl stažen do adresáře '/opt/mattermost'.

Krok 4 – Konfigurace Mattermost

V tomto kroku nastavíme adresu a databázi Mattermost naslouchání. Služba Mattermost bude spuštěna na místní IP adrese na výchozím portu 8065 a jako databázový systém bude používat MySQL.

Přejděte do adresáře '/opt/mattermost' a upravte konfigurační soubor 'config.json' v adresáři 'config'.

cd /opt/mattermost/
vim config/config.json

U možnosti „ListenAddress“ změňte IP adresu na „127.0.0.1“.

    "ListenAddress":"127.0.0.1:8065",

Jedno 'SqlSettings', změňte DriverName na 'mysql' a změňte 'DataSource' pomocí databáze MySQL a uživatele, které jsme vytvořili.

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

Uložit a zavřít.

Dále inicializujte instalaci Mattermost pomocí následujícího příkazu.

sudo -u matermost ./bin/mattermost

Níže je výsledek, který dostanete.

Výsledkem je, že Mattermost je spuštěn a běží na místní IP adrese '127.0.0.1' s portem '8065', nyní pro ukončení stiskněte tlačítko 'Ctrl+c'.

Krok 5 – Nastavení Mattermost jako služby

V tomto kroku nastavíme Mattermost jako službu systemd, která se po spuštění databázové služby MySQL spustí automaticky při startu systému.

Nyní přejděte do adresáře '/lib/systemd/system' a vytvořte nový soubor služby 'mattermost.service'.

cd /lib/systemd/system/
vim matmost.service

Nyní do něj vložte následující konfiguraci.

[Jednotka]
Description=Mattermost
After=network.target
After=mysql.service
Vyžaduje=mysql.service

[Služba ]
Typ=notify
ExecStart=/opt/mattermost/bin/mattermost
TimeoutStartSec=3600
Restart=always
RestartSec=10
WorkingDirectory=/ opt/mattermost
User=mattermost
Group=mattermost
LimitNOFILE=49152

[Install]
WantedBy=multi-user.target

Uložit a zavřít.

Dále znovu načtěte správce systemd v systému Debian.

systemctl daemon-reload

Poté spusťte službu Mattermost a přidejte ji do spouštění systému.

systemctl začíná nejzávažnější
systemctl umožňuje nejdůležitější

Služba Mattermost je spuštěna, zkontrolujte ji pomocí následujícího příkazu.

nejdůležitější stav systemctl

Níže je výsledek, který dostanete.

Výsledkem je, že služba Mattermost je v systému Debian spuštěna a automaticky se spustí při zavádění systému.

Krok 6 – Instalace Certbot Letsencrypt

V tomto kroku nainstalujeme nástroj certbot a vygenerujeme SSL Letsencrypt. Instalaci Mattermost zabezpečíme pomocí SSL od Letsencrypt.

Nainstalujte nástroj certbot pomocí příkazu apt níže.

sudo apt install certbot

Po dokončení instalace vygenerujte SSL letsencrypt pomocí příkazu certbot níže.

certbot certonly --standalone --agree-tos -m [e-mail chráněný] -d matmost.hakase-labs.io

V důsledku toho budou vaše certifikáty SSL vygenerovány v adresáři '/etc/letsencrypt/live/mattermost-hakase-labs.io'.

Krok 7 – Instalace a konfigurace Nginx jako reverzního proxy

V tomto kroku nainstalujeme webový server Nginx a nastavíme jej jako reverzní proxy pro službu Mattermost.

Nainstalujte Nginx pomocí příkazu apt níže.

sudo apt install nginx -y

Po dokončení instalace spusťte službu Nginx a přidejte ji do spouštění systému.

systemctl spustí nginx 
systemctl povolí nginx

Webový server Nginx je v provozu.

Dále přejděte do konfiguračního adresáře '/etc/nginx' a vytvořte novou konfiguraci virtuálního hostitele.

cd /etc/nginx/
vim sites-available/mattermost

Změňte název domény a cestu k certifikátům SSL za vlastní a poté do něj vložte konfiguraci.

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;
   název_serveru    edu.initrc.fun;
    návrat      //$server_name$request_uri;
}
 
server {
    poslouchat 443 ssl http2;
    název_serveru    edu.initrc.fun

    ssl on;
    ssl_certificate /etc/letsencrypt/live/edu.initrc.fun/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/edu.initrc.fun/privkey.pem;
ssl_session_timeout 1d;
    ssl_protocols TLSv1.2;
    ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHADHERSCHA3805EC-A CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-ECDHE-SHEECHADSA256-ECDHE-SHEECHA25:6 RSA-AES128-SHA256 ';
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:50m;
    # HSTS (je vyžadován modul ngx_http_headers_) (15768000 sekund =6 měsíců)
přísný sport-   SecurityT max->  age=15768000;
    # Sešívání OCSP ---
    # načíst záznamy OCSP z adresy URL v ssl_certificate a uložit je do mezipaměti
    ssl_stapling on;
    ssl_stapling_verify on;

   umístění ~ /api/v[0-9]+/(users/)?websocket$ {
       Upgrade proxy_set_header $http_upgrade;
       proxy_set_header Připojení "upgrade";
       client_max_body_size;
       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-pro->_ setward    proxy_set_header X-Frame-Options SAMEORIGIN;
       proxy_buffers 256 16k;
       proxy_buffer_size 16k;
       client_body_timeout 60;
        se nd_timeout 300;
       lingering_timeout 5;
       proxy_connect_timeout 90;
       proxy_send_timeout 300;
       proxy_read_timeout 90s;

   umístění / {
       client_max_body_size 50M;
       proxy_set_header Connection "";
       proxy_set_header Host $http_host;
       proxy_set_header $rebrteal-IP 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;
    6 proxy 1 brk_6    5 br />       proxy_read_timeout 600s;
       proxy_cache mattermost_cache;
       proxy_cache_revalidate on;
       proxy_cache lock_min_uses 2;
    čas proxy 1    verze proxy />       proxy_pass http://backend;
   }
}

Uložit a zavřít.

Dále vytvořte adresář mezipaměti Nginx a změňte vlastnictví tohoto adresáře na výchozího uživatele „www-data“.

mkdir -p /var/cache/nginx
chown -R www-data:www-data /var/cache/nginx

Poté aktivujte virtuální hostitele Mattermost, otestujte konfiguraci nginx a ujistěte se, že nedochází k chybě.

ln -s /etc/nginx/sites-available/mattermost /etc/nginx/sites-enabled/
nginx -t

Nyní restartujte službu Nginx pomocí příkazu systemctl níže.

systemctl restart nginx

V důsledku toho byla dokončena instalace a konfigurace Nginx jako reverzní proxy pro Mattermost. A jsme připraveni otestovat instalaci Mattermost.

Krok 8 – Testování

Otevřete webový prohlížeč a do adresního řádku zadejte název domény vaší instalační adresy URL Mattermost. Můj je:

https://mattermost.hakase-labs.io/

Nyní si musíte vytvořit nový první účet Mattermost, bude to správce Mattermost.

Zadejte podrobnosti své uživatelské jméno, e-mail a heslo a klikněte na tlačítko "Vytvořit účet".

Vytvořte nový první tým na Mattermost.

Zadejte název svého prvního týmu a klikněte na 'Další'.

A adresa URL týmu bude název týmu, pokračujte kliknutím na 'Dokončit'.

A automaticky se připojíte k výchozímu kanálu „Off-Topic“ a „Town Square“.

V důsledku toho byla instalace Mattermost na Debian Buster 10 s databází MySQL a webovým serverem Nginx úspěšně dokončena.


Debian
  1. Jak nainstalovat MySQL Server na Debian 9

  2. Jak nainstalovat MySQL na Debian 11

  3. Jak nainstalovat MySQL Workbench na Debian 11

  1. Jak nainstalovat MySQL 8.0 / 5.7 na Debian 11 / Debian 10

  2. Jak nainstalovat Gradle na Debian 10

  3. Jak nainstalovat AnyDesk na Debian 10

  1. Jak nainstalovat MySQL na Debian 9

  2. Jak nainstalovat Nextcloud 15 na Debian 9

  3. Jak nainstalovat MySQL Workbench na Debian 10