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.gzRozbalte zdrojový kód Mattermost a vytvořte nový adresář 'data'.
tar -xf mattermost.tar.gz
mkdir -p /opt/mattermost/dataPoté 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/mattermostV 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.jsonU 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/mattermostNíž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.serviceNyní 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.targetUložit a zavřít.
Dále znovu načtěte správce systemd v systému Debian.
systemctl daemon-reloadPoté 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 systemctlNíž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 certbotPo 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.ioV 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 -yPo dokončení instalace spusťte službu Nginx a přidejte ji do spouštění systému.
systemctl spustí nginx
systemctl povolí nginxWebový 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/mattermostZměň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/nginxPoté 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 -tNyní restartujte službu Nginx pomocí příkazu systemctl níže.
systemctl restart nginxV 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.
Jak nainstalovat Node.js na Debian 10 a nakonfigurovat Nginx jako frontend proxy server Jak nainstalovat dokumentový server ONLYOFFICE s Nginx na Debian 10Debian