So installierst du Let’s Chat unter Ubuntu 22.04

Let’s Chat ist eine kostenlose, quelloffene und dauerhafte Messaging-Anwendung, die auf Node.js und MongoDB läuft. Sie wurde für kleine, vertraute Teams entwickelt und bietet eine Vielzahl von Funktionen wie LDAP/Kerberos-Authentifizierung, eine REST-ähnliche API und XMPP-Unterstützung. Mit Let’s Chat kannst du alle Arten von Nachrichten verschicken und findest außerdem Chats für Interessengruppen, Sprachsticker und coole Emojis.

In diesem Beitrag zeigen wir dir, wie du Let’s Chat mit Nginx als Reverse Proxy auf Ubuntu 22.04 installierst.

Voraussetzungen

  • Ein Server, auf dem Ubuntu 22.04 läuft.
  • Ein Root-Passwort ist auf dem Server eingerichtet.

Node.JS installieren

Bevor du beginnst, musst du Node.js auf deinem Server installieren. Um die neueste Version von Node.js zu installieren, musst du das Node Source Repository zur APT hinzufügen.

Installiere zunächst alle erforderlichen Abhängigkeiten mit dem folgenden Befehl:

apt install dirmngr gnupg apt-transport-https ca-certificates software-properties-common -y

Sobald alle Abhängigkeiten installiert sind, fügst du das Node.js-Repository zu APT hinzu.

curl -sL https://deb.nodesource.com/setup_18.x | bash -

Sobald das Repository hinzugefügt ist, kannst du Node.js mit dem folgenden Befehl installieren:

apt-get install nodejs -y

Nach der erfolgreichen Installation überprüfst du die Node.js-Version mit folgendem Befehl:

node -v

Du erhältst die folgende Ausgabe:

v18.7.0

MongoDB-Datenbank installieren

Du brauchst auch eine MongoDB-Datenbank, die auf deinem Server installiert werden muss.

Lade zunächst das libssl-Paket herunter und installiere es mit dem folgenden Befehl:

wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb
dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb

Als Nächstes fügst du den MongoDB GPG-Schlüssel und das Repository mit dem folgenden Befehl hinzu:

wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.4.list

Als Nächstes aktualisierst du den Repository-Cache mit dem folgenden Befehl:

apt update

Sobald dein Repository aktualisiert ist, installierst du MongoDB mit folgendem Befehl:

apt install -y mongodb-org

Sobald das MongoDB-Paket installiert ist, starte und aktiviere den MongoDB-Dienst mit dem folgenden Befehl:

systemctl start mongod
systemctl enable mongod

Du kannst den Status des MongoDB-Dienstes mit dem folgenden Befehl überprüfen:

systemctl status mongod

Du solltest die folgende Ausgabe sehen:

? mongod.service - MongoDB Database Server
     Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled)
     Active: active (running) since Sun 2022-07-31 04:00:08 UTC; 6s ago
       Docs: https://docs.mongodb.org/manual
   Main PID: 42274 (mongod)
     Memory: 61.1M
        CPU: 1.014s
     CGroup: /system.slice/mongod.service
             ??42274 /usr/bin/mongod --config /etc/mongod.conf

Jul 31 04:00:08 ubuntu2204 systemd[1]: Started MongoDB Database Server.

Let’s Chat installieren

Zuerst musst du die neueste Version von Let’s Chat aus dem Git Hub Repository herunterladen. Du kannst sie mit dem folgenden Befehl herunterladen:

git clone https://github.com/sdelements/lets-chat.git

Sobald der Download abgeschlossen ist, wechselst du in das heruntergeladene Verzeichnis und installierst alle erforderlichen Abhängigkeiten mit dem folgenden Befehl:

cd lets-chat
npm install

Als Nächstes kopierst du die Beispielkonfigurationsdatei und startest den Let’s Chat Server mit dem folgenden Befehl:

cp settings.yml.sample settings.yml
npm start

Du solltest die folgende Ausgabe sehen:

> [email protected] start
> node app.js

(node:42373) DeprecationWarning: `open()` is deprecated in mongoose >= 4.11.0, use `openUri()` instead, or set the `useMongoClient` option if using `connect()` or `createConnection()`. See http://mongoosejs.com/docs/4.x/docs/connections.html#use-mongo-client
(Use `node --trace-deprecation ...` to show where the warning was created)

???     ?????????????????????????     ??????????  ??? ?????? ?????????
???     ?????????????????????????    ???????????  ????????????????????
???     ??????     ???   ????????    ???     ????????????????   ???   
???     ??????     ???   ????????    ???     ????????????????   ???   
????????????????   ???   ????????    ???????????  ??????  ???   ???   
????????????????   ???   ????????     ??????????  ??????  ???   ???

Release 0.4.8

Drücke die Tastenkombination STRG + C, um den Let’s Chat-Dienst zu beenden.

Eine Systemd-Dienstdatei für Let’s Chat erstellen

Als Nächstes musst du eine systemd-Dienstdatei für Let’s Chat erstellen. Du kannst sie mit dem folgenden Befehl erstellen:

nano /etc/systemd/system/letschat.service

Füge die folgenden Zeilen hinzu:

[Unit]
Description=Let's Chat Server
Wants=mongodb.service
After=network.target mongod.service

[Service]
Type=simple
WorkingDirectory=/root/lets-chat
ExecStart=/usr/bin/npm start
User=root
Group=root
Restart=always
RestartSec=9

[Install]
WantedBy=multi-user.target

Speichere und schließe die Datei und lade dann den systemd-Daemon mit dem folgenden Befehl neu:

systemctl daemon-reload

Starte und aktiviere den Let’s Chat-Dienst mit dem folgenden Befehl:

systemctl start letschat
systemctl enable letschat

Als Nächstes überprüfst du den Status von Let’s Chat mit dem folgenden Befehl:

systemctl status letschat

Du solltest die folgende Ausgabe sehen:

? letschat.service - Let's Chat Server
     Loaded: loaded (/etc/systemd/system/letschat.service; disabled; vendor preset: enabled)
     Active: active (running) since Sun 2022-07-31 04:02:34 UTC; 4s ago
   Main PID: 42429 (npm start)
      Tasks: 23 (limit: 2242)
     Memory: 157.9M
        CPU: 4.457s
     CGroup: /system.slice/letschat.service
             ??42429 "npm start" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
             ??42440 sh /tmp/start-b5e830e4.sh
             ??42441 letschat "" "" ""

Jul 31 04:02:34 ubuntu2204 npm[42429]: > node app.js
Jul 31 04:02:38 ubuntu2204 npm[42441]: (node:42441) DeprecationWarning: `open()` is deprecated in mongoose >= 4.11.0, use `openUri()` instead>
Jul 31 04:02:38 ubuntu2204 npm[42441]: (Use `node --trace-deprecation ...` to show where the warning was created)
Jul 31 04:02:38 ubuntu2204 npm[42441]: ???     ?????????????????????????     ??????????  ??? ?????? ?????????
Jul 31 04:02:38 ubuntu2204 npm[42441]: ???     ?????????????????????????    ???????????  ????????????????????
Jul 31 04:02:38 ubuntu2204 npm[42441]: ???     ??????     ???   ????????    ???     ????????????????   ???
Jul 31 04:02:38 ubuntu2204 npm[42441]: ???     ??????     ???   ????????    ???     ????????????????   ???
Jul 31 04:02:38 ubuntu2204 npm[42441]: ????????????????   ???   ????????    ???????????  ??????  ???   ???
Jul 31 04:02:38 ubuntu2204 npm[42441]: ????????????????   ???   ????????     ??????????  ??????  ???   ???
Jul 31 04:02:38 ubuntu2204 npm[42441]: Release 0.4.8

Zu diesem Zeitpunkt ist der Let’s Chat-Dienst gestartet und lauscht auf Port 5000. Du kannst ti mit dem folgenden Befehl überprüfen:

ss -antpl | grep 5000

Du solltest die folgende Ausgabe sehen:

LISTEN 0      511        127.0.0.1:5000       0.0.0.0:*    users:(("letschat",pid=42441,fd=20))     

Nginx für Let’s Chat konfigurieren

Als Nächstes musst du Nginx als Reverse Proxy für Let’s Chat installieren und konfigurieren. So kannst du über Port 80 auf Let’s Chat zugreifen.

Installiere zunächst das Nginx-Serverpaket mit dem folgenden Befehl:

apt install nginx -y

Als Nächstes erstellst du eine Konfigurationsdatei für den virtuellen Nginx-Host:

nano /etc/nginx/conf.d/letschat.conf

Füge die folgenden Konfigurationen hinzu:

server {
server_name letschat.example.com;
listen 80;

access_log /var/log/nginx/lets_chat-access.log;
error_log /var/log/nginx/lets_chat-error.log;

location / {
proxy_set_header   X-Real-IP $remote_addr;
proxy_set_header   Host      $host;
proxy_http_version 1.1;
proxy_set_header   Upgrade $http_upgrade;
proxy_set_header   Connection 'upgrade';
proxy_cache_bypass $http_upgrade;
proxy_pass         http://127.0.0.1:5000;
}

}

Speichere und schließe die Datei, dann überprüfe Nginx auf Syntaxfehler:

nginx -t

Du solltest die folgende Ausgabe sehen:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Starte abschließend den Nginx-Dienst neu, um die Konfigurationsänderungen zu übernehmen:

systemctl restart nginx

Du kannst den Status von Nginx auch mit folgendem Befehl überprüfen:

systemctl status nginx

Du solltest den Nginx-Status in der folgenden Ausgabe sehen:

? nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2022-07-31 04:04:23 UTC; 5s ago
       Docs: man:nginx(8)
    Process: 43193 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 43194 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 43195 (nginx)
      Tasks: 2 (limit: 2242)
     Memory: 2.5M
        CPU: 35ms
     CGroup: /system.slice/nginx.service
             ??43195 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
             ??43196 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""

Jul 31 04:04:23 ubuntu2204 systemd[1]: Starting A high performance web server and a reverse proxy server...
Jul 31 04:04:23 ubuntu2204 systemd[1]: Started A high performance web server and a reverse proxy server.

Zugriff auf das Let’s Chat Webinterface

Öffne nun deinen Webbrowser und rufe die Let’s Chat-Weboberfläche über die URL http://letschat.example.com auf.

Let's Chat Anmeldung

Du musst auf die Schaltfläche „Ich brauche ein Konto“ klicken, um ein Konto zu erstellen. Du solltest die folgende Seite sehen:

Ein Konto registrieren

Gib deinen Benutzernamen, dein Passwort und deine E-Mail-Adresse ein und klicke auf die Schaltfläche “ Registrieren „. Sobald du erfolgreich registriert bist, solltest du die folgende Seite sehen:

Anmeldung erfolgreich

Klicke auf die Schaltfläche OK. Du wirst zur Anmeldeseite von Let’s Chat weitergeleitet:

Anmeldung

Gib deinen Let’s Chat-Benutzernamen und dein Passwort ein und klicke auf die Schaltfläche “ Anmelden „. Auf dem folgenden Bildschirm siehst du das Let’s Chat Dashboard:

Chatraum

Fazit

Herzlichen Glückwunsch! Du hast den Let’s Chat Server mit Nginx als Reverse Proxy auf Ubuntu 22.04 erfolgreich installiert. Du kannst Let’s Chat jetzt in deiner Arbeitsumgebung einsetzen und mit anderen Teammitgliedern kommunizieren. Wenn du noch Fragen hast, kannst du dich gerne an mich wenden.

Das könnte dich auch interessieren …