Mattermost je open source služba pro rychlé zasílání zpráv. Dodává se v bezplatné i placené verzi. Může být provozován buď v cloudu, nebo on-premise jako webová aplikace. Zde se naučíme, jak nainstalovat a nakonfigurovat Mattermost na Rocky Linux.
Mattermost umožňuje komunikaci mezi jednotlivci a skupinami. Komunikace může probíhat jako chat, videohovor nebo normální telefonní hovor. Výměna dat a odkazů je také možná. Mattermost lze v tomto ohledu považovat za přímého konkurenta MS Teams nebo Slacku. Pokud jste uživateli cloudu, jako je AWS, Google, Azure a další, máte k dispozici předem vytvořené open-source bitové kopie pro instalaci a nasazení Mattermost v cloudu co nejrychleji. Po instalaci lze k jeho webovému rozhraní přistupovat pomocí prohlížeče nebo mobilních a stolních aplikací v systémech Windows, Linux a Mac, iOS a Android.
Pod názvem Omnibus vydal Mattermost balíček, kompletní zásobník bezplatného systému zasílání zpráv, který lze nainstalovat pomocí několika příkazů. Kromě samotného Mattermostu může administrátor nastavit PostgreSQL jako databázi, Nginx jako proxy webový server a Certbot pro vydávání a obnovování SSL certifikátů v žádném okamžiku. Nicméně Omnibus je pouze pro Debian systém založený a nebude fungovat na RHEL nebo jeho derivátech, proto musíme nastavit Mattermost na Rocky Linux krok za krokem.
Kroky k instalaci Mattermost na Rocky Linux 8
1. Spusťte aktualizaci systému
Nejprve aktualizujte stávající balíčky dostupné na vašem Rocky Linuxu, abyste se ujistili, že vše bude v nejnovějším stavu.
sudo dnf update
2. Nainstalujte MySQL Server na Rocky Linux
Pokud již máte nainstalovaný server s databází MySQL, můžete tento krok přeskočit. V opačném případě použijte níže uvedený příkaz k instalaci serveru MySQL na Rocky Linux pro uložení dat, která budou generována Mattermostem.
sudo dnf install mysql-server
Po dokončení instalace se ujistěte, že jeslužba MySQL povolena a spuštěna…
sudo systemctl enable --now mysqld sudo systemctl start mysqld
Zkontrolujte stav-
sudo systemctl status mysqld
Zabezpečte instalaci databázového serveru.
sudo mysql_secure_installation
Když spustíme výše uvedený příkaz, požádá nás o nastavení hesla pro Mysql a odstranění dalších věcí, které činí databázi zranitelnou.
3. Vytvořte databázi pro Mattermost
Nyní se přihlásíme k našemu serveru MySQL a vytvoříme databázi, kterou později použijeme s instalací Mattermost.
Chcete-li se přihlásit jako uživatel root, zadejte-
mysql -u root -p
Vytvořit databázi:
Nahraďte h2sdb s názvem, který chcete dát své databázi.
CREATE DATABASE h2sdb;
Dále vytvořte uživatele databáze.
Zde h2suser uživatelské jméno a průchod je heslo, které jsme k tomu použili. Tyto hodnoty můžete změnit…
CREATE USER 'h2suser'@'localhost' IDENTIFIED BY 'pass';
Přiřadit všechna práva databáze vytvořenému uživateli.
grant all privileges on h2sdb.* to h2suser@localhost;
Znovu načtěte tabulky grantů a ukončete-
flush privileges; exit;
4. Nainstalujte Mattermost Server na Rocky Linux 8
Nyní si stáhneme nejnovější verzi serveru Mattermost k instalaci. Přejděte naoficiální web stránku pro stažení a zkopírujte nejnovější URL pro stažení souboru tar a použijte ji s wget
příkaz na vašem terminálu Rocky Linux, abyste jej získali. Při psaní tohoto článku byla nejnovější dostupná verze 5.34.2, pokud je to stejné i ve vašem případě, můžete také použít níže uvedený příkaz.
sudo dnf instal wget -y
wget https://releases.mattermost.com/5.34.2/mattermost-5.34.2-linux-amd64.tar.gz
Extrahovat a přesuňte stažený soubor do /opt adresář. Abychom to náhodou nesmazali.
tar -xf mattermost-*-linux-amd64.tar.gz
sudo mv mattermost /opt
Vytvořit datový adresář do zkopírované složky pro uložení dat-
sudo mkdir /opt/mattermost/data
5. Vytvořit uživatele a skupinu
Z bezpečnostních důvodů vytvoříme samostatného uživatele a skupinu pro Mattermost na Rocky Linuxu. Bude mít právo spravovat a přistupovat ke službám Mattermost.
Přidat uživatele a skupinu s názvem Matmost –
sudo useradd --system --user-group mattermost
Přidejte nově vytvořenému uživateli a právo spravovat zkopírovanou složku v /opt adresář.
sudo chown -R mattermost:mattermost /opt/mattermost
Nastavte oprávnění ke čtení a zápisu.
sudo chmod -R g+w /opt/mattermost
6. Nastavte ovladač databáze a zdroj dat v
Upravte konfigurační soubor a změňte dvě věci – název ovladače databáze a zdroj dat-
sudo dnf install nano -y
sudo nano /opt/mattermost/config/config.json
Ovladač databáze:
Použijte šipky na klávesnici a přejděte dolů, dokud nenajdete hodnoty DriverName v části Nastavení SQL. Ve výchozím nastavení bude nastaveno pro PostgreSQL a pokud používáte MySQL, změňte jej na mysql
.
Nastavte „DriverName “:”mysql ”
Dále, hned pod ním, najdeteZdroj dat řádek, který je -"postgres://mmuser:<mmuser-password>@<host-name-or-IP>:5432/mattermost?sslmode=disable&connect_timeout=10".
Změnit to s níže uvedeným a také nahradit tučné text
"mmuser:<mmuser-password>@tcp(<host-name-or-IP>:3306)/mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s"
Nahradit –
mmuser
– S vaším uživatelem databáze MySQL
mmuser-password-
Nahraďte heslem databáze
<host-name-or-IP>
– Zadejte svou IP-adresu databázového serveru . Pokud používáte stejný server pro databázi Mattermost i MySQL, pak ji nahraďte localhost
nebo 127.0.0.1
mattermost
– Smazat zadejte název vaší databáze.
Příklad – Pokud používáte hodnotu naší databáze MySQL, bude tento řádek zdroje dat vypadat takto
"h2suser:pass@tcp(127.0.0.1:3306)/h2sdb?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s"
Uložte a zavřete soubor stisknutím Ctrl+X , zadejte y, a stiskněte Enter Klíč.
Otestujte, zda vše funguje správně
Přepněte se do nejzávažnějšího adresáře a spusťte jeho server-
cd /opt/mattermost sudo -u mattermost ./bin/mattermost
Uvidíte text, kde server naslouchá na portu 8065, což ukazuje, že funguje a konfigurační soubor je platný. Chcete-li jej zastavit, stiskněte Ctrl+C.
7. Vytvořte soubor systémové služby Mattermost na Rocky Linux
Chcete-li spustit službu této bezplatné platformy pro zasílání zpráv na pozadí, kterou lze zastavit nebo spustit pomocí příkazu systemctl, vytvořte pro ni konfigurační soubor.
sudo nano /etc/systemd/system/mattermost.service
Zkopírujte do něj níže uvedený kód.
[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 soubor stisknutím ctrl+x poté zadejte- Y a stiskněte Enter Klíč.
Nastavit soubor jako spustitelný-
sudo chmod 664 /etc/systemd/system/mattermost.service
Znovu načtěte služby systemd-
sudo systemctl daemon-reload
8. Povolit a spustit jeho službu
Nyní povolte spouštění výše vytvořeného servisního souboru při spouštění systému a také spusťte to samé.
sudo systemctl enable mattermost.service
Začněte-
sudo systemctl start mattermost.service
Zkontrolovat stav-
sudo systemctl status mattermost.service
Ukončení - Ctrl+C
9. Přístup k webovému rozhraní Mattermost
Pokud chcete k tomuto chatovacímu serveru přistupovat pomocí IP adresy, otevřete nejprve číslo portu 8065 na vašem Rocky Linux
sudo firewall-cmd --zone=public --add-port=8065/tcp
Nyní otevřete webový prohlížeč a nasměrujte ji na adresu IP serveru, kam jste nainstalovali Mattermost. Například – pokud je IP adresa vašeho serveru 192.168.0.108, bude adresa URL vypadat takto –
192.168.0.108:8065
Najdete toto-
Zadejte svou e-mailovou adresu a další údaje pro vytvoření účtu.
10:Použijte plně kvalifikovanou doménu a port 80/443
Existují dva způsoby použití FQDn, oba však vyžadují nejprve mapování domény s IP adresou serveru pomocí DNS serveru.
1. metoda:
Chcete-li pro přístup k serveru použít místo IP adresy standardní FQDn, nejprve nasměrujte doménu na IP adresu Mattermost a poté přejděte do Systémové konzoly a vyberte webový server .
Zde zadejte doménu webové stránky nebo URL, na kterou musíte odkazovat na její server. A pokud nechcete pro doménu používat číslo portu 8065, nahraďte ho 80 nebo 445.
Po nastavení otestujte živou adresu URL. Pokud to funguje dobře, můžete použít možnost Let’s Encrypt, která je tam uvedena, a získat bezplatný certifikát SSL.
2. metoda
Použití Nginx Reverse Proxy
I když můžeme název domény přímo nasměrovat na IP adresu vašeho serveru, abychom získali přístup k Mattermostu pomocí plně kvalifikované domény, pro zlepšení zabezpečení si však nainstalujme Nginx jako reverzní proxy.
sudo dnf install epel-release sudo dnf install nginx
Povolit a spustit
sudo systemctl enable --now nginx sudo systemctl start nginx
Vytvořte konfigurační soubor
sudo nano /etc/nginx/conf.d/mattermost.conf
Vložte níže uvedený kód a nahraďte mattermost.how2shout.com s názvem domény, kterou chcete používat…
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; server_name mattermost.how2shout.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://backend; } 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://backend; } }
Uložte soubor - Ctrl+X , stiskněte Y, a stiskněte Enter klíč.
Zkontrolujte, zda konfigurační soubor funguje bez jakékoli chyby-
sudo nginx -t
Restartujte server Nginx
sudo systemctl restart nginx
Otevřete port 80 a 443 na bráně firewall serveru
sudo firewall-cmd --add-service={http,https} --permanent sudo firewall-cmd --reload
Nyní, pokud jste nasměrovali svou doménu na IP adresu serveru, budete k ní mít přístup v prohlížeči. Chyba certifikátu SSL tam však bude. Chcete-li jej tedy odstranit, nainstalujte jej pomocí Let’s Encrypt.
Další informace naleznete v oficiální dokumentaci Mattermost.