V tomto tutoriálu vám ukážeme, jak nainstalovat Mattermost na CentOS 8. Pro ty z vás, kteří to nevěděli, je Mattermost open source, privátní cloudová alternativa Slack. Pracoviště systém zasílání zpráv pro web, počítače a telefony, vydaný pod licencí MIT. Jako alternativa k proprietárnímu zasílání zpráv SaaS přináší Mattermost veškerou vaši týmovou komunikaci na jedno místo, takže ji lze vyhledávat a zpřístupnit odkudkoli. Mattermost je „kompatibilní se Slackem, nikoli se Slackem -limited", podporující nadmnožinu příchozích a odchozích integrací webhooku Slack, včetně kompatibility se stávajícími integracemi Slack. Ze stávajících týmů Slack můžete importovat uživatele, historii veřejného kanálu a dokonce i barvy nastavení motivu do Mattermost.
Tento článek předpokládá, že máte alespoň základní znalosti Linuxu, víte, jak používat shell, a co je nejdůležitější, hostujete svůj web na svém vlastním VPS. Instalace je poměrně jednoduchá a předpokládá, že běží v účtu root, pokud ne, možná budete muset přidat 'sudo
‘ k příkazům pro získání oprávnění root. Ukážu vám krok za krokem instalaci Mattermost na CentOS 8.
Předpoklady
- Server s jedním z následujících operačních systémů:CentOS 8.
- Abyste předešli případným problémům, doporučujeme použít novou instalaci operačního systému.
non-root sudo user
nebo přístup kroot user
. Doporučujeme jednat jakonon-root sudo user
, protože však můžete poškodit svůj systém, pokud nebudete při jednání jako root opatrní.
Nainstalujte Mattermost na CentOS 8
Krok 1. Nejprve začněme tím, že zajistíme, aby byl váš systém aktuální.
sudo dnf clean all sudo dnf install epel-release sudo dnf update
Krok 2. Instalace databázového serveru.
Spuštěním následujícího příkazu nainstalujte MariaDB:
sudo dnf install mariadb-server
Ve výchozím nastavení není MariaDB tvrzená. MariaDB můžete zabezpečit pomocí mysql_secure_installation
skript. měli byste si pozorně přečíst a níže každý krok, který nastaví heslo root, odstraní anonymní uživatele, zakáže vzdálené přihlášení root a odstraní testovací databázi a přístup k zabezpečené MariaDB:
mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! Enter current password for root (enter for none): OK, successfully used password, moving on... Set root password? [Y/n] y New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. ... Success! Remove anonymous users? [Y/n] y ... Success! Disallow root login remotely? [Y/n] y ... Success! Remove test database and access to it? [Y/n] y - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reload privilege tables now? [Y/n] y ... Success! Cleaning up... Thanks for using MariaDB!
Potom restartujte databázový server MariaDB a povolte jeho spuštění při startu systému pomocí:
sudo systemctl restart mariadb sudo systemctl status mariadb sudo systemctl enable mariadb
Po instalaci databáze se přihlaste do prostředí MariaDB a vytvořte databázi a uživatele pro Mattermost:
$ mysql -u root -p CREATE DATABASE mattermost; GRANT ALL PRIVILEGES ON mattermost.* TO mattermost@localhost IDENTIFIED BY 'Your-Strong-Passwd'; FLUSH PRIVILEGES; QUIT;
Krok 3. Instalace Mattermost na CentOS 8.
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:
sudo useradd -d /opt/mattermost -U -M mattermost
Dále si stáhněte nejnovější verzi Mattermost:
wget https://releases.mattermost.com/5.20.2/mattermost-5.20.2-linux-amd64.tar.gz
Rozbalte archiv Mattermost do kořenového adresáře dokumentu na vašem serveru:
tar xf *.gz mv mattermost /opt/
Vytvořte adresář pro ukládání souborů:
mkdir /opt/mattermost/data
Také nastavte vlastnictví a oprávnění:
sudo chown -R mattermost:mattermost /opt/mattermost sudo chmod -R g+w /opt/mattermost
Dále budeme muset nastavit ovladač databáze v souboru /opt/mattermost/config/config.json
provedením některých změn v jeho obsahu. Vyhledejte „DriverName “ a „Zdroj dat ” řádky a změňte je následovně:
nano /opt/mattermost/config/config.json
"SqlSettings": { "DriverName": "mysql", "DataSource": "mattermost:Str0ngP@ss@tcp(localhost:3306)/mattermost?charset=utf8mb4,utf8\u0026readTimeout=30s\u0026writeTimeout=30s", "DataSourceReplicas": [], "DataSourceSearchReplicas": [], "MaxIdleConns": 20, "ConnMaxLifetimeMilliseconds": 3600000, "MaxOpenConns": 300, "Trace": false, "AtRestEncryptKey": "myyti1r597i99qrk7eu91ywqhaawz4md", "QueryTimeout": 30 },
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
Krok 4. Nakonfigurujte Mattermost Systemd Service.
Nejprve vytvoříme nový systemd
soubor jednotky pomocí následujícího příkazu:
nano /etc/systemd/system/mattermost.service
[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
Dále spusťte službu Mattermost a povolte její spuštění po restartu systému pomocí následujícího příkazu:
sudo systemctl daemon-reload sudo systemctl start mattermost.service sudo systemctl enable mattermost.service
Ověřte, že Mattermost běží a naslouchá na portu 8065. Můžete to zkontrolovat pomocí následujícího příkazu:
curl http://localhost:8065
Krok 5. Konfigurace Nginx pomocí Mattermost.
Nainstalujte a nakonfigurujte Nginx jako reverzní proxy pro lepší výkon a zabezpečení. Nyní nainstalujeme Nginx na systém CentOS:
sudo dnf install nginx
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:
sudo systemctl start nginx sudo systemctl enable nginx
Potom nakonfigurujte webový server Nginx jako proxy pro Mattermost:
sudo nano /etc/nginx/conf.d/mattermost.conf
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.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://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; } }
Aby se změny projevily, restartujte službu Nginx:
nginx -t sudo systemctl restart nginx
Krok 6. Nakonfigurujte bránu firewall.
Povolení přístupu brány firewall na portech HTTP a HTTPS:
sudo firewall-cmd --add-service={http,https} --permanent sudo firewall-cmd --reload
Krok 7. Přístup k webovému rozhraní Mattermost.
Mattermost bude ve výchozím nastavení k dispozici na portu HTTP 80. Otevřete svůj oblíbený prohlížeč a přejděte na http://mattermost.example.com
a pokračujte v konfiguraci Mattermost zadáním e-mailové adresy a vytvořením účtu.
Gratulujeme! Úspěšně jste nainstalovali Mattermost. Děkujeme, že jste použili tento návod k instalaci Mattermostu na systém CentOS 8. Pro další pomoc nebo užitečné informace vám doporučujeme navštívit oficiální web Mattermost.
P>