204th Knowledge Seekers Workshop Dec 28 2017
Inhaltsverzeichnis:
- Voraussetzungen
- Abhängigkeiten installieren
- Neuen Systembenutzer erstellen
- Rocket.Chat installieren
- Erstellen Sie eine Systemd Unit
- Richten Sie mit Nginx einen Reverse-Proxy ein
- Rocket.Chat konfigurieren
- Fazit
Rocket.Chat ist eine komplette Team-Kommunikationsplattform, eine selbst gehostete Slack-Alternative. Es basiert auf Meteor und bietet verschiedene Funktionen, darunter Helpdesk-Chat, Videokonferenzen, Dateifreigabe, Sprachnachrichten, API und vieles mehr.
In diesem Tutorial zeigen wir Ihnen, wie Sie Rocket.Chat auf einem CentOS 7-Server mit Nginx als SSL-Reverse-Proxy installieren und bereitstellen.
Voraussetzungen
Stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllt haben, bevor Sie mit diesem Lernprogramm fortfahren:
- CentOS 7-Server, gemäß den offiziellen Rocket.Chat-Systemanforderungen, benötigen Sie mindestens 1 GB RAM. Sie sind als Benutzer mit Sudo-Berechtigungen angemeldet. Sie haben einen Domainnamen, der auf Ihre Server-IP-Adresse verweist. Sie haben Nginx installiert. Wenn dies nicht der Fall ist, können Sie es mithilfe dieses Lernprogramms installieren. Ein SSL-Zertifikat. Sie können eine kostenlose Version von Let's Encrypt erstellen oder eine von einem anderen Anbieter kaufen.
Abhängigkeiten installieren
Installieren Sie die folgenden Pakete, die zum Erstellen der erforderlichen
npm
Module erforderlich sind:
sudo yum install epel-release curl GraphicsMagick gcc-c++
Installieren Sie als Nächstes
Node.js
und
npm
indem Sie
npm
eingeben:
sudo yum install -y nodejs npm
Zum Zeitpunkt des Schreibens dieses Artikels ist die empfohlene Version von Node.js für Rocket.Chat Node.js v8.11.3.
Setzen Sie die folgenden Befehle ab, um das Dienstprogramm
n
und die empfohlene Version von Node.js zu installieren:
sudo npm install -g inherits n
sudo n 8.11.3
MongoDB ist eine dokumentenorientierte NoSQL-Datenbank und wird von Rocket.Chat als Datenspeicher verwendet. Rocket.Chat empfiehlt MongoDB Version 3.6.
Wir werden MongoDB mit
yum
aus den offiziellen MongoDB-Repositories installieren.
Öffnen Sie den Editor Ihrer Wahl und erstellen Sie die folgende Repository-Datei:
sudo nano /etc/yum.repos.d/mongodb-org.repo
Fügen Sie den folgenden Inhalt in die Datei ein:
/etc/yum.repos.d/mongodb-org.repo
name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
Speichern Sie die Datei und schließen Sie Ihren Texteditor.
Führen Sie den folgenden Befehl aus, um MongoDB zu installieren:
sudo yum install mongodb-org
Aktivieren und starten Sie nach Abschluss der Installation den MongoDB-Dienst:
sudo systemctl start mongod
sudo systemctl enable mongod
Neuen Systembenutzer erstellen
Erstellen Sie einen neuen Benutzer und eine neue Gruppe, die unsere Rocket.Chat-Instanz ausführen. Der Einfachheit halber werden wir die Benutzerrakete benennen:
sudo useradd -m -U -r -d /opt/rocket rocket
Fügen Sie den
nginx
Benutzer der neuen Benutzergruppe hinzu und ändern Sie die Verzeichnisberechtigungen für
/opt/rocket
damit der Nginx darauf zugreifen kann:
sudo usermod -a -G rocket nginx
sudo chmod 750 /opt/rocket
sudo usermod -a -G rocket nginx
Rocket.Chat installieren
Wechseln Sie zur Benutzerrakete, indem Sie Folgendes eingeben:
sudo su - rocket
Laden Sie die neueste stabile Version von Rocket.Chat with curl herunter:
curl -L https://releases.rocket.chat/latest/download -o rocket.chat.tgz
Sobald der Download abgeschlossen ist, extrahieren Sie das Archiv und benennen Sie das Verzeichnis in
Rocket.Chat
:
tar zxf rocket.chat.tgz
mv bundle Rocket.Chat
Wechseln Sie in das Verzeichnis
Rocket.Chat/programs/server
und installieren Sie alle erforderlichen
npm
Pakete:
cd Rocket.Chat/programs/server
npm install
Bevor Sie systemd unit erstellen und einen Reverse-Proxy mit Nginx einrichten, sollten Sie testen, ob die Installation erfolgreich war.
Legen Sie dazu zunächst die erforderlichen Umgebungsvariablen fest:
export PORT=3000
export ROOT_URL=http://example.com:3000/
export MONGO_URL=mongodb://localhost:27017/rocketchat
Wechseln Sie anschließend zurück in das
Rocket.Chat
Verzeichnis und starten Sie den
Rocket.Chat
Server, indem Sie die folgenden Befehle ausführen:
cd../../
node main.js
Wenn es keine Fehler gibt, sollten Sie die folgende Ausgabe sehen:
➔ +---------------------------------------------+ ➔ | SERVER RUNNING | ➔ +---------------------------------------------+ ➔ | | ➔ | Rocket.Chat Version: 0.71.1 | ➔ | NodeJS Version: 8.11.3 - x64 | ➔ | Platform: linux | ➔ | Process Port: 3000 | ➔ | Site URL: http://0.0.0.0:3000/ | ➔ | ReplicaSet OpLog: Disabled | ➔ | Commit Hash: e73dc78ffd | ➔ | Commit Branch: HEAD | ➔ | | ➔ +---------------------------------------------+
Zu diesem Zeitpunkt ist Rocket.Chat auf Ihrem CentOS 7-Computer installiert. Stoppen Sie den Rocket.Chat-Server mit STRG
CTRL+C
und fahren Sie mit den nächsten Schritten fort.
Erstellen Sie eine Systemd Unit
Um Rocket.Chat als Dienst
rocketchat.service
, erstellen Sie eine
rocketchat.service
Unit-Datei im Verzeichnis
/etc/systemd/system/
:
sudo nano /etc/systemd/system/rocketchat.service
Fügen Sie den folgenden Inhalt in die Datei ein: /etc/systemd/system/rocketchat.service
Description=Rocket.Chat server After=network.target nss-lookup.target mongod.target StandardOutput=syslog StandardError=syslog SyslogIdentifier=rocketchat User=rocket Environment=MONGO_URL=mongodb://localhost:27017/rocketchat ROOT_URL=http://example.com:3000/ PORT=3000 ExecStart=/usr/local/bin/node /opt/rocket/Rocket.Chat/main.js WantedBy=multi-user.target
Speichern und schließen Sie die Datei.
Benachrichtigen Sie systemd, dass eine neue Unit-Datei erstellt wurde, und starten Sie den Rocket.Chat-Dienst, indem Sie Folgendes ausführen:
sudo systemctl daemon-reload
sudo systemctl start rocketchat
Überprüfen Sie den Servicestatus mit dem folgenden Befehl:
sudo systemctl status rocketchat
Die Ausgabe sollte ungefähr so aussehen:
● rocketchat.service - Rocket.Chat server Loaded: loaded (/etc/systemd/system/rocketchat.service; enabled; vendor preset: disabled) Active: active (running) since Tue 2018-04-10 20:30:56 UTC; 8s ago Main PID: 32356 (node) CGroup: /system.slice/rocketchat.service └─32356 /usr/local/bin/node /opt/rocket/Rocket.Chat/main.js
Wenn keine Fehler vorliegen, können Sie den Rocket.Chat-Dienst so konfigurieren, dass er beim Booten automatisch gestartet wird:
sudo systemctl enable rocketchat
Richten Sie mit Nginx einen Reverse-Proxy ein
Jetzt müssen wir einen neuen Serverblock für unsere Rocket.Chat-Installation erstellen:
sudo nano /etc/nginx/conf.d/example.com.conf
Fügen Sie den folgenden Inhalt in die Datei ein:
/etc/nginx/conf.d/example.com.conf
upstream rocketchat_backend { server 127.0.0.1:3000; } server { listen 80; server_name example.com www.example.com; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; include snippets/letsencrypt.conf; access_log /var/log/nginx/example.com-access.log; error_log /var/log/nginx/example.com-error.log; location / { proxy_pass http://rocketchat_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; } }
Laden Sie den Nginx-Dienst neu, damit die Änderungen wirksam werden:
Rocket.Chat konfigurieren
Öffnen Sie Ihren Browser und geben Sie Folgendes ein:
http://chat.example.com
.
Vorausgesetzt, die Installation ist erfolgreich, wird der Rocket.Chat-Setup-Assistent angezeigt, der Sie durch das Einrichten Ihres ersten Administratorbenutzers, das Konfigurieren Ihrer Organisation und das Registrieren Ihres Servers für den Empfang von kostenlosen Push-Benachrichtigungen und mehr führt.
Im ersten Abschnitt des Assistenten für die Ersteinrichtung werden Sie aufgefordert, Ihren Admin-Benutzer einzurichten:
Klicken Sie auf die Schaltfläche
Go to your workspace
wechseln, und Sie werden zum Rocket.Chat-Dashboard weitergeleitet, das als Administrator angemeldet ist.
Fazit
Sie haben Rocket.Chat erfolgreich auf Ihrem CentOS 7-Server installiert. Sie können Rocket.Chat jetzt verwenden, um mit Ihrem Team zusammenzuarbeiten, Dateien auszutauschen und in Echtzeit zu chatten.
rocketchat nodejs centos mongodbBereitstellen von System Images auf mehreren Computern mit AOMEI Image Deploy
Mit AOMEI Image Deploy Free können Sie Systemabbilder gleichzeitig auf mehreren Computern bereitstellen oder wiederherstellen Das lokale Netzwerk
Wie lange dauert es, bis ich das Steam-Library-Backlog überbrückt habe? Wenn Sie diese Frage haben, erfahren Sie auf der Wie lange zu schlagen Rechner Website, wie viele Stunden Sie benötigen, um Ihre Steam Library fertig zu stellen. Gut für Spieler auf Steam, die mit einem Überhang an Spielen feststecken, die sie vielleicht niemals spielen können.
Wie lange dauert es, bis ich den Rückstand meiner Steam-Bibliothek überwunden habe? Wenn Sie diese Frage haben, wird Ihnen auf der Rechner-Website
Wie man rocket.chat unter Ubuntu einsetzt 18.04
Rocket.Chat ist eine Open-Source-Teamkommunikationsplattform, eine selbst gehostete Slack-Alternative. Rocket.Chat ist eine perfekte Lösung für Unternehmen und Communities, die ihr eigenes Chat-System hosten möchten.