Android

Wie Sie rocket.chat auf centos 7 bereitstellen

204th Knowledge Seekers Workshop Dec 28 2017

204th Knowledge Seekers Workshop Dec 28 2017

Inhaltsverzeichnis:

Anonim

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:

sudo systemctl reload nginx

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 mongodb