GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat Mattermost s PostgreSQL a Nginx na Ubuntu 16.04

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 si s ní vytvořit vlastní službu 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ás provedu vytvořením vlastního serveru Mattermost, který používá PostgreSQL jako databázový systém a Nginx jako reverzní proxy pro Mattermost. Jako operační systém použiji ubuntu 16.04.

Předpoklad

  • Ubuntu 16.04 – 64bit
  • Kořenová oprávnění

Krok 1 – Instalace a konfigurace databáze PostgreSQL

Mattermost podporuje databáze MySQL a PostgreSQL. Pro tento tutoriál použijeme PostgreSQL jako hlavní databázi. Připojte se ke svému serveru a aktualizujte úložiště.

Připojte se ke svému serveru pomocí SSH nebo se přihlaste na terminálu a aktualizujte úložiště Ubuntu.

ssh [email protected]
sudo apt-get update

Jako uživatel root nainstalujte PostgreSQL pomocí tohoto příkazu apt.

sudo apt-get install postgresql postgresql-contrib

Po dokončení instalace se přihlaste k uživateli postgres a zadejte příkaz 'psql ' pro přihlášení do prostředí postgresql.

su - postgres
psql

Změňte uživatelské heslo postgres pomocí příkazu níže:

\password postgres
Enter new password:

Dále musíme nakonfigurovat novou databázi a uživatele pro instalaci Mattermost. Vytvořím novou databázi s názvem 'mattermostdb “ a uživatel „mattteruser ' s heslem 'matterpassword '. Zvolte prosím pro svou instalaci bezpečné heslo.

Vytvořte novou databázi a uživatele pomocí PostgreSQL dotazu níže:

CREATE DATABASE mattermostdb;
CREATE USER matteruser WITH PASSWORD 'matterpassword';

Grant 'mattteruser ' oprávnění k databázi 'mattermostdb “ a ukončete.

GRANT ALL PRIVILEGES ON DATABASE mattermostdb TO matteruser;
\q

Krok 2 – Instalace a konfigurace Mattermost

Nainstalujeme a nakonfigurujeme Mattermost jako normální uživatel Linuxu, nikoli jako uživatel root. Mattermost spustíme jako uživatel 'matter', takže musíme na serveru vytvořit nového uživatele Linuxu s názvem 'matter'.

Vytvořte novou 'záležitost ' uživatel a heslo.

useradd -m -s /bin/bash matter
passwd matter

Vytvořen uživatel 'matter', nyní se přihlaste k uživateli a stáhněte si nejnovější verzi Mattermost pomocí wget.

su - matter
wget https://releases.mattermost.com/3.4.0/mattermost-3.4.0-linux-amd64.tar.gz

Rozbalte soubor Mattermost a uvidíte nový adresář 'mattermost', zadejte tento adresář příkazem cd.

tar -xzvf mattermost-3.4.0-linux-amd64.tar.gz
cd mattermost/

Dále vytvořte nový adresář 'data' pro ukládání uživatelských souborů a poté upravte nejdůležitější konfigurační soubor 'config/config.json s vim.

mkdir data/
vim config/config.json

Mattermost budeme provozovat za reverzním proxy Nginx, takže je lepší nakonfigurovat Mattermost tak, aby naslouchal na místní IP adrese. V části 'ServiceSettings ', přidejte IP adresu localhost do konfigurace na řádku 4.

"ListenAddress": "127.0.0.1:8065",

Nyní přejděte na 'SqlSettings ' na řádku 48. Změňte 'Jméno ovladače “ a „Zdroj dat ' konfigurace pro použití databáze PostgreSQL s konfigurací níže:

"DriverName": "postgres",
"DataSource": "postgres://matteruser:[email protected]:5432/mattermostdb?sslmode=disable&connect_timeout=10",

Poznámka:

matteruser =uživatel postgresql.
heslo záležitosti =heslo.
mattermostdb =databáze.

Uložte a ukončete.

Až to uděláte, přejděte do adresáře bin a spusťte to nejdůležitější.

cd bin/
./platform

Uvidíte, že nejzásadnější nyní běží na localhost IP s portem 8065.

Stiskněte Ctrl + c pro ukončení.

Krok 3 – Konfigurace Mattermost Systemd Service

Přejděte do adresáře systému systemd a vytvořte nový soubor služby nejzávažnější.

cd /etc/systemd/system/
vim mattermost.service

Vložte konfiguraci níže:

[Unit]
Description=Mattermost is an open source, self-hosted Slack-alternative
After=syslog.target network.target

[Service]
Type=simple
User=matter
Group=matter
ExecStart=/home/matter/mattermost/bin/platform
PrivateTmp=yes
WorkingDirectory=/home/matter/mattermost
Restart=always
RestartSec=30
LimitNOFILE=49152

[Install]
WantedBy=multi-user.target

Uložte a ukončete.

Znovu načtěte démona systemd a spusťte službu Mattermost, kterou jsme vytvořili výše.

systemctl daemon-reload
systemctl start mattermost

Ujistěte se, že nedošlo k chybě. Zkontrolujte, zda je spuštěna služba Mattermost.

netstat -plntu
systemctl status mattermost

Krok 4 – Instalace a konfigurace Nginx

V tomto kroku nainstalujeme Nginx a nakonfigurujeme Nginx jako reverzní proxy pro Mattermost. Namapujeme nejdůležitější port 8056 na port HTTP a HTTPS.

Nainstalujte Nginx z úložiště Ubuntu pomocí tohoto příkazu apt.

sudo apt-get install nginx

Nyní přejděte do konfiguračního adresáře Nginx a vytvořte podadresář SSL.

cd /etc/nginx/
mkdir ssl/; cd ssl/

Vygenerujte nový soubor certifikátu SSL s vlastním podpisem pomocí OpenSSL a změňte oprávnění soukromého klíče.

openssl req -new -x509 -days 365 -nodes -out /etc/nginx/ssl/mattermost.crt -keyout /etc/nginx/ssl/mattermost.key
chmod 400 mattermost.key

Vytvořte nový soubor virtuálního hostitele pro Mattermost v části 'sites-available ' adresář.

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

Níže vložte konfiguraci virtuálního hostitele:

server {
   listen         80;
   server_name    mattermost.mydomain.com;
   return         301 https://$server_name$request_uri;
}

server {
   listen 443 ssl;
   server_name mattermost.mydomain.com;

   ssl on;
   ssl_certificate /etc/nginx/ssl/mattermost.crt;
   ssl_certificate_key /etc/nginx/ssl/mattermost.key;
   ssl_session_timeout 5m;
   ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
   ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
   ssl_prefer_server_ciphers on;
   ssl_session_cache shared:SSL:10m;

   location / {
      gzip off;
      proxy_set_header X-Forwarded-Ssl on;
      client_max_body_size 50M;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "upgrade";
      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_pass http://127.0.0.1:8065;
   }
}

Změňte název domény na svou vlastní doménu, uložte a ukončete.

Aktivujte virtuálního hostitele vytvořením symbolického odkazu na nejzávažnější soubor v 'sites-enabled ' adresář.

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

Otestujte konfiguraci Nginx a ujistěte se, že nedošlo k chybě, a restartujte nginx.

nginx -t
systemctl restart nginx

Krok 5 – Testování

Otevřete webový prohlížeč a navštivte nejzávažnější název domény, v mém případě:matemost.mojedomena.com.

Budete automaticky přesměrováni na připojení HTTPS.

Nejprve si vytvořte nový účet, klikněte na 'Vytvořit účet '.

Poté můžete vidět odkaz pro vytváření nových týmů nebo pro přístup do administrátorské/systémové konzole.

Klikněte na 'Přejít do systémové konzoly “ a níže uvidíte řídicí panel systémové konzoly:

Klikněte na 'Vytvořit nový tým ', zadejte název týmu a klikněte na 'Další '. Poté nakonfigurujte adresu URL týmu a klikněte na 'Dokončit '.

Nakonec uvidíte Team Dashboard.

Mattermost Team Chat.

Mattermost s PostgreSQL a webovým serverem Nginx na Ubuntu 16.04 byl úspěšně nainstalován.


Ubuntu
  1. Jak nainstalovat a zabezpečit phpMyAdmin pomocí Apache na Ubuntu 18.04

  2. Jak nainstalovat Postgresql a phpPgAdmin na Ubuntu 15.04

  3. Jak nainstalovat Nginx s PHP5 a MySQL na Ubuntu 11.10

  1. Jak nainstalovat phpMyAdmin s Nginx na Ubuntu 18.04

  2. Jak nainstalovat MediaWiki s Nginx na Ubuntu 16.04

  3. Jak nainstalovat Magento 2 s Nginx a Letsencrypt na Ubuntu 18.04

  1. Jak nainstalovat Gitlab s PostgreSQL a Nginx na Ubuntu 15.04

  2. Jak nainstalovat Magento s Nginx na Ubuntu 15.10

  3. Jak nainstalovat Drupal 8 s Nginx, PHP-FPM a SSL na Ubuntu 15.10