GNU/Linux >> Znalost Linux >  >> Linux

Jak nasadit Rocket Chat s Nginx na Ubuntu 18.04

Rocket.Chat je bezplatná, open-source, samoobslužná chatovací aplikace, která vám umožňuje hostovat váš vlastní chatovací server. Je velmi podobný Slacku a nabízí podobné funkce včetně sdílení souborů, systémů prodeje vstupenek, videochatu a konferencí. S Rocket.Chat můžete chatovat se členy týmu, vytvářet kanály a soukromé skupiny, provádět videohovory a audiohovory, sdílet obrazovky a nahrávat soubory.

Funkce

  • Výkonná rozhraní API
  • Dálkové sledování videa
  • Bezplatné audio a videokonference
  • Synchronizace skupin LiveChat a LDAP
  • Sdílení obrazovky a souborů
  • Oznámení na ploše a na mobilu
  • Veřejné a soukromé místnosti pro více uživatelů

Rocket.Chat je pro vás tou nejlepší volbou, pokud hledáte chatovací platformu s otevřeným zdrojovým kódem pro hostování v cloudu.

V tomto tutoriálu vám ukážeme, jak nainstalovat a nakonfigurovat Rocket.Chat na Ubuntu 18.04 VPS.

Předpoklady

  • Nové Ubuntu 18.04 VPS na cloudové platformě Atlantic.Net.
  • Platný název domény odkazující na vaši IP adresu VPS. V tomto tutoriálu použijeme node1.example.com.

Poznámka:Informace o správě DNS záznamů naleznete v Atlantic DNS Guide.

Krok 1 – Vytvořte cloudový server Atlantic.Net

Nejprve se přihlaste ke svému cloudovému serveru Atlantic.Net. Vytvořte nový server a jako operační systém vyberte Ubuntu 18.04 s alespoň 2 GB RAM. Připojte se ke svému cloudovému serveru přes SSH a přihlaste se pomocí přihlašovacích údajů zvýrazněných v horní části stránky.

Jakmile se přihlásíte na svůj server Ubuntu 18.04, spusťte následující příkaz a aktualizujte svůj základní systém nejnovějšími dostupnými balíčky.

apt-get update -y

Krok 2 – Instalace Node.js

Rocket.Chat vyžaduje Node.js a další závislosti pro vytváření balíčků npm ze zdroje. Nejprve přidejte úložiště Node.js spuštěním následujícího příkazu:

curl -sL https://deb.nodesource.com/setup_12.x — Node.js 12 LTS "Erbium"| bash -

Dále aktualizujte úložiště a nainstalujte Node.js spolu s požadovanými závislostmi pomocí následujícího příkazu:

apt-get update -y
apt-get install nodejs build-essential curl software-properties-common graphicsmagick -y

Krok 3 – Instalace MongoDB

Rocket.Chat vyžaduje, aby byl na vašem serveru nainstalován MongoDB. Ve výchozím nastavení není nejnovější verze MongoDB dostupná ve výchozím úložišti Ubuntu 18.04, takže budete muset přidat úložiště MongoDB na svůj server.

Nejprve si stáhněte a přidejte oficiální klíč úložiště pomocí následujícího příkazu:

apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

Dále přidejte úložiště MongoDB spuštěním následujícího příkazu:

add-apt-repository 'deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse'

Jakmile je úložiště přidáno, aktualizujte úložiště a nainstalujte MongoDB pomocí následujícího příkazu:

apt-get update -y
apt-get install mongodb-org -y

Jakmile je MongoDB nainstalována, spusťte službu MongoDB a povolte její spuštění po restartu systému:

systemctl start mongod
systemctl enable mongod
netstat -ant

Výstup:

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 127.0.0.1:27017         0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN

Krok 4 – Konfigurace MongoDB

Rocket.Chat používá sadu replik MongoDB ke zlepšení výkonu, takže budete muset nakonfigurovat sadu replik MongoDB. Můžete jej nakonfigurovat pomocí následujícího příkazu:

echo -e "replication:\n replSetName: \"rs01\"" | tee -a /etc/mongod.conf

Poté restartujte službu MongoDB, aby se změny projevily:

systemctl restart mongod

Dále se přihlaste do prostředí MongoDB a spusťte sadu replik pomocí následujícího příkazu:

mongo
rs.initiate()

Měli byste vidět následující výstup:

V tomto okamžiku je MongoDB nainstalován a nakonfigurován pomocí sady replik.

Chcete-li MongoDB opustit, zadejte příkaz Exit.

Krok 5 – Instalace Rocket.Chat

Před spuštěním se doporučuje vytvořit nového uživatele a skupinu pro spuštění Rocket.Chat.

Nejprve vytvořte nového uživatele s názvem rocket pomocí následujícího příkazu:

adduser rocket

Měli byste získat následující výstup:

Dále povolte Nginxu přístup k adresáři Rocket.Chat přidáním uživatele rakety do skupiny www-data:

usermod -a -G rocket www-data

Dále přepněte uživatele na raketu a stáhněte si nejnovější verzi Rocket.Chat pomocí následujícího příkazu:

su - rocket
curl -L https://releases.rocket.chat/latest/download -o rocket.chat.tgz

Po dokončení stahování rozbalte stažený soubor pomocí následujícího příkazu:

tar zxf rocket.chat.tgz

Dále přesuňte extrahovaný adresář do Rocket.Chat pomocí následujícího příkazu:

mv bundle Rocket.Chat

Dále změňte adresář na adresář Rocket.Chat/programs/server a nainstalujte všechny požadované balíčky npm pomocí následujícího příkazu:

cd Rocket.Chat/programs/server
npm install

Poznámka: Instalace Rocket.Chat zabere několik minut

Jakmile jsou všechny balíčky nainstalovány, měli byste vidět následující výstup:

Dále nastavte požadované proměnné prostředí pro testování instalace Rocket.Chat:

export PORT=3000
export ROOT_URL=http://0.0.0.0:3000/
export MONGO_URL=mongodb://localhost:27017/rocketchat
export MONGO_OPLOG_URL=mongodb://localhost:27017/local?replSet=rs01

Dále změňte adresář na Rocket.Chat a spusťte server Rocket.Chat pomocí následujícího příkazu:

cd ~/Rocket.Chat
node main.js

Poznámka: Dokončení tohoto procesu může trvat několik minut

Měli byste získat následující výstup:

Dále zastavte server Rocket.Chat pomocí CTRL+C a poté spusťte následující příkaz pro ukončení uživatele rakety:

exit

Krok 6 – Vytvořte soubor služby Systemd pro Rocket.Chat

Dále vytvořte soubor služby systemd pro spuštění a zastavení služby Rocket.Chat:

nano /etc/systemd/system/rocketchat.service

Přidejte následující řádky:

[Unit]
Description=Rocket.Chat server
After=network.target nss-lookup.target mongod.target


[Service]
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=rocketchat
User=rocket
Environment=MONGO_URL=mongodb://localhost:27017/rocketchat MONGO_OPLOG_URL=mongodb://localhost:27017/local?replSet=rs01 ROOT_URL=http://node1.example.com PORT=3000
ExecStart=/usr/bin/nodejs /home/rocket/Rocket.Chat/main.js


[Install]
WantedBy=multi-user.target

Po dokončení uložte a zavřete soubor. Poté znovu načtěte démona systemd pomocí následujícího příkazu:

systemctl daemon-reload

Dále spusťte službu Rocket.Chat a povolte její spuštění po restartu systému:

systemctl start rocketchat
systemctl enable rocketchat

Nyní můžete ověřit službu Rocket.Chat pomocí následujícího příkazu:

systemctl status rocketchat

Měli byste získat následující výstup:

Krok 7 – Nastavení reverzního proxy s Nginx

Dále budete muset nainstalovat a nakonfigurovat Nginx jako reverzní proxy pro předávání požadavků klientů přicházejících na portu 3000 na port Nginx 80.

Nejprve nainstalujte webový server Nginx pomocí následujícího příkazu:

apt-get install nginx -y

Dále vytvořte konfigurační soubor virtuálního hostitele Nginx pomocí následujícího příkazu:

nano /etc/nginx/sites-available/rocket

Přidejte následující řádky:

server {
  listen 80;

  server_name    node1.example.com;
  access_log /var/log/nginx/rocket-access.log;
  error_log /var/log/nginx/rocket-error.log;

  location / {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:3000/;
  }
}

Po dokončení uložte a zavřete soubor. Poté povolte virtuálního hostitele pomocí následujícího příkazu:

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

Nakonec restartujte službu Nginx, abyste použili změny konfigurace:

systemctl restart nginx

Krok 8 – Přístup k webovému rozhraní Rocket.Chat

Nyní otevřete webový prohlížeč a přejděte na adresu URL http://node1.example.com. Budete přesměrováni na průvodce nastavením Rocket.Chat:

Zadejte své uživatelské jméno, e-mail a heslo správce a klikněte na tlačítko Pokračovat knoflík. Měli byste vidět následující stránku:

Dále zadejte informace o vaší organizaci a klikněte na Pokračovat knoflík. Měli byste vidět následující stránku:

Dále zadejte informace o svém serveru a klikněte na Pokračovat knoflík. Měli byste vidět následující stránku:

Dále použijte předkonfigurované brány a proxy serveru Rocket.Chat a klikněte na tlačítko Pokračovat knoflík. Měli byste vidět následující stránku:

Nyní klikněte na Přejít do svého pracovního prostoru knoflík. Budete přesměrováni na výchozí panel Rocket.Chat:

Závěr

Gratulujeme! Úspěšně jste nainstalovali a nakonfigurovali server Rocket.Chat s Nginx jako reverzní proxy na Ubuntu 18.04 VPS. Můžete navštívit Rocket.Chat Doc a naučit se nový chatovací systém. Začněte s Rocket.Chat ještě dnes na Atlantic.Net VPS!


Linux
  1. Jak nasadit Modsecurity s Nginx na Ubuntu 20.04 LTS

  2. Jak nainstalovat Rocket.Chat na Ubuntu 18.04

  3. Jak nainstalovat a nastavit MERN Stack s Nginx na Ubuntu 20.04

  1. Jak nasadit Rocket.Chat na Ubuntu 18.04

  2. Jak nasadit Rocket.Chat na CentOS 7

  3. Jak nainstalovat Rocket.Chat na Ubuntu 16.04

  1. Jak nainstalovat Rocket.Chat Server s Nginx na Ubuntu 16.04

  2. Jak nainstalovat MediaWiki s Nginx na Ubuntu 16.04

  3. Jak nainstalovat Magento s Nginx na Ubuntu 15.10