Rocket.Chat – Kostenloser, Open-Source-Enterprise-Team-Chat für Linux

Rocket.Chat ist eine kostenlose, Open-Source-, skalierbare, hoch anpassbare und sichere Plattform, die es Ihnen ermöglicht, mit Ihrem Team zu kommunizieren und zusammenzuarbeiten, Dateien zu teilen und in Echtzeit zu chatten. Es ist plattformübergreifend und läuft auf den Betriebssystemen Linux, Windows, macOS, Android und iOS.

Es ist ähnlich wie Slack und bietet Live-Chat, kostenlose Audio- und Videokonferenzen, Kanäle, Gastzugang, Bildschirmfreigabe und Dateifreigabe. Um eine sichere Kommunikation zu gewährleisten, unterstützt es die LDAP-Gruppensynchronisation, Zwei-Faktor-Authentifizierung (2FA), Ende-zu-Ende-Verschlüsselung, Single Sign-On und mehrere Oauth-Anbieter.

Wichtig ist, dass Sie aufgrund der vollständigen Open-Source-Natur auf den Quellcode zugreifen können, um ihn vollständig anzupassen, zu erweitern oder neue Funktionen hinzuzufügen, um die Anforderungen Ihres Teams oder Unternehmens zu erfüllen.

In diesem Artikel erfahren Sie, wie Sie den Rocket.Chat-Server und -Client auf einem Linux-System installieren und konfigurieren.

Schritt 1: Installation von Snaps in Linux

1. Der einfachste Weg, um Rocket.Chat zu installieren, ist die Verwendung von Snaps – sie werden von den meisten, wenn nicht allen modernen Linux-Distributionen unterstützt und sind sicher, weil sie unter einer restriktiven Sicherheitssandbox ausgeführt werden. Zusätzlich können Sie mit Snaps auch automatische Updates durchführen, wenn eine neue Version eines Pakets verfügbar ist.

Stellen Sie zunächst sicher, dass das snapd-Paket auf Ihrem System installiert ist, andernfalls installieren Sie es mit Ihrem Standard-Paketmanager wie folgt.

$ sudo apt install snapd		#Ubuntu and Debian
$ sudo dnf install snapd		#Fedora 22+/CentOS/RHEL 8
$ sudo yum install snapd		#CentOS/RHEL 7

2. Wenn die Installation abgeschlossen ist, müssen Sie die systemd-Einheit aktivieren, die den Haupt-Snap-Kommunikationssocket verwaltet, wie folgt. Beachten Sie, dass dieser Befehl den Socket startet und ihn aktiviert, um beim Systemstart zu starten. Auf Ubuntu sollte dies automatisch nach Abschluss der Paketinstallation erfolgen.

$ sudo systemctl enable --now snapd.socket

Zusätzlich können Sie die Unterstützung für klassische Snaps aktivieren, indem Sie eine symbolische Verknüpfung zwischen /var/lib/snapd/snap und /snap erstellen.

 
$ sudo ln -s /var/lib/snapd/snap /snap

Schritt 2: Installation von Rocket.Chat unter Linux

3. Jetzt, da Snapd installiert ist, führen Sie den folgenden Befehl aus, um den rocketchat-server zu installieren.
$ sudo snap install rocketchat-server

4. Wenn die Snap-Installation abgeschlossen ist, wird Ihr rocket.chat-Server standardmäßig gestartet und horcht auf Port 3000. Öffnen Sie einen Webbrowser und geben Sie die folgende Adresse ein, um rocket.chat auf dem System einzurichten.

http://SERVER_IP:3000

5. Nachdem der Einrichtungsassistent geladen wurde, geben Sie den vollständigen Namen des administrativen Benutzers, den Benutzernamen, die organisatorische E-Mail-Adresse und das Passwort ein.

Enter Your Admin Info

6. Geben Sie als nächstes die organisatorischen Informationen an (Organisationstyp, Name, Branche, Größe, Land und Website) und klicken Sie dann auf Weiter.

Enter Organization Info

7. Geben Sie anschließend die Serverinformationen an (Seitenname, Standard, Servertyp und aktivieren Sie auch 2FA oder nicht). Klicken Sie dann auf Weiter.

Enter Server Info

8. Auf der nächsten Seite registrieren Sie den Server. Hier gibt es zwei Optionen, die Standardeinstellung ist die Verwendung der vorkonfigurierten Gateways und Proxies von Rocket.Chat (dies ist die empfohlene Option).

Alternativ können Sie sich dafür entscheiden, eigenständig zu bleiben und Konten bei Diensteanbietern zu erstellen, vorkonfigurierte Einstellungen zu aktualisieren und auch die mobilen Apps mit Ihren privaten Zertifikaten neu zu kompilieren. Und klicken Sie auf Weiter.

Register Rocket.Chat Server

Die Einrichtung ist abgeschlossen und Ihr Arbeitsbereich ist bereit. Klicken Sie auf Zum Arbeitsbereich gehen.

Use Work Space
Rocket.Chat Home Workspace

Schritt 3: Konfigurieren eines Reverse-Proxys für Rocket.Chat

9. Ein Reverse-Proxy wie NGINX oder Apache ermöglicht es Ihnen, die Anwendung Rocket.Chat über eine Domain oder Subdomain (z. B. http://chat.tecmint.com) zugänglich zu machen, anstatt die Adresse und den Anwendungsport des Servers einzugeben (z. B. http://10.42.0.247:3000).

Zusätzlich ist Rocket.Chat ein Mittelwareserver, der kein SSL/TLS verarbeitet. Ein Reverse-Proxy ermöglicht es Ihnen auch, SSL/TLS-Zertifikate zu konfigurieren, um HTTPS zu aktivieren.

Aktivieren Sie den Nginx-Reverse-Proxy für Rocket.Chat

10. Installieren Sie zunächst das Paket NGINX, wenn es noch nicht auf Ihrem System installiert ist.

$ sudo apt apt install nginx		#Ubuntu/Debian 
$ sudo dnf install nginx		#Fedora 22+/CentOS/RHEL 8
$ sudo yum install nginx		#CentOS/RHEL 7

11. Sobald die Paketinstallation abgeschlossen ist, starten Sie den Nginx-Dienst, aktivieren Sie ihn vorerst, um beim Systemstart automatisch gestartet zu werden, und überprüfen Sie seinen Status, um sicherzustellen, dass er läuft.

$ sudo systemctl enable --now nginx
$ sudo systemctl status nginx

12. Als Nächstes erstellen Sie eine virtuelle Serverblockdatei für die Anwendung Rocket.Chat im Verzeichnis /etc/nginx/conf.d/, zum Beispiel.

$ sudo vim /etc/nginx/conf.d/chat.tecmint.com.conf

Kopieren Sie dann die folgende Konfiguration in die Datei (ersetzen Sie chat.tecmint.com durch Ihre gültige Subdomain oder Domain).

upstream backend {
    server 127.0.0.1:3000;
}

server {
    listen 80;
    server_name chat.tecmint.com;

    # You can increase the limit if you need to.
    client_max_body_size 200M;

    error_log /var/log/nginx/chat.tecmint.com.log;

    location / {
        proxy_pass http://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-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forward-Proto http;
        proxy_set_header X-Nginx-Proxy true;
        proxy_redirect off;
    }
}

Speichern Sie die Datei und schließen Sie sie.

13. Überprüfen Sie dann die NGINX-Konfiguration auf Syntaxprobleme. Wenn alles in Ordnung ist, starten Sie den Nginx-Dienst neu, um die kürzlichen Änderungen anzuwenden.

$ sudo nginx -t
$ sudo systemctl restart nginx

Aktivieren Sie den Apache Reverse Proxy für Rocket.Chat

14. Beginnen Sie mit der Installation des Pakets Apache2, falls es noch nicht auf Ihrem System installiert ist.

$ sudo apt install apache2		#Ubuntu/Debian 
$ sudo dnf install httpd		#Fedora 22+/CentOS/RHEL 8
$ sudo yum install httpd		#CentOS/RHEL 7

15. Starten Sie als Nächstes den Apache-Dienst und aktivieren Sie ihn und überprüfen Sie, ob er wie folgt ausgeführt wird.

----- On Ubuntu/Debian -----
$ sudo systemctl enable --now apache2 	
$ sudo systemctl status apache2

----- On CentsOS/RHEL 7/8 ----- 
$ sudo systemctl enable --now httpd
$ sudo systemctl status httpd

16. Erstellen Sie als Nächstes eine virtuelle Hostdatei für die Anwendung Rocket.Chat im Verzeichnis /etc/apache2/sites-available/ oder /etc/httpd/conf.d/, zum Beispiel.

----- On Ubuntu/Debian -----
$ sudo vim /etc/apache2/sites-available/chat.tecmint.com.conf

----- On CentsOS/RHEL 7/8 ----- 
$ sudo vim /etc/httpd/conf.d/chat.tecmint.com.conf

17. Kopieren Sie die folgende Konfiguration hinein, ersetzen Sie chat.tecmint.com durch Ihre gültige Domain.

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName chat.tecmint.com

    LogLevel info
    ErrorLog /var/log/chat.tecmint.com_error.log
    TransferLog /var/log/chat.tecmint.com_access.log

    <Location />
        Require all granted
    </Location>

    RewriteEngine On
    RewriteCond %{HTTP:Upgrade} =websocket [NC]
    RewriteRule /(.*)           ws://localhost:3000/$1 [P,L]
    RewriteCond %{HTTP:Upgrade} !=websocket [NC]
    RewriteRule /(.*)           http://localhost:3000/$1 [P,L]

    ProxyPassReverse /          http://localhost:3000/
</VirtualHost>

Speichern Sie die Datei und schließen Sie sie.

18. Aktivieren Sie auf Ubuntu und Debian die erforderlichen Apache2-Module und starten Sie den Dienst neu, um die kürzlichen Änderungen anzuwenden.

$ sudo a2enmod proxy_http
$ sudo a2enmod proxy_wstunnel
$ sudo a2enmod rewrite
$ sudo systemctl restart apache2

Auf CentOS/RHEL und Fedora starten Sie einfach den Apache-Dienst neu.

# systemctl restart httpd

19. Jetzt ist alles korrekt konfiguriert, öffnen Sie Ihren Browser und geben Sie die folgende Adresse ein. Die Rocket.Chat-Anwendung sollte über Ihre im Proxyserver konfigurierte Domain erreichbar sein.

http://chat.tecmint.com
Rocket.Chat Login Screen

20. Der nächste entscheidende Schritt besteht darin, die Sicherheits- und Datenschutzvorteile eines HTTPS-Zertifikats für Ihren Chat-Dienst hinzuzufügen. Für eine Produktionsumgebung empfehlen wir die Verwendung von Let’s Encrypt, das kostenlos ist und von den meisten modernen Webbrowsern vertraut wird.

Beachten Sie, dass Let’s Encrypt automatisiert ist: Sie können certbot, ein kostenloses Open-Source-Tool, verwenden, um automatisch Let’s Encrypt-Zertifikate in gängigen Linux-Distributionen und Webservern zu erhalten und zu installieren oder einfach zu erhalten und manuell zu installieren.

Schritt 4: Installation von Rocket.Chat-Clients auf dem Desktop

21. Last but not least können Sie eine Rocket.Chat-Desktop-App für Linux, Mac oder Windows von der Projektwebsite von Rocket.Chat herunterladen und installieren. Es bietet auch mobile Apps für Android und iOS.

Um die Desktop-Anwendung unter Linux zu installieren, laden Sie entweder ein deb (x64) oder rpm(x64) Paket je nach Ihrer Linux-Distribution herunter.

$ wget -c https://github.com/RocketChat/Rocket.Chat.Electron/releases/download/2.17.7/rocketchat_2.17.7_amd64.deb
OR
$ wget -c https://github.com/RocketChat/Rocket.Chat.Electron/releases/download/2.17.7/rocketchat-2.17.7.x86_64.rpm

22.Installieren Sie dann das Paket mithilfe des dpkg– oder RPM-Paketmanagers, wie unten gezeigt.

$ sudo dpkg -i rocketchat_2.17.7_amd64.deb      #Ubuntu/Debian
$ sudo rpm -i rocketchat-2.17.7.x86_64.rpm      #CentOS/RedHat

23.Nach Abschluss der Paketinstallation suchen Sie nach rocket.chat im Systemmenü und starten Sie es. Geben Sie nach dem Laden die URL Ihres Servers ein, um eine Verbindung herzustellen, wie im folgenden Screenshot gezeigt.

Source:
https://www.tecmint.com/rocket-chat-open-source-team-chat-for-linux/