GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat Rocket.chat s nginx reverzním proxy na Ubuntu 20.04

Pokud hledáte open-source samoobslužnou chatovací platformu, Rocketchat může být tou nejlepší volbou. Rocket chat lze použít jako alternativu k různým komunikačním kanálům, jako je slack, matmost atd. Rocket chat přichází s různými funkcemi, jako jsou skupinové chaty, videokonference, a živý chat můžete integrovat s jinými platformami. V tomto článku se naučíme, jak nastavit systém Rocketchat s vlastním hostitelem pomocí let’s encrypt SSL certifikátů.

Předpoklady

  1. Nový server ubuntu
  2. Přístup uživatele root nebo privilegovaný účet sudo
  3. Název domény označený IP adresou serveru
  4. Připojení k internetu pro stahování aplikací

Nainstalujte požadované balíčky a závislosti

Před instalací balíčků aktualizujte systém Ubuntu pomocí následujícího příkazu

$ sudo apt-get update -y

Po dokončení aktualizace systému nakonfigurujte apt na instalaci balíčků MongoDB pomocí následujícího příkazu.

$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
$ echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

Výstup:

Chcete-li nakonfigurovat Node.js, aby bylo možné instalovat pomocí apt správce balíčků spusťte následující příkaz.

$ sudo apt-get -y update && sudo apt-get install -y curl && curl -sL https://deb.nodesource.com/setup_12.x | sudo bash -

Výstup:

Nyní nainstalujte sestavení nástroje Nodejs, MongoDB a graphicsmagick:

$ sudo apt-get install -y build-essential mongodb-org nodejs graphicsmagick

Výstup:

Nyní nainstalujte dědičnosti a n a verzi uzlu požadovanou Rocketchatem.

$ sudo npm install -g inherits n && sudo n 12.18.4

Chcete-li zkontrolovat nainstalovanou verzi Nodejs, spusťte následující příkaz.

$ node --version

Výstup:

v12.18.4

Nainstalujte Rocketchat

Již jsme nainstalovali požadované závislosti. Nyní v tomto kroku stáhneme aplikaci Rocket Chat a nainstalujeme ji na Ubuntu 20.04.

Stáhněte si nejnovější verzi Rocketchat pomocí následujícího příkazu.

$ curl -L https://releases.rocket.chat/latest/download -o /tmp/rocket.chat.tgz
tar -xzf /tmp/rocket.chat.tgz -C /tmp

Výstup:

Rozbalte staženou aplikaci. Můžete si vybrat preferovaný adresář pro uložení extrahovaného souboru. V tomto příkladu jsem extrahoval soubor v /tmp adresář.

$ tar -xvzf /tmp/rocket.chat.tgz -C /tmp

Nyní nainstalujte Rocketchat. V tomto článku /opt pro instalaci se používá adresář. Můžete preferovat jakýkoli adresář.

$ cd /tmp/bundle/programs/server && npm install

Výstup:

$ sudo mv /tmp/bundle /opt/Rocket.Chat

Nakonfigurujte službu Rocket.Chat

Vytvořte uživatele rocketchat, nastavte správné oprávnění k adresáři aplikace Rocket.Chat a vytvořte službu Rocket.Chat.

$ sudo useradd -M rocketchat && sudo usermod -L rocketchat
$ sudo chown -R rocketchat:rocketchat /opt/Rocket.Chat

Chcete-li vytvořit rocketchat.service, spusťte na svém terminálu následující příkaz

cat << EOF |sudo tee -a /lib/systemd/system/rocketchat.service
[Unit]
Description=The Rocket.Chat server
After=network.target remote-fs.target nss-lookup.target nginx.service mongod.service
[Service]
ExecStart=/usr/local/bin/node /opt/Rocket.Chat/main.js
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=rocketchat
User=rocketchat
Environment=MONGO_URL=mongodb://localhost:27017/rocketchat ROOT_URL=http://localhost:3000/ PORT=3000
[Install]
WantedBy=multi-user.target
EOF

Příklad:

Nyní musíme nastavit modul úložiště MongoDB a replikaci. Poté povolte a spusťte mongoDB jako:

$ sudo sed -i "s/^# engine:/ engine: mmapv1/" /etc/mongod.conf
$ sudo sed -i "s/^#replication:/replication:\n replSetName: rs01/" /etc/mongod.conf
$ sudo systemctl enable mongod && sudo systemctl start mongod
$ mongo --eval "printjson(rs.initiate())"

Výstup:

Nyní spusťte a povolte službu Rocket.Chat pomocí následujícího příkazu:

$ sudo systemctl enable rocketchat && sudo systemctl start rocketchat

Ověřte stav služby Rocket.Chat”

$ sudo systemctl status rocketchat

Výstup:

Instalace Nginx a Reverzní konfigurace proxy

Chcete-li nakonfigurovat reverzní proxy nginx pro Rocket.Chat, nainstalujte nginx pomocí následujícího příkazu

$ sudo apt install nginx

Vytvořte konfiguraci virtuálního hostitele nginx pro rocketchat.

$ sudo nano /etc/nginx/conf.d/rocketchat.conf

Nyní vložte následující obsah a uložte soubor

upstream backend {
server 127.0.0.1:3000;
}

server {
listen 80;

server_name your_rocketchat_domain_name;
access_log /var/log/nginx/rocket.chat.access.log;
error_log /var/log/nginx/rocket.chat.error.log;

location / {
proxy_pass http://backend/;
proxy_http_version 1.1;
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-Forward-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forward-Proto http;
proxy_set_header X-Nginx-Proxy true;
proxy_redirect off;
}
}

Zkontrolujte konfigurační soubor nginx

$ sudo nginx -t

Restartujte a povolte službu nginx

$ sudo systemctl restart nginx
$ sudo systemctl enable nginx

Nyní přistupujte ke své doméně rocketchat jako

http://vaše_doména_rocketchat

Získáte průvodce nastavením webu, dokončete jej a začnete používat Rocket.Chat

Nginx jako SSL reverzní proxy

Rocket.Chat jsme nakonfigurovali pouze s HTTP reverzním proxy. Chcete-li nakonfigurovat nginx jako reverzní proxy SSL, budete potřebovat soubory certifikátů. Upravte soubor nginx vhost a vložte následující obsah.

$ sudo nano /etc/nginx/conf.d/rocketchat.conf
upstream backend {
server 127.0.0.1:3000;
}

server {
listen 443 ssl;
Server_name your_rocketchat_domain_name;
client_max_body_size 200M;
access_log /var/log/nginx/rocket.chat.access.log;
error_log /var/log/nginx/rocket.chat.error.log;
ssl_certificate /etc/nginx/certificate.crt;
ssl_certificate_key /etc/nginx/private.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

location / {
proxy_pass http://backend;
proxy_http_version 1.1;
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 https;
proxy_set_header X-Nginx-Proxy true;
proxy_redirect off;
}

Poznámka:

Vygenerujte nebo zakupte certifikát ssl a nasměrujte adresář souboru certifikátu do následujícího konfiguračního parametru.

ssl_certificate /etc/nginx/certificate.crt; [Your certificate file]
ssl_certificate_key /etc/nginx/private.key; [Your Private Key file]

Zkontrolujte konfigurační soubor nginx

sudo nginx -t

Restartujte službu nginx

sudo systemctl restart nginx

Přístup k Rocketchatu

Jakmile je reverzní proxy nakonfigurován, můžete přistupovat ke svému Rocket.Chat pomocí adresy URL jako:

https://you_rocket_chat_domain

Získáte průvodce nastavením webu Rocket.Chat. Dokončete nastavení a začněte používat svůj vlastní hostovaný Rocket.Chat.

Závěr

V tomto článku jsme se naučili, jak nainstalovat a nakonfigurovat vlastní hostovaný chat Rocket na Ubuntu 20.04. Také jsem probral, jak nainstalovat a nakonfigurovat nginx pro reverzní proxy pomocí šifrování SSL certifikátů.


Ubuntu
  1. Jak nainstalovat Odoo 11 na Ubuntu 16.04 s Nginx jako reverzní proxy

  2. Jak nainstalovat Odoo 10 na Ubuntu 16.04 s Nginx jako reverzní proxy

  3. Jak nainstalovat Flectru na Ubuntu 20.04 s Nginx jako reverzní proxy

  1. Jak nainstalovat Nginx na Ubuntu 16.04

  2. Jak nainstalovat Ansible AWX s Nginx Reverse Proxy na Ubuntu 18.04 LTS

  3. Jak nainstalovat Odoo 12 na Ubuntu 18.04 s Nginx jako reverzní proxy

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

  2. Jak nainstalovat Varnish Reverse Proxy s Nginx na Ubuntu 16.04 LTS

  3. Jak nainstalovat Nginx jako Reverse Proxy pro Apache na Ubuntu 15.10