Wie man Rocket.Chat Server mit Nginx auf Ubuntu 16.04 installiert

Rocket.Chat ist eine kostenlose und quelloffene Online-Chat-Lösung für die Teamkommunikation, mit der Sie Ihren eigenen Slack wie einen Online-Chat aufbauen können. Rocket.Chat basiert auf Javascript, das mit dem Meteor Full Stack Framework 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 dir, wie du deinen eigenen Chatserver mit Rocket.Chat erstellen kannst. 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-Privilegien

Schritt 1 – Installieren der Rocket.Chat-Abhängigkeiten

Melden Sie sich mit ssh (oder dem Terminal) am 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

Als nächstes installieren Sie neue Pakete, die für 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üge 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 Befehl apt:

apt-get update
apt-get install mongodb-org

Fügen Sie MongoDB hinzu, um es während des Bootvorgangs auszuführen und starten Sie es:

systemctl enable mongod
systemctl start mongod

MongoDB wurde auf Port 27017 gestartet.

Installieren Sie MongoDB und starten Sie es.

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 ein „#“ am Anfang von Zeile 24 hinzu, um MongoDB zu deaktivieren, das nur auf dem lokalen Rechner läuft.

net:
    port: 27017
    #bindIp: 127.0.0.1

Fügen Sie die ReplicaSet-Konfiguration unten in Zeile 34 hinzu.

#replication:                                                               
replication:                                                                
   oplogSizeMB: 1                                                           
   replSetName: rs0

Speichern und beenden.

Starten Sie den MongoDB-Dienst neu:

systemctl restart mongod

Als nächstes starten Sie die MongoDB-Shell und starten das ReplicaSet:

export LC_ALL=C
mongo
rs.initiate()

Initiiere Ergebnisse:

{
  "info2" : "no configuration specified. Using a default configuration for the set",
  "me" : "nyanko-sensei:27017",
  "ok" : 1
}

Wenn das Ergebnis eine andere Zahl ist, dann bedeutet das, dass etwas nicht stimmt.

MongoDB ReplicaSet konfigurieren

Schritt 4 – npm und nodejs installieren

In diesem Schritt werden wir nodejs und npm aus dem Ubuntu-Repository installieren. Dann werden wir das n-Paket mit dem Befehl npm installieren, 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

Als nächstes installieren Sie das n-Paket global auf dem System mit dem Befehl npm:

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 nodejs-Version:

node --version
npm -v

Verwalten Sie die NodeJS-Version mit dem Befehl n.

Schritt 5 – Rocket.Chat Server installieren

Wir werden Rocket.Chat (neueste Version) im Verzeichnis /var/wwww/ 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 Verzeichnis /var/www/ und benennen Sie das Bundle-Verzeichnis in’Rocket.Chat‘ um und verschieben Sie es dann:

mkdir -p /var/www/
mv bundle Rocket.Chat
mv Rocket.Chat /var/www/

Gehen Sie in das Verzeichnis Rocket.Chat, setzen Sie einige erforderliche Umgebungsvariablen und starten Sie den Rocket.Chat-Server.

cd /var/www/Rocket.Chat/
cd programs/server/
npm install

cd ../../
export ROOT_URL=http://192.168.1.110:3000/
export MONGO_URL=mongodb://nyanko-sensei:27017/rocketchat?replicaSet=rs0
export PORT=3000
node main.js

Installieren Sie den Rocket.Chat-Server auf Ubuntu 16.10.

Rocket.Chat ist installiert, öffnen Sie Ihren Webbrowser und besuchen Sie die Server-IP-Adresse auf Port 3000. – 192.168.1.110:3000.

Rocket Chat ist installiert und funktioniert einwandfrei.

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 werden wir Rocket.Chat hinter dem Nginx-Webserver auf https-Verbindungen ausführen, um eine sichere und schnelle Einrichtung zu ermöglichen.

Installiere Nginx mit dem Befehl apt:

apt-get install nginx

Erstellen Sie ein neues SSL-Verzeichnis:

mkdir -p /etc/nginx/ssl/
cd /etc/nginx/ssl/

Erzeugen 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.key

Als nächstes erstellen Sie eine neue Raketen-Chat-Virtual-Host-Datei im vom Standort verfügbaren Verzeichnis.

cd /etc/nginx/sites-available/
vim rocket-chat

Fügen Sie die neue virtuelle Host-Konfiguration unten ein:

# Upstreams
upstream backend {
    server 127.0.0.1:3000;
}
# Redirect Options
server {
listen 80;
server_name rocket-chat.co;
# enforce https
return 301 https://$server_name$request_uri;
}

# HTTPS Server
server {
listen 443;
server_name 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; # dont use SSLv3 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 -t

Achten Sie darauf, dass keine Fehlermeldungen vorliegen.

Starten Sie den Nginx-Webserver neu:

systemctl restart nginx

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 neuen Variablen unten 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
node main.js

Rocket.Chat mit Nginx Web Server

Öffnen Sie in Ihrem Webbrowser die URL: rocket-chat.co (oder Ihren eigenen Domainnamen) – Sie werden zur https-Verbindung weitergeleitet.

Erstellen Sie Ihr erstes Admin-Konto, indem Sie auf den Link „Neues Konto registrieren“ klicken.

Rocket.Chat über SSL

Geben Sie Ihren Namen, Ihre E-Mail-Adresse und Ihr Passwort ein und klicken Sie dann auf „NEUES KONTO REGISTRIEREN„.

Erstellen Sie ein Admin-Konto

Bestätigen Sie, die neue’SITE-URL‘ mit dem Domänennamen zu verwenden. Klicken Sie auf „Ja„.

Bestätigen Sie, die neue URL zu verwenden.

Registrieren Sie den Benutzernamen, klicken Sie auf‘Diesen Benutzernamen verwenden‚.

Registrieren Sie den Benutzernamen

Der Admin-Benutzer wurde erstellt und hier ist das Rocket.Chat Dashboard. Du kannst mit dem Chatten beginnen und einen eigenen Kanal für dein Team erstellen.

Rocket.Chat wurde mit dem Nginx Webserver auf ubuntu 16.04 installiert.

Rocket.Chat Dashboard

Ergebnisse, nachdem wir die neuen Umgebungsvariablen verwendet haben:

Variablenaktualisierung

Referenz

Das könnte Dich auch interessieren …