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

So installieren Sie Rocket.Chat Server mit Nginx unter Ubuntu 16.04

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 nginx

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

Erstellen Sie als Nächstes eine neue virtuelle Rocket-Chat-Hostdatei im Verzeichnis „sites-available“.

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

Fü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 -t

Stellen 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:


Ubuntu
  1. So installieren Sie Nginx unter Ubuntu 20.04

  2. So installieren Sie den HTTP-Git-Server mit Nginx unter Ubuntu 16.04

  3. So installieren Sie den HTTP-Git-Server mit Nginx unter Ubuntu 20.04

  4. So installieren Sie Rocket.Chat unter Ubuntu 16.04

  5. So installieren Sie Rocket.Chat unter Ubuntu 18.04

So installieren Sie FileRun unter Ubuntu 20.04 mit Apache/Nginx

So installieren Sie InvoiceNinja auf Ubuntu 18.04 Server mit Apache/Nginx

So installieren Sie InvoiceNinja auf Ubuntu 20.04 Server mit Apache/Nginx

So installieren Sie Nginx auf Ubuntu

So installieren Sie LetsEncrypt mit Nginx unter Ubuntu 15.04

So stellen Sie Rocket Chat mit Nginx unter Ubuntu 18.04 bereit