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:
> lets-chat@0.4.8 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.
Du musst auf die Schaltfläche „Ich brauche ein Konto“ klicken, um ein Konto zu erstellen. Du solltest die folgende Seite sehen:
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:
Klicke auf die Schaltfläche OK. Du wirst zur Anmeldeseite von Let’s Chat weitergeleitet:
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:
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.