Rocket.Chat je webová chatovací aplikace napsaná v JavaScriptu využívající rámec Meteor full-stack. Jedná se o open-source platformu pro spolupráci na chatu, která umožňuje bezpečnou komunikaci v reálném čase na více zařízeních. Je hostován samostatně a podporuje hlasový chat a videochat, videokonference, sdílení souborů a mnoho dalších. Má klientskou aplikaci dostupnou pro všechny platformy včetně Windows, macOS, Linux, Android a iOS.
V tomto tutoriálu vám ukážeme, jak nainstalovat Rocket.Chat na server Ubuntu 20.04.
Předpoklady
- Server se systémem Ubuntu 20.04.
- Platný název domény s adresou IP vašeho serveru.
- Na serveru je nakonfigurováno heslo uživatele root.
Začínáme
Před spuštěním se doporučuje aktualizovat systémové balíčky na nejnovější verzi. Můžete je aktualizovat pomocí následujícího příkazu:
apt-get update -y
Po aktualizaci systému nainstalujte další požadované závislosti pomocí následujícího příkazu:
apt-get install nginx gnupg2 git unzip build-essential curl software-properties-common graphicsmagick -y
Jakmile jsou všechny balíčky nainstalovány, můžete přejít k dalšímu kroku.
Instalovat Node.js
Dále budete muset do systému nainstalovat Node.js verze 12. Ve výchozím nastavení není k dispozici ve standardním úložišti Ubuntu 20.04. Budete tedy muset do svého systému přidat oficiální úložiště Node.js. Můžete jej přidat pomocí následujícího příkazu:
curl -sL https://deb.nodesource.com/setup_12.x | bash -
Po přidání úložiště nainstalujte soubor Node.js pomocí následujícího příkazu:
apt-get install nodejs -y
Po instalaci Node.js ověřte nainstalovanou verzi Node.js pomocí následujícího příkazu:
node -v
Měli byste získat následující výstup:
v12.19.0
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Instalace a konfigurace MongoDB
Dále budete muset nainstalovat server MongoDB do vašeho systému. Ve výchozím nastavení není nejnovější verze MongoDB k dispozici ve výchozím úložišti Ubuntu 20.04. Budete tedy muset do svého systému přidat úložiště MongoDB. Nejprve si stáhněte a přidejte klíč GPG pomocí následujícího příkazu:
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
Měli byste získat následující výstup:
Provádění:/tmp/apt-key-gpghome.Ku2thT4UnL/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C729DC72GD655558ongD2929D72g klíč. Klíč <[email protected]>" importedgpg:Celkový počet zpracovaných:1gpg:importováno:1
Dále přidejte oficiální úložiště MongoDB pomocí následujícího příkazu:
add-apt-repository 'deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse'
Po přidání úložiště nainstalujte MongoDB pomocí následujícího příkazu:
apt-get install mongodb-org -y
Po instalaci MongoDB spusťte službu MongoDB a povolte její spuštění při restartu systému:
systemctl spustit mongod
systemctl povolit mongod
Dále budete muset upravit výchozí konfigurační soubor MongoDB a definovat sadu replik. Můžete to udělat pomocí následujícího příkazu:
nano /etc/mongod.conf
Přidejte následující řádky:
replikace:replSetName:"replica01"
Uložte a zavřete soubor a poté restartujte službu MongoDB, abyste použili konfiguracig:
systemctl restart mongod
Dále se přihlaste do prostředí MongoDB a povolte repliku pomocí následujícího příkazu:
mongo
> rs.initiate()
Měli byste získat následující výstup:
{ "info2" :"není zadána konfigurace. Používá se výchozí konfigurace pro sadu", "me" :"127.0.0.1:27017", "ok" :1, "operationTime" :Timestamp(1605081439, 1) , "$clusterTime" :{ "clusterTime" :Timestamp(1605081439, 1), "signature" :{ "hash" :BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "keyId" :NumberLong(0) } }}Dále ukončete prostředí MongoDB pomocí následujícího příkazu:
> ukončitJakmile budete hotovi, můžete přejít k dalšímu kroku.
Instalovat Rocket.Chat
Dále budete muset vytvořit nového uživatele pro Rocket.Chat a přidat ho do skupiny www-data. Můžete to udělat pomocí následujícího příkazu:
useradd -m -U -r -d /opt/rocket rocket --shell /bin/bash
usermod -a -G raketa www-dataDále udělte správná oprávnění adresáři /opt/rocket:
chmod 750 /opt/rocketDále přepněte uživatele na Rocket.Chat 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.tgzPo dokončení stahování rozbalte stažený soubor pomocí následujícího příkazu:
tar -xvzf rocket.chat.tgzDále přejmenujte extrahovaný adresář na Rocket.Chat pomocí následujícího příkazu:
balíček mv Rocket.ChatDále změňte adresář na server Rocket.Chat a nainstalujte všechny závislosti Node.js pomocí následujícího příkazu:
cd Rocket.Chat/programs/server
instalace npmJakmile jsou všechny závislosti nainstalovány, můžete ukončit uživatele Rocket.Chat pomocí následujícího příkazu:
exitVytvoření souboru služby Systemd pro Rocket.Chat
Dále budete muset vytvořit soubor služby systemd pro správu služby Rocket.Chat. Můžete jej vytvořit pomocí následujícího příkazu:
nano /etc/systemd/system/rocketchat.servicePřidejte následující řádky:
[Unit]Description=Rocket.Chat serverAfter=network.target nss-lookup.target mongod.target[Service]StandardOutput=syslogStandardError=syslogSyslogIdentifier=rocketchatUser=rocketEnvironment=MONGO_URL=mongodbet://ROCK7 http://rocket.yourdomain.com PORT=3000ExecStart=/usr/bin/node /opt/rocket/Rocket.Chat/main.js[Install]WantedBy=multi-user.targetUložte a zavřete soubor a znovu načtěte démona systemd pomocí následujícího příkazu:
systemctl daemon-reloadDále spusťte službu Rocket.Chat a povolte její spuštění při restartu systému pomocí následujícího příkazu:
systemctl spustit rocketchat
systemctl povolit rocketchatNyní můžete zkontrolovat stav Rocket.Chat pomocí následujícího příkazu:
systemctl status rocketchatPokud je vše v pořádku, měli byste získat následující výstup:
? rocketchat.service - Rocket.Chat server Načteno:načteno (/etc/systemd/system/rocketchat.service; zakázáno; přednastaveno dodavatelem:povoleno) Aktivní:aktivní (běží) od St 2020-11-11 07:58:01 UTC; Před 24s Hlavní PID:19951 (uzel) Úkoly:11 (limit:4691) Paměť:508,7M CGroup:/system.slice/rocketchat.service ??19951 /usr/bin/node /opt/rocket/Rocket.Chat/main .jsNov 11 07:58:21 ubuntu2004 rocketchat[19951]:? | Verze MongoDB:4.0.21 | 11. listopadu 07:58:21 ubuntu2004 rocketchat[19951]:? | MongoDB Engine:wiredTiger |11.listopadu 07:58:21 ubuntu2004 rocketchat[19951]:? | Platforma:linux | 11. listopadu 07:58:21 ubuntu2004 rocketchat[19951]:? | Procesní port:3000 | 11. listopadu 07:58:21 ubuntu2004 rocketchat[19951]:? | URL webu:http://rocket.yourdomain.com |11.listopadu 07:58:21 ubuntu2004 rocketchat[19951]:? | ReplicaSet OpLog:Povoleno | 11. listopadu 07:58:21 ubuntu2004 rocketchat[19951]:? | Commit Hash:e37d7ba8ed |11.listopadu 07:58:21 ubuntu2004 rocketchat[19951]:? | Pobočka Commit:HEAD | 11. listopadu 07:58:21 ubuntu2004 rocketchat[19951]:? | |11.listopadu 07:58:21 ubuntu2004 rocketchat[19951]:? +-------------------------------------------------- ---------+Konfigurace Nginx pro Rocket.Chat
Dále budete muset nakonfigurovat Nginx jako reverzní proxy pro Rocket.Chat. Chcete-li tak učinit, vytvořte konfigurační soubor virtuálního hostitele Nginx pomocí následujícího příkazu:
nano /etc/nginx/sites-available/rocketchat.confPřidejte následující řádky:
upstream myrocketchat { server 127.0.0.1:3000;}server { poslouchat 80; server_name rocket.yourdomain.com; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; umístění / { proxy_pass http://myrocketchat/; proxy_http_verze 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Připojení "upgrade"; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forward-For $proxy_add_x_forwarded_for; proxy_set_header X-Forward-Proto http; proxy_set_header X-Nginx-Proxy true; proxy_redirect off; }}Uložte a zavřete soubor a poté aktivujte virtuálního hostitele Nginx pomocí následujícího příkazu:
ln -s /etc/nginx/sites-available/rocketchat.conf /etc/nginx/sites-enabled/Dále ověřte Nginx, zda neobsahuje nějakou systémovou chybu, pomocí následujícího příkazu:
nginx -tMěli byste získat následující výstup:
nginx:syntaxe konfiguračního souboru /etc/nginx/nginx.conf je oknginx:konfigurační soubor /etc/nginx/nginx.conf test byl úspěšnýNakonec restartujte službu Nginx, abyste použili změny konfigurace:
systemctl restart nginxStav služby Nginx můžete také ověřit pomocí následujícího příkazu:
stav systemctl nginxMěli byste získat následující výstup:
? nginx.service – vysoce výkonný webový server a reverzní proxy server Načteno:načteno (/lib/systemd/system/nginx.service; povoleno; přednastaveno dodavatelem:povoleno) Aktivní:aktivní (běžící) od středy 2020-11-11 07 :59:39 UTC; Před 4 s Dokumenty:man:nginx(8) Proces:20034 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (kód=ukončeno, stav=0/ÚSPĚCH) Proces:20047 ExecStart=/usr/sbin/nginx -g démon zapnut; master_process on; (code=exited, status=0/SUCCESS) Hlavní PID:20051 (nginx) Úkoly:3 (limit:4691) Paměť:3,5M CGroup:/system.slice/nginx.service ??20051 nginx:hlavní proces /usr/ sbin/nginx -g démon zapnutý; master_process on; ??20052 nginx:pracovní proces ??20053 nginx:pracovní procesNov 11 07:59:39 ubuntu2004 systemd[1]:Spuštění vysoce výkonného webového serveru a reverzního proxy serveru... 11. listopadu 07:59:39 ubuntu2004 systemd[ 1]:Spuštěno Vysoce výkonný webový server a reverzní proxy server.Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Přístup k Rocket.Chat
V tomto okamžiku je Rocket.Chat nainstalován a nakonfigurován. Je čas vstoupit do webového rozhraní Rocket.Chat. Otevřete webový prohlížeč a přejděte na Rocket.Chat pomocí adresy URL http://rocket.yourdomain.com .Budete přesměrováni na následující stránku:
Zadejte své administrátorské jméno, e-mail, heslo a klikněte na Pokračovat knoflík. Měli byste vidět následující stránku:
Zadejte typ organizace, název, odvětví, velikost, zemi a klikněte na Pokračovat knoflík. Měli byste vidět následující stránku:
Zadejte název webu, jazyk, typ serveru a klikněte na tlačítko Pokračovat knoflík. Měli byste vidět následující stránku:
Odsouhlaste podmínky a zásady ochrany osobních údajů a poté klikněte na Pokračovat knoflík. Měli byste vidět následující stránku.
Klikněte na Přejít do svého pracovního prostoru knoflík. Budete přesměrováni na řídicí panel Rocket.Chat na následující stránce:
Závěr
Gratulujeme! úspěšně jste nainstalovali a nakonfigurovali Rocket.Chat s Nginx jako reverzní proxy. Nyní si můžete nainstalovat Rocket.Chat do produkčního prostředí a začít chatovat se svými přáteli a rodinou.
Ubuntu