GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren Sie Rocket.chat mit nginx-Reverse-Proxy unter Ubuntu 20.04

Wenn Sie nach einer selbst gehosteten Open-Source-Chat-Plattform suchen, kann Rocketchat die beste Option sein. Rocket Chat kann als Alternative zu verschiedenen Kommunikationskanälen wie Slack, Mattermost usw. verwendet werden. Rocket Chat bietet verschiedene Funktionen wie Gruppenchats, Videokonferenzen und Sie können Live-Chat mit anderen Plattformen integrieren. In diesem Artikel erfahren wir, wie Sie ein selbst gehostetes Rocketchat-System mit SSL-Zertifikaten von let’s encrypt einrichten.

Voraussetzungen

  1. Neuer Ubuntu-Server
  2. Root-Zugriff oder sudo-privilegiertes Konto
  3. Ein Domainname, auf den die Server-IP verweist
  4. Internetverbindung zum Herunterladen von Anwendungen

Installieren Sie erforderliche Pakete und Abhängigkeiten

Aktualisieren Sie vor der Installation der Pakete das Ubuntu-System mit dem folgenden Befehl

$ sudo apt-get update -y

Sobald die Systemaktualisierung abgeschlossen ist, konfigurieren Sie apt mit dem folgenden Befehl, um MongoDB-Pakete zu installieren.

$ 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

Ausgabe :

Um Node.js so zu konfigurieren, dass es mit apt installiert werden kann Paket-Manager führen Sie den folgenden Befehl aus.

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

Ausgabe:

Installieren Sie nun die Build-Tools Nodejs, MongoDB und graphicsmagick :

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

Ausgabe :

Installieren Sie nun inherits und n und die von Rocketchat benötigte Node-Version.

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

Führen Sie den folgenden Befehl aus, um die installierte Version von Nodejs zu überprüfen.

$ node --version

Ausgabe:

v12.18.4

Installieren Sie Rocketchat

Wir haben die erforderlichen Abhängigkeiten bereits installiert. In diesem Schritt laden wir nun die Rocket Chat-Anwendung herunter und installieren sie auf Ubuntu 20.04.

Laden Sie die neueste Version von Rocketchat mit dem folgenden Befehl herunter.

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

Ausgabe :

Extrahieren Sie die heruntergeladene Anwendung. Sie können Ihr bevorzugtes Verzeichnis zum Speichern der extrahierten Datei auswählen. In diesem Beispiel habe ich die Datei in /tmp extrahiert Verzeichnis.

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

Installieren Sie nun Rocketchat. In diesem Artikel /opt Verzeichnis wird für die Installation verwendet. Sie können ein beliebiges Verzeichnis bevorzugen.

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

Ausgabe:

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

Konfigurieren Sie den Rocket.Chat-Dienst

Erstellen Sie einen RocketChat-Benutzer, legen Sie die richtige Berechtigung für das Rocket.Chat-Anwendungsverzeichnis fest und erstellen Sie den Rocket.Chat-Dienst.

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

Führen Sie zum Erstellen von rocketchat.service den folgenden Befehl auf Ihrem Terminal aus

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

Beispiel:

Jetzt müssen wir eine MongoDB-Speicher-Engine und -Replikation einrichten. Aktivieren und starten Sie danach mongoDB als:

$ 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())"

Ausgabe :

Starten und aktivieren Sie nun den Rocket.Chat-Dienst mit dem folgenden Befehl:

$ sudo systemctl enable rocketchat && sudo systemctl start rocketchat

Überprüfen Sie den Status des Rocket.Chat-Dienstes“

$ sudo systemctl status rocketchat

Ausgabe:

Nginx-Installation und Reverse-Proxy-Konfiguration

Um den nginx-Reverse-Proxy für Rocket.Chat zu konfigurieren, installieren Sie nginx mit dem folgenden Befehl

$ sudo apt install nginx

Erstellen Sie eine virtuelle nginx-Hostkonfiguration für Rocketchat.

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

Fügen Sie nun den folgenden Inhalt ein und speichern Sie die Datei

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;
}
}

Überprüfen Sie die nginx-Konfigurationsdatei

$ sudo nginx -t

Starten Sie den Nginx-Dienst neu und aktivieren Sie ihn

$ sudo systemctl restart nginx
$ sudo systemctl enable nginx

Greifen Sie jetzt auf Ihre Rocketchat-Domain zu als

http://ihre_rocketchat_domain

Sie erhalten einen Web-Setup-Assistenten, schließen ihn ab und beginnen mit der Verwendung von Rocket.Chat

Nginx als SSL-Reverse-Proxy

Wir haben Rocket.Chat nur mit HTTP-Reverse-Proxy konfiguriert. Um nginx als SSL-Reverse-Proxy zu konfigurieren, benötigen Sie Zertifikatsdateien. Bearbeiten Sie die nginx vhost-Datei und fügen Sie den folgenden Inhalt ein.

$ 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;
}

Hinweis:

Generieren oder erwerben Sie ein SSL-Zertifikat und zeigen Sie im folgenden Konfigurationsparameter auf das Verzeichnis Ihrer Zertifikatsdatei.

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

Überprüfen Sie die nginx-Konfigurationsdatei

sudo nginx -t

Starten Sie den nginx-Dienst neu

sudo systemctl restart nginx

Auf Rocketchat zugreifen

Sobald der Reverse-Proxy konfiguriert ist, können Sie auf Ihren Rocket.Chat zugreifen, indem Sie die folgende URL verwenden:

https://you_rocket_chat_domain

Sie erhalten den Rocket.Chat-Web-Setup-Assistenten. Schließen Sie die Einrichtung ab und beginnen Sie mit der Nutzung Ihres selbst gehosteten Rocket.Chat.

Schlussfolgerung

In diesem Artikel haben wir gelernt, wie man selbst gehosteten Rocket-Chat auf Ubuntu 20.04 installiert und konfiguriert. Außerdem habe ich behandelt, wie man nginx für den Reverse-Proxy mit Let’s encrypt SSL-Zertifikaten installiert und konfiguriert.


Ubuntu
  1. So installieren Sie Nginx unter Ubuntu 16.04

  2. So installieren Sie Odoo 11 auf Ubuntu 16.04 mit Nginx als Reverse Proxy

  3. So installieren Sie Odoo 10 auf Ubuntu 16.04 mit Nginx als Reverse Proxy

  4. So installieren Sie Flectra auf Ubuntu 20.04 mit Nginx als Reverse Proxy

  5. So installieren Sie Odoo 12 auf Ubuntu 18.04 mit Nginx als Reverse Proxy

So installieren Sie Rocket Chat auf Ubuntu 16.04 mit Docker

So installieren Sie WordPress 5.x mit Nginx auf Ubuntu 18.04 / Ubuntu 16.04

So installieren Sie WordPress mit Nginx auf Ubuntu

So installieren Sie SuiteCRM auf Ubuntu 20.04 mit Apache/Nginx

So installieren Sie MediaWiki auf Ubuntu 20.04 mit Apache/Nginx

So installieren Sie Rocket.Chat auf Ubuntu 20.04 LTS