Rocket.Chat ist eine kostenlose und quelloffene Online-Chat-Lösung für die Teamkommunikation, mit der Sie Ihren eigenen Slack-ähnlichen Online-Chat erstellen können. Rocket.Chat basiert auf Javascript, das mit dem Full-Stack-Framework Meteor entwickelt wurde. Rocket.Chat ist eine großartige Lösung für Unternehmen, die ihre eigene private Chat-Plattform aufbauen möchten.
In diesem Tutorial zeige ich Ihnen, wie Sie mit Rocket.Chat Ihren eigenen Chat-Server erstellen. Ich werde den neuesten Ubuntu LTS 16.04-Server für die Installation und Nginx als Reverse-Proxy für die Rocket.Chat-Anwendung verwenden.
Voraussetzung
- Ubuntu 16.04
- Root-Berechtigungen
Schritt 1 – Installieren Sie die Rocket.Chat-Abhängigkeiten
Melden Sie sich mit ssh (oder dem Terminal) beim Server an und geben Sie „sudo su“ ein, um Root-Zugriff zu erhalten:
ssh [email protected]
sudo su
Aktualisieren Sie das Ubuntu-Repository:
apt-get-Update
Installieren Sie als Nächstes neue Pakete, die von Rocket.Chat benötigt werden:
apt-get install curl graphicsmagick build-essential
Schritt 2 – MongoDB installieren
Rocket.Chat benötigt MongoDB für die Installation. In diesem Schritt installieren wir MongoDB 3.2 aus dem MongoDB-Repository.
Fügen Sie den MongoDB-Schlüsselserver hinzu, damit wir auf die Pakete zugreifen können:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
Fügen Sie dann das MongoDB-Repository mit dem folgenden Befehl hinzu:
echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
Aktualisieren Sie das Repository und installieren Sie MongoDB mit dem apt-Befehl:
apt-get update
apt-get install mongodb-org
Fügen Sie MongoDB hinzu, um es beim Booten auszuführen, und starten Sie es:
systemctl aktiviert Mongod
systemctl startet Mongod
MongoDB wurde auf Port 27017 gestartet.
Schritt 3 – MongoDB ReplicaSet konfigurieren
Um die Leistung zu verbessern, verwendet Rocket.Chat ein MongoDB ReplicaSet. In diesem Schritt konfigurieren wir ein einfaches MongoDB ReplicaSet, indem wir die MongoDB-Konfigurationsdatei bearbeiten.
Bearbeiten Sie die Datei mongod.conf mit vim:
vim /etc/mongod.conf
Fügen Sie am Anfang von Zeile 24 ein „#“ hinzu, um zu deaktivieren, dass MongoDB nur auf der Localhost-IP ausgeführt wird.
net:
Port:27017
#bindIp:127.0.0.1
Fügen Sie die ReplicaSet-Konfiguration unten in Zeile 34 hinzu.
#Replication:
Replikation:
OPLlogSizemb:1
replSetName:rs0
Speichern und beenden.
Starten Sie den MongoDB-Dienst neu:
systemctl startet Mongod neu
Starten Sie als Nächstes die MongoDB-Shell und initiieren Sie das ReplicaSet:
exportiere LC_ALL=C
mongo
rs.initiate()
Ergebnisse einleiten:
{
"info2" :"keine Konfiguration angegeben. Verwenden einer Standardkonfiguration für das Set",
"me" :"nyanko-sensei:27017",
"ok" :1
}
Stellen Sie sicher, dass 'ok ' Wert ist 1 . Wenn das Ergebnis eine andere Zahl ist, bedeutet dies, dass etwas nicht stimmt.
Schritt 4 – Installieren Sie npm und nodejs
In diesem Schritt installieren wir nodejs und npm aus dem Ubuntu-Repository. Dann installieren wir das n-Paket mit dem npm-Befehl, um eine bestimmte nodejs-Version zu erhalten. Die neueste Rocket.Chat-Version benötigt nodejs 4.5.
Installieren Sie nodejs und npm aus dem Ubuntu-Repository:
apt-get install nodejs npm
Installieren Sie als Nächstes das n-Paket global mit dem npm-Befehl:
npm install -g n
Verwenden Sie den Befehl n, um nodejs Version 4.5 herunterzuladen und einzustellen.
sudo n 4.5
Überprüfen Sie abschließend die Version von nodejs:
node --version
npm -v
Schritt 5 - Rocket.Chat Server installieren
Wir werden Rocket.Chat (neueste Version) im Verzeichnis /var/www/ installieren.
Laden Sie die neueste Version von Rocket.Chat herunter und extrahieren Sie sie:
curl -L https://rocket.chat/releases/latest/download -o rocket.chat.tgz
tar -xzvf rocket.chat.tgz
Erstellen Sie ein neues /var/www/-Verzeichnis und benennen Sie das Bundle-Verzeichnis in „Rocket.Chat“ um und verschieben Sie es dann:
mkdir -p /var/www/
mv-Paket Rocket.Chat
mv Rocket.Chat /var/www/
Gehen Sie in das Rocket.Chat-Verzeichnis, setzen Sie einige erforderliche Umgebungsvariablen und starten Sie den Rocket.Chat-Server.
cd /var/www/Rocket.Chat/
cd programmes/server/
npm install
cd ../../
export ROOT_URL=http://192.168.1.110:3000/
exportiere MONGO_URL=mongodb://nyanko-sensei:27017/rocketchat?replicaSet=rs0
exportiere PORT=3000
node main.js
Rocket.Chat ist installiert, öffnen Sie Ihren Webbrowser und besuchen Sie die Server-IP-Adresse auf Port 3000. - 192.168.1.110:3000.
Schritt 6 – Nginx als Reverse-Proxy für Rocket.Chat installieren und konfigurieren
In Schritt 5 haben wir Rocket.Chat als eigenständige Anwendung installiert. In diesem Tutorial führen wir Rocket.Chat hinter dem Nginx-Webserver auf https-Verbindungen aus, um eine sichere und schnelle Einrichtung zu erhalten.
Installieren Sie Nginx mit dem apt-Befehl:
apt-get install nginxErstellen Sie ein neues SSL-Verzeichnis:
mkdir -p /etc/nginx/ssl/
cd /etc/nginx/ssl/Generieren Sie die SSL-Zertifikatsdatei und ändern Sie die Berechtigung der Schlüsseldatei:
openssl req -new -x509 -days 365 -nodes -out /etc/nginx/ssl/rocket-chat.crt -keyout /etc/nginx/ssl/rocket-chat.key
chmod 400 rocket- chat.keyErstellen Sie als Nächstes eine neue virtuelle Rocket-Chat-Hostdatei im Verzeichnis „sites-available“.
cd /etc/nginx/sites-available/
vim rocket-chatFügen Sie die neue Konfiguration des virtuellen Hosts unten ein:
# Upstreams
Upstream-Backend {
Server 127.0.0.1:3000;
}
# Umleitungsoptionen
Server {
listen 80;
server_name rocket-chat.co;
# erzwingen https
return 301 https://$server_name$request_uri;
}
# HTTPS Server
server {
listen 443;
Servername rocket-chat.co;
error_log /var/log/nginx/rocketchat.access.log;
ssl on;
ssl_certificate /etc/nginx/ssl/rocket-chat.crt;
ssl_certificate_key /etc/nginx/ssl/rocket-chat.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # SSLv3 nicht verwenden ref:POODLE
location / {
proxy_pass http://192.168.1.110:3000/;
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;
}
}Speichern und beenden.
Ich werde Rocket.Chat mit dem neuen Domainnamen „rocket-chat.co“ betreiben. Bitte verwenden Sie Ihren eigenen Domainnamen und ersetzen Sie ihn in den Konfigurationsdateien, wo immer er erscheint.
Aktivieren Sie den virtuellen Rocket.Chat-Host und testen Sie die Konfigurationsdatei:
ln -s /etc/nginx/sites-available/rocket-chat /etc/nginx/sites-enabled/rocket-chat
nginx -tStellen Sie sicher, dass keine Fehlermeldungen angezeigt werden.
Starten Sie den Nginx-Webserver neu:
systemctl startet nginx neu
Schritt 7 - Testen von Rocket.Chat
Nginx wurde als Reverse-Proxy für den Rocket.Chat-Server konfiguriert und wir müssen die Umgebungsvariablen aktualisieren, um Rocket.Chat jetzt auszuführen.
Führen Sie Rocket.Chat mit den folgenden neuen Variablen aus:
cd /var/www/Rocket.Chat/
export ROOT_URL=https://rocket-chat.co
export MONGO_URL=mongodb://nyanko-sensei:27017/rocketchat?replicaSet=rs0
export PORT=3000
Knoten main.js
Öffnen Sie in Ihrem Webbrowser die URL:rocket-chat.co (oder Ihren benutzerdefinierten Domänennamen) – Sie werden zur https-Verbindung weitergeleitet.
Erstellen Sie Ihr erstes Administratorkonto, indem Sie auf „Neues Konto registrieren“ klicken verlinken.
Geben Sie Ihren Namen, Ihre E-Mail-Adresse und Ihr Passwort ein und klicken Sie dann auf „EIN NEUES KONTO REGISTRIEREN '.
Bestätigen Sie die Verwendung der neuen 'SITE-URL' mit dem Domainnamen. Klicken Sie auf „Ja '.
Registrieren Sie den Benutzernamen und klicken Sie auf "DIESEN BENUTZERNAMEN VERWENDEN '.
Der Admin-Benutzer wurde erstellt und hier ist das Rocket.Chat-Dashboard. Sie können mit dem Chat beginnen und Ihren eigenen Kanal für Ihr Team erstellen.
Rocket.Chat wurde mit dem Nginx-Webserver auf Ubuntu 16.04 installiert.
Ergebnisse nachdem wir die neuen Umgebungsvariablen verwendet haben: