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
- Nový server ubuntu
- Přístup uživatele root nebo privilegovaný účet sudo
- Název domény označený IP adresou serveru
- 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ů.