NodeBB Installation · 7 min read · Sep 10, 2025
So installieren Sie NodeBB mit Nginx-Proxy auf Debian 12

NodeBB ist eine Open-Source-Forum-Software, die in JavaScript und Node.js geschrieben ist. Es verwendet MongoDB als Standarddatenbank. NodeBB bietet mehrere Funktionen, wie z. B. Echtzeitbenachrichtigungen über Websockets, Integration von sozialen Medien und vollständige REST-APIs.
Diese Anleitung zeigt Ihnen, wie Sie NodeBB auf einem Debian 12-Server mit MongoDB als Datenbank und Nginx als Reverse-Proxy installieren.
Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes haben:
- Einen Debian 12-Server.
- Einen Nicht-Root-Benutzer mit Sudo-Rechten.
- Einen Domainnamen, der auf eine Server-IP-Adresse verweist.
Abhängigkeiten installieren
Um den Prozess zu starten, installieren Sie die Abhängigkeiten für NodeBB. Dazu gehören Node.js, NPM (Node.js-Paketmanager) und der Nginx-Webserver aus dem Debian-Repository. MongoDB installieren Sie über das offizielle MongoDB-Repository.
Zuerst führen Sie den folgenden Befehl aus, um die Pakete gnupg und curl auf Ihrem Debian-System zu installieren.
sudo apt install gnupg curl -yFügen Sie den MongoDB GPG-Schlüssel und das Repository mit dem folgenden Befehl hinzu:
curl -fsSL https://pgp.mongodb.com/server-7.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg \
--dearmorecho "deb [ signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] http://repo.mongodb.org/apt/debian bookworm/mongodb-org/7.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.listJetzt aktualisieren Sie Ihren Debian-Paketindex und installieren MongoDB, Node.js, NPM, Nginx und Git. Geben Sie Y ein, um die Installation zu bestätigen.
sudo apt update
sudo apt install mongodb-org nodejs npm git nginx
Nachdem die Installation abgeschlossen ist, laden Sie den systemd-Manager mit folgendem Befehl neu:
sudo systemctl daemon-reloadFühren Sie nun den folgenden Befehl aus, um den MongoDB-Dienststatus zu starten, zu aktivieren und zu überprüfen.
sudo systemctl enable --now mongod
sudo systemctl status mongodDie folgende Ausgabe bestätigt, dass MongoDB läuft.

Überprüfen Sie als Nächstes den Nginx-Dienststatus mit dem folgenden Befehl. Sie sollten sehen, dass Nginx auf Ihrem System aktiviert und ausgeführt wird.
sudo systemctl is-enabled nginx
sudo systemctl status nginx
Überprüfen Sie zuletzt die Version von Node.js und NPM mit folgendem Befehl:
sudo node -v
sudo npm -vSie können unten sehen, dass Node.js 18 und NPM 9 installiert sind.

MongoDB-Server einrichten
In diesem Abschnitt aktivieren Sie die MongoDB-Authentifizierung, erstellen einen neuen Administratorbenutzer für MongoDB und erstellen dann eine neue Datenbank und einen Benutzer für die NodeBB-Installation.
Melden Sie sich mit dem folgenden Befehl beim MongoDB-Server an.
mongoshFühren Sie die folgende Abfrage aus, um zur ‘admin’-Datenbank zu wechseln und einen neuen Administratorbenutzer ‘ admin ‘ für MongoDB zu erstellen. Stellen Sie sicher, dass Sie das Passwort ‘ MongoDBAdminPass ‘ durch das neue Passwort ersetzen.
use admin
db.createUser( { user: "admin", pwd: "MongoDBAdminPass", roles: [ { role: "root", db: "admin" } ] } )Erstellen Sie als Nächstes eine neue Datenbank und einen Benutzer ‘ nodebb ‘ mit dem Passwort ‘ NodeBBPassword ‘. Diese Datenbank und dieser Benutzer werden für die NodeBB-Installation verwendet.
use nodebb
db.createUser( { user: "nodebb", pwd: "NodeBBPassword", roles: [ { role: "readWrite", db: "nodebb" }, { role: "clusterMonitor", db: "admin" } ] } )Geben Sie jetzt ‘ quit() ‘ ein, um MongoDB zu verlassen.

Öffnen Sie als Nächstes die MongoDB-Konfiguration ‘ /etc/mongod.conf ‘ mit dem Nano-Editor.
sudo nano /etc/mongod.confAktivieren Sie die MongoDB-Authentifizierung, indem Sie die folgende Konfiguration hinzufügen.
security:
authorization: enabledSpeichern Sie die Datei und schließen Sie sie, wenn Sie fertig sind.
Führen Sie nun den folgenden Befehl aus, um den MongoDB-Dienst neu zu starten und Ihre neuen Änderungen anzuwenden. Nach der Ausführung des Befehls wird die MongoDB-Authentifizierung aktiviert.
sudo systemctl restart mongodUm sicherzustellen, dass Ihre MongoDB-Konfiguration erfolgreich ist, melden Sie sich mit dem Benutzer ‘ nodebb ‘ bei der Datenbank ‘ nodebb ‘ an. Geben Sie Ihr Passwort ein, wenn Sie dazu aufgefordert werden.
mongosh "mongodb://127.0.0.1:27017" --username nodebb --authenticationDatabase nodebbNach der Anmeldung führen Sie die folgende Abfrage aus, um Ihre Verbindung zu überprüfen und MongoDB zu verlassen.
db.runCommand( { connectionStatus: 1, showPrivileges: false } )
quit()In der folgenden Ausgabe sehen Sie, dass Sie als ‘ nodebb ‘ bei der Datenbank ‘ nodebb ‘ authentifiziert sind.

NodeBB installieren
Nachdem die MongoDB-Konfiguration abgeschlossen ist, werden Sie NodeBB herunterladen und installieren. Sie werden einen dedizierten Benutzer für NodeBB erstellen, die Abhängigkeiten von NodeBB herunterladen und installieren und dann eine Dienstdatei für Ihre NodeBB-Installation einrichten.
Fügen Sie einen neuen Systembenutzer ‘ nodebb ‘ mit dem Standard-Heimverzeichnis ‘ /opt/nodebb ‘ mit folgendem Befehl hinzu.
sudo adduser --system --no-create-home --home=/opt/nodebb --group nodebbLaden Sie jetzt den NodeBB-Quellcode v3 in das Verzeichnis ‘ /opt/nodebb ‘ mit Git herunter und ändern Sie den Besitz des Verzeichnisses ‘ /opt/nodebb ‘ auf den Benutzer ‘ nodebb ‘.
git clone -b v3.x https://github.com/NodeBB/NodeBB.git /opt/nodebb
sudo chown -R nodebb:nodebb /opt/nodebbGehen Sie in das Verzeichnis ‘/opt/nodebb’ und konfigurieren Sie Ihre NodeBB-Installation mit dem folgenden Befehl.
cd /opt/nodebb
sudo su -s /bin/bash -c "./nodebb setup" nodebb- Geben Sie Ihren Domainnamen für NodeBB ein.
- Lassen Sie das NodeBB-Geheimnis auf dem Standardwert und drücken Sie ENTER.
- Geben Sie nein ein, um die Verwendung des anonymen Plugins zu deaktivieren.
- Wählen Sie die Datenbank als MongoDB aus.
- Geben Sie die MongoDB-Datenbank mit der URL-Zeichenfolge: mongodb://nodebb: [email protected]:27017/nodebb ein.
- Geben Sie Ihren Administratorbenutzer und Ihre E-Mail-Adresse für NodeBB ein.
- Geben Sie Ihr Passwort ein und wiederholen Sie es.
Nach Abschluss des Prozesses sehen Sie die Ausgabe ‘ NodeBB Setup Completed ‘. Sie können auch den Befehl sehen, um NodeBB auszuführen.

Führen Sie als Nächstes den folgenden Befehl aus, um NodeBB zu starten oder zu stoppen. Sie können dies verwenden, wenn Sie NodeBB manuell starten oder stoppen müssen.
sudo su -s /bin/bash -c "./nodebb start" nodebb
sudo su -s /bin/bash -c "./nodebb stop" nodebb
Um die Verwaltung von NodeBB zu erleichtern, erstellen Sie eine neue systemd-Dienstdatei für NodeBB. Damit wird Ihre NodeBB-Installation im Hintergrund ausgeführt und Sie können sie mit dem systemctl-Befehl verwalten.
Erstellen Sie eine neue systemd-Dienstdatei ‘ /etc/systemd/system/nodebb.service ‘ mit dem Nano-Editor-Befehl.
sudo nano /etc/systemd/system/nodebb.serviceFügen Sie die folgende Konfiguration in die Datei ein:
[Unit]
Description=NodeBB
Documentation=https://docs.nodebb.org
After=system.slice multi-user.target mongod.service
[Service]
Type=simple
User=nodebb
StandardError=syslog
SyslogIdentifier=nodebb
Environment=NODE_ENV=production
WorkingDirectory=/opt/nodebb
ExecStart=/usr/bin/env node loader.js --no-silent --no-daemon
Restart=always
[Install]
WantedBy=multi-user.targetSpeichern Sie die Datei und schließen Sie sie.
Führen Sie nun den folgenden Befehl aus, um den systemd-Manager neu zu laden und die neue NodeBB-Dienstdatei anzuwenden.
sudo systemctl daemon-reloadStarten und aktivieren Sie anschließend den Dienst ‘ nodebb ‘ mit dem folgenden systemctl-Befehl.
sudo systemctl start nodebb
sudo systemctl enable nodebbÜberprüfen Sie den Dienst ‘ nodebb ‘ mit dem folgenden Befehl, um sicherzustellen, dass der Dienst läuft.
sudo systemctl status nodebbSie können unten sehen, dass NodeBB im Hintergrund als systemd-Dienst ausgeführt wird.

Nginx als Reverse-Proxy einrichten
An diesem Punkt läuft NodeBB im Hintergrund auf Port ‘4567’. Jetzt werden Sie einen neuen Nginx-Serverblock erstellen, der als Reverse-Proxy für Ihr NodeBB-Forum verwendet wird. Stellen Sie sicher, dass Ihr Domainname auf Ihre Server-IP-Adresse verweist.
Erstellen Sie eine neue Nginx-Serverblockkonfiguration ‘ /etc/nginx/sites-available/nodebb ‘ mit dem Nano-Editor.
sudo nano /etc/nginx/sites-available/nodebbFügen Sie die folgende Konfiguration hinzu, um Nginx als Reverse-Proxy für NodeBB einzurichten. Stellen Sie sicher, dass Sie den Parameter server_name mit Ihrem Domainnamen ändern.
server {
listen 80;
server_name forum.howtoforge.local;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://127.0.0.1:4567;
proxy_redirect off;
# Socket.IO Support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}Wenn Sie fertig sind, speichern Sie die Datei und beenden Sie sie.
Aktivieren Sie jetzt die Serverblockdatei ‘nodebb’ und testen Sie Ihre Nginx-Syntax mit folgendem Befehl:
sudo ln -s /etc/nginx/sites-available/nodebb /etc/nginx/sites-enabled/
sudo nginx -tWenn Sie eine korrekte Nginx-Syntax haben, sehen Sie eine Ausgabe ‘syntax is ok - test is successful’.

Führen Sie schließlich den folgenden Befehl aus, um den Nginx-Dienst neu zu starten und Ihre Änderungen anzuwenden.
sudo systemctl restart nginxNodeBB mit HTTPS sichern
In dieser Anleitung sichern Sie NodeBB mit HTTPS über Certbot und Letsencrypt. Wenn Sie eine lokale Domain verwenden, können Sie dies überspringen oder auch selbstsignierte Zertifikate generieren.
Installieren Sie Certbot und das Certbot Nginx-Plugin mit dem folgenden apt-Befehl. Geben Sie Y ein, um mit der Installation fortzufahren.
sudo apt install certbot python3-certbot-nginxFühren Sie jetzt den Certbot-Befehl aus, um die SSL-Zertifikate für Ihren NodeBB-Domainnamen zu generieren. Stellen Sie sicher, dass Sie sowohl die E-Mail-Adresse als auch den Domainnamen mit Ihren Informationen ändern.
sudo certbot --nginx --agree-tos --no-eff-email --redirect --hsts --staple-ocsp --email [email protected] -d forum.hwdomain.iNach Abschluss des Prozesses sollte Ihre NodeBB-Installation automatisch mit HTTPS gesichert sein. Ihre SSL/TLS-Zertifikate sind im Verzeichnis ‘ /etc/letsencrypt/live/domain.com ‘ verfügbar.
Zugriff auf NodeBB
Besuchen Sie https://forum.howtoforge.local/ mit Ihrem Webbrowser und Sie sehen die Standard-Indexseite von NodeBB wie folgt:

Klicken Sie von der Startseite aus auf das Menü Anmelden, und Sie werden zur Anmeldeseite von NodeBB weitergeleitet. Geben Sie Ihren Admin-Benutzer und Ihr Passwort ein und klicken Sie dann auf Anmelden.

Wenn die Anmeldung erfolgreich ist, sehen Sie das folgende Benutzerdashboard.

Klicken Sie auf das Menü Admin, um auf das Administrationsdashboard von NodeBB zuzugreifen, wie folgt:

Fazit
Herzlichen Glückwunsch! Sie haben jetzt NodeBB auf dem Debian 12-Server installiert. Sie haben NodeBB mit der MongoDB-Datenbank und dem Nginx-Reverse-Proxy am Laufen. Sie haben NodeBB auch mit HTTPS über Certbot und Letsencrypt gesichert.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.