Rocket.Chat ist eine webbasierte Chat-Anwendung, die in JavaScript geschrieben ist und das Meteor Full-Stack-Framework verwendet. Es ist eine Open-Source-Chat-Kollaborationsplattform, mit der Sie sicher in Echtzeit über mehrere Geräte hinweg kommunizieren können. Es wird selbst gehostet und unterstützt Sprach- und Video-Chat, Videokonferenzen, Dateifreigabe und vieles mehr. Es verfügt über eine Client-Anwendung, die für alle Plattformen verfügbar ist, einschließlich Windows, macOS, Linux, Android und iOS.
In diesem Tutorial zeigen wir Ihnen, wie Sie Rocket.Chat auf einem Ubuntu 20.04-Server installieren.
Voraussetzungen
- Ein Server mit Ubuntu 20.04.
- Ein gültiger Domainname, auf den Ihre Server-IP verweist.
- Ein Root-Passwort wird auf dem Server konfiguriert.
Erste Schritte
Bevor Sie beginnen, wird empfohlen, Ihre Systempakete auf die neueste Version zu aktualisieren. Sie können sie mit dem folgenden Befehl aktualisieren:
apt-get update -y
Sobald Ihr System aktualisiert ist, installieren Sie andere erforderliche Abhängigkeiten mit dem folgenden Befehl:
apt-get install nginx gnupg2 git unzip build-essential curl software-properties-common graphicsmagick -y
Sobald alle Pakete installiert sind, können Sie mit dem nächsten Schritt fortfahren.
Installieren Sie Node.js
Als nächstes müssen Sie Node.js Version 12 in Ihrem System installieren. Standardmäßig ist es nicht im Standard-Repository von Ubuntu 20.04 verfügbar. Sie müssen also das offizielle Node.js-Repository zu Ihrem System hinzufügen. Sie können es mit dem folgenden Befehl hinzufügen:
curl -sL https://deb.nodesource.com/setup_12.x | bash -
Nachdem das Repository hinzugefügt wurde, installieren Sie Node.js mit dem folgenden Befehl:
apt-get install nodejs -y
Überprüfen Sie nach der Installation von Node.js die installierte Version von Node.js mit dem folgenden Befehl:
Knoten -v
Sie sollten die folgende Ausgabe erhalten:
v12.19.0
Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
MongoDB installieren und konfigurieren
Als nächstes müssen Sie den MongoDB-Server in Ihrem System installieren. Standardmäßig ist die neueste Version von MongoDB nicht im Standard-Repository von Ubuntu 20.04 verfügbar. Sie müssen also das MongoDB-Repository in Ihrem System hinzufügen. Laden Sie zuerst den GPG-Schlüssel herunter und fügen Sie ihn mit dem folgenden Befehl hinzu:
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
Sie sollten die folgende Ausgabe erhalten:
Ausführen:/tmp/apt-key-gpghome.Ku2thT4UnL/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4gpg:key 68818C72E52529D4:public key "MongoDB.4 freigeben" Schlüssel <[email protected]>" importgpg:Gesamtzahl verarbeitet:1gpg:importiert:1
Fügen Sie als Nächstes das offizielle MongoDB-Repository mit dem folgenden Befehl hinzu:
add-apt-repository 'deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse'
Nachdem das Repository hinzugefügt wurde, installieren Sie die MongoDB mit dem folgenden Befehl:
apt-get install mongodb-org -y
Starten Sie nach der Installation von MongoDB den MongoDB-Dienst und aktivieren Sie ihn so, dass er beim Systemneustart gestartet wird:
systemctl start mongod
systemctl aktiviert mongod
Als Nächstes müssen Sie die Standardkonfigurationsdatei von MongoDB bearbeiten und den Replikatsatz definieren. Sie können dies mit dem folgenden Befehl tun:
nano /etc/mongod.conf
Fügen Sie die folgenden Zeilen hinzu:
replikation:replSetName:"replica01"
Speichern und schließen Sie die Datei und starten Sie dann den MongoDB-Dienst neu, um die Konfiguration anzuwenden:
systemctl startet Mongod neu
Melden Sie sich als Nächstes bei der MongoDB-Shell an und aktivieren Sie das Replikat mit dem folgenden Befehl:
mongo
> rs.initiate()
Sie sollten die folgende Ausgabe erhalten:
{ „info2“ :„keine Konfiguration angegeben. Verwenden einer Standardkonfiguration für das Set“, „me“ :„127.0.0.1:27017“, „ok“ :1, „operationTime“ :Timestamp(1605081439, 1) , "$clusterTime" :{ "clusterTime" :Timestamp(1605081439, 1), "signature" :{ "hash" :BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="), "keyId" :NumberLong(0) } }}Verlassen Sie als Nächstes die MongoDB-Shell mit dem folgenden Befehl:
>beendenWenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Installieren Sie Rocket.Chat
Als nächstes müssen Sie einen neuen Benutzer für Rocket.Chat erstellen und ihn zur www-data-Gruppe hinzufügen. Sie können dies mit dem folgenden Befehl tun:
useradd -m -U -r -d /opt/rocket rocket --shell /bin/bash
usermod -a -G rocket www-dataGeben Sie als Nächstes die richtigen Berechtigungen für das /opt/rocket-Verzeichnis:
chmod 750 /opt/rocketAls nächstes wechseln Sie den Benutzer zu Rocket.Chat und laden Sie die neueste Version von Rocket.Chat mit dem folgenden Befehl herunter:
su - rocket
curl -L https://releases.rocket.chat/latest/download -o rocket.chat.tgzSobald der Download abgeschlossen ist, extrahieren Sie die heruntergeladene Datei mit dem folgenden Befehl:
tar -xvzf rocket.chat.tgzAls nächstes benennen Sie das extrahierte Verzeichnis mit Rocket.Chat mit dem folgenden Befehl um:
MV-Paket Rocket.ChatAls nächstes ändern Sie das Verzeichnis zum Rocket.Chat-Server und installieren alle Node.js-Abhängigkeiten mit dem folgenden Befehl:
cd Rocket.Chat/programs/server
npm installSobald alle Abhängigkeiten installiert sind, können Sie den Rocket.Chat-Benutzer mit dem folgenden Befehl verlassen:
beendenErstellen Sie eine Systemd-Dienstdatei für Rocket.Chat
Als nächstes müssen Sie eine systemd-Dienstdatei erstellen, um den Rocket.Chat-Dienst zu verwalten. Sie können es mit dem folgenden Befehl erstellen:
nano /etc/systemd/system/rocketchat.serviceFügen Sie die folgenden Zeilen hinzu:
[Unit]Description=Rocket.Chat serverAfter=network.target nss-lookup.target mongod.target[Service]StandardOutput=syslogStandardError=syslogSyslogIdentifier=rocketchatUser=rocketEnvironment=MONGO_URL=mongodb://localhost:27017/rocketchat ROOT_URL=http://rocket.yourdomain.com PORT=3000ExecStart=/usr/bin/node /opt/rocket/Rocket.Chat/main.js[Install]WantedBy=multi-user.targetSpeichern und schließen Sie die Datei und laden Sie den systemd-Daemon mit dem folgenden Befehl neu:
systemctl daemon-reloadStarten Sie als Nächstes den Rocket.Chat-Dienst und ermöglichen Sie ihm, beim Systemneustart mit dem folgenden Befehl zu starten:
systemctl Raketenchat starten
systemctl Raketenchat aktivierenSie können jetzt den Status des Rocket.Chats mit dem folgenden Befehl überprüfen:
systemctl status rocketchatWenn alles in Ordnung ist, sollten Sie die folgende Ausgabe erhalten:
? rocketchat.service - Rocket.Chat-Server Geladen:geladen (/etc/systemd/system/rocketchat.service; deaktiviert; Herstellervoreinstellung:aktiviert) Aktiv:aktiv (läuft) seit Mi 2020-11-11 07:58:01 UTC; Vor 24 Sekunden Haupt-PID:19951 (Knoten) Aufgaben:11 (Grenze:4691) Speicher:508,7 MB CGroup:/system.slice/rocketchat.service ??19951 /usr/bin/node /opt/rocket/Rocket.Chat/main .jsNov 11 07:58:21 ubuntu2004 rocketchat[19951]:? | MongoDB Version:4.0.21 | 11. November 07:58:21 ubuntu2004 rocketchat[19951]:? | MongoDB Engine:wiredTiger | 11. November 07:58:21 ubuntu2004 rocketchat[19951]:? | Plattform:Linux | 11. November 07:58:21 ubuntu2004 rocketchat[19951]:? | Prozessport:3000 | 11. November 07:58:21 ubuntu2004 rocketchat [19951]:? | Site-URL:http://rocket.yourdomain.com | 11. November 07:58:21 ubuntu2004 rocketchat[19951]:? | ReplicaSet OpLog:Aktiviert | 11. November 07:58:21 ubuntu2004 rocketchat [19951]:? | Commit-Hash:e37d7ba8ed |11. November 07:58:21 ubuntu2004 rocketchat[19951]:? | Commit Branch:HEAD | Nov 11 07:58:21 ubuntu2004 rocketchat[19951]:? | |11. November 07:58:21 ubuntu2004 rocketchat[19951]:? +------------------------------------------------------------- ---------+
Nginx für Rocket.Chat konfigurieren
Als nächstes müssen Sie Nginx als Reverse-Proxy für Rocket.Chat konfigurieren. Erstellen Sie dazu mit dem folgenden Befehl eine Konfigurationsdatei für den virtuellen Nginx-Host:
nano /etc/nginx/sites-available/rocketchat.conf
Fügen Sie die folgenden Zeilen hinzu:
upstream myrocketchat { server 127.0.0.1:3000;}server { listen 80; server_name rocket.ihredomain.com; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; Standort / { Proxy_pass http://myrocketchat/; Proxy_http_Version 1.1; Proxy_set_header Upgrade $http_upgrade; proxy_set_header Verbindung "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-Weiterleitung aus; }}
Speichern und schließen Sie die Datei und aktivieren Sie dann den virtuellen Nginx-Host mit dem folgenden Befehl:
ln -s /etc/nginx/sites-available/rocketchat.conf /etc/nginx/sites-enabled/
Überprüfen Sie als Nächstes Nginx mit dem folgenden Befehl auf Systex-Fehler:
nginx -t
Sie sollten die folgende Ausgabe erhalten:
nginx:Die Syntax der Konfigurationsdatei /etc/nginx/nginx.conf ist oknginx:Der Test der Konfigurationsdatei /etc/nginx/nginx.conf ist erfolgreich
Starten Sie abschließend den Nginx-Dienst neu, um die Konfigurationsänderungen zu übernehmen:
systemctl startet nginx neu
Sie können den Status des Nginx-Dienstes auch mit dem folgenden Befehl überprüfen:
systemctl status nginx
Sie sollten die folgende Ausgabe erhalten:
Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Zugriff auf Rocket.Chat
An diesem Punkt ist Rocket.Chat installiert und konfiguriert. Es ist Zeit, auf die Rocket.Chat-Weboberfläche zuzugreifen. Öffnen Sie Ihren Webbrowser und greifen Sie über die URL http://rocket.yourdomain.com auf Rocket.Chat zu .Sie werden auf die folgende Seite weitergeleitet:
Geben Sie Ihren Administratornamen, Ihre E-Mail-Adresse und Ihr Passwort ein und klicken Sie auf Weiter Taste. Sie sollten die folgende Seite sehen:
Geben Sie Art, Name, Branche, Größe und Land Ihrer Organisation an und klicken Sie auf Weiter Taste. Sie sollten die folgende Seite sehen:
Geben Sie den Namen Ihrer Website, die Sprache und den Servertyp an und klicken Sie auf Weiter Taste. Sie sollten die folgende Seite sehen:
Stimmen Sie den Nutzungsbedingungen und der Datenschutzrichtlinie zu und klicken Sie dann auf Weiter Taste. Sie sollten die folgende Seite sehen.
Klicken Sie auf Gehe zu Ihrem Arbeitsbereich Taste. Sie werden auf der folgenden Seite zum Rocket.Chat-Dashboard weitergeleitet:
Schlussfolgerung
Herzliche Glückwünsche! Sie haben Rocket.Chat mit Nginx als Reverse-Proxy erfolgreich installiert und konfiguriert. Sie können Rocket.Chat jetzt in der Produktionsumgebung installieren und mit Ihren Freunden und Ihrer Familie chatten.