Android

Jak nasadit co nejvíc na Ubuntu 18.04

Rocket.Chat Demo

Rocket.Chat Demo

Obsah:

Anonim

Mattermost je podniková platforma pro rychlé zasílání zpráv, alternativa Slack s vlastním hostitelem. Je napsán v Golang and React a může použít MySQL nebo PostgreSQL jako databázový backend. Mattermost přináší veškerou vaši týmovou komunikaci na jedno místo a poskytuje různé funkce včetně sdílení souborů, one-on-one a skupinových zpráv, vlastních emodži, videohovorů a dalších.

V tomto tutoriálu nainstalujeme Mattermost na server Ubuntu 18.04 a nakonfigurujeme Nginx jako reverzní proxy SSL.

Předpoklady

Před pokračováním v tomto kurzu se ujistěte, že jste splnili následující předpoklady:

  • Jste přihlášeni jako uživatel s právy sudo. Název domény ukazuje na IP adresu vašeho serveru. použijeme example.com . Máte nainstalovaný Nginx, pokud to nezkontrolujete. Máte nainstalovaný SSL certifikát pro vaši doménu. Podle této příručky si můžete nainstalovat bezplatný certifikát Pojďme šifrovat SSL.

Vytvořte MySQL databázi

MySQL použijeme jako databázi pro Mattermost. Pokud na svém serveru nemáte nainstalovanou MySQL nebo MariaDB, můžete ji nainstalovat podle těchto pokynů.

Přihlásit se do prostředí MySQL:

mysql -u root

Vytvořte novou databázi a uživatele pro naši instalaci Mattermost pomocí:

CREATE DATABASE mattermost; GRANT ALL ON mattermost.* TO mattermost@localhost IDENTIFIED BY 'P4ssvv0rD'; Ujistěte se, že používáte heslo, které je bezpečnější než P4ssvv0rD .

Vytvořit nového uživatele systému

Vytvořte nového uživatele a skupinu, která spustí naši instanci Mattermost. mattermost jména uživatele:

sudo useradd -U -M -d /opt/mattermost mattermost

Nainstalujte Mattermost Server

V době psaní tohoto článku je nejnovější stabilní verze Mattermost verze 5.1.0. Stáhněte si archiv pomocí následujícího příkazu curl:

sudo curl -L https://releases.mattermost.com/5.1.0/mattermost-5.1.0-linux-amd64.tar.gz -o /tmp/mattermost.tar.gz

Po dokončení stahování rozbalte archiv a přesuňte jej do adresáře /opt

sudo tar zxf /tmp/mattermost.tar.gz -C /opt

Vytvořte adresář úložiště pro soubory:

sudo mkdir -p /opt/mattermost/data

Změňte vlastnictví adresáře na mattermost uživatele:

sudo chown -R mattermost: /opt/mattermost

Otevřete soubor /opt/mattermost/config/config.json , nastavte ovladač databáze na mysql a zadejte informace o databázi:

/opt/mattermost/config/config.json

"SqlSettings": { "DriverName": "mysql", "DataSource": "mattermost:P4ssvv0rD@tcp(localhost:3306)/mattermost?charset=utf8mb4, utf8&readTimeout=30s&writeTimeout=30s",

Abychom se ujistili, že naše instance Mattermost funguje podle očekávání, otestujeme server Mattermost. Přejděte do adresáře /opt/mattermost a spusťte server pomocí následujících příkazů:

cd /opt/mattermost sudo -u mattermost bin/mattermost

Pokud vše funguje dobře, server se spustí a výstup bude vypadat asi takto:

{"level":"info", "ts":1532546921.941638, "caller":"app/server.go:115", "msg":"Starting Server…"} {"level":"info", "ts":1532546921.9421031, "caller":"app/server.go:154", "msg":"Server is listening on:8065"} {"level":"info", "ts":1532546921.9541554, "caller":"app/web_hub.go:75", "msg":"Starting 2 websocket hubs"}

Nyní můžeme zastavit server Mattermost pomocí CTRL+C a pokračovat v dalších krocích.

Vytvořte jednotku Systemd

Abychom mohli spustit naši instanci Mattermost jako službu, vytvoříme soubor jednotkymostmost.service v adresáři /etc/systemd/system/ .

Otevřete textový editor a vytvořte následující soubor:

/etc/systemd/system/mattermost.service

Description=Mattermost After=network.target After=mysql.service Requires=mysql.service Type=notify ExecStart=/opt/mattermost/bin/mattermost TimeoutStartSec=3600 Restart=always RestartSec=10 WorkingDirectory=/opt/mattermost User=mattermost Group=mattermost LimitNOFILE=49152 WantedBy=mysql.service

Upozorněte systém, že jsme vytvořili nový soubor jednotky a spusťte službu Mattermost pomocí následujících příkazů:

sudo systemctl daemon-reload sudo systemctl start mattermost

Nyní můžeme zkontrolovat stav služby pomocí:

sudo systemctl status mattermost

● mattermost.service - Mattermost Loaded: loaded (/etc/systemd/system/mattermost.service; disabled; ven Active: active (running) since Wed 2018-07-25 18:39:05 UTC; 41s ago Main PID: 3091 (mattermost) Tasks: 18 (limit: 507) CGroup: /system.slice/mattermost.service ├─3091 /opt/mattermost/bin/mattermost

Pokud nenastanou žádné chyby, povolte, aby se služba Mattermost automaticky spustila v době spuštění:

sudo systemctl enable mattermost

Nastavit reverzní proxy pomocí Nginx

Nyní musíme nastavit nový blok serveru pro instanci Mattermost. Otevřete textový editor a vytvořte následující soubor:

/etc/nginx/conf.d/example.com.conf

proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=mattermost_cache:10m max_size=3g inactive=120m use_temp_path=off; upstream mattermost_backend { server 127.0.0.1:8065; } server { listen 80; server_name example.com www.example.com; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; access_log /var/log/nginx/example.com-access.log; error_log /var/log/nginx/example.com-error.log; location ~ /api/v+/(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; proxy_read_timeout 600s; proxy_pass http://mattermost_backend; } location / { proxy_http_version 1.1; 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_pass http://mattermost_backend; } }

Znovu načtěte službu Nginx, aby se změny projevily:

sudo systemctl reload nginx

Konfigurace nejzazší

Otevřete svůj prohlížeč, zadejte svou doménu a budete přesměrováni na stránku s nápovědou.

Zadejte svůj e-mail, vyberte uživatelské jméno a heslo a kliknutím na tlačítko Create Account vytvořte svůj první účet.

Můžete použít jakékoli populární transakční e-mailové služby, jako jsou SendinBlue, SendGrid, Amazon SES, Mandrill, Mailgun, Mailjet a Postmark, nebo si můžete nastavit svůj vlastní poštovní server podle tohoto tutoriálu.

Nakonec musíme restartovat službu Mattermost, aby se změny projevily:

sudo systemctl restart mattermost

Závěr

Úspěšně jste nainstalovali Mattermost na server Ubuntu 18.04 a Nginx jste nastavili jako reverzní proxy. Nyní můžete začít používat Mattermost ke spolupráci se svým týmem.

rocketchat nodejs ubuntu