NodeBB Installation · 8 min read · Sep 09, 2025
So installieren Sie NodeBB mit MongoDB und Nginx Proxy auf AlmaLinux 9

NodeBB ist eine Open-Source-Forumsoftware, die auf Node.js basiert und eine moderne und responsive Lösung für Online-Communities bietet. NodeBB läuft auf Ubuntu Linux und nutzt die Robustheit und Flexibilität des Betriebssystems, um hohe Leistung und Skalierbarkeit zu gewährleisten. Es verwendet eine Kombination aus MongoDB und Redis für das Datenbankmanagement, was es ihm ermöglicht, große Mengen an nutzergenerierten Inhalten effizient zu verarbeiten.
NodeBB ist bekannt für seine Echtzeitbenachrichtigungen, nahtlose Integration mit verschiedenen sozialen Medien und ein umfangreiches Plugin-Ökosystem, das Administratoren ermöglicht, ihre Foren an spezifische Bedürfnisse anzupassen. Darüber hinaus sorgt das mobile-first Design für ein konsistentes und ansprechendes Benutzererlebnis auf allen Geräten. Die Stabilität und Sicherheitsmerkmale von Ubuntu ergänzen NodeBB und machen es zu einer idealen Wahl für das Hosting und Management dynamischer Online-Communities.
Diese Anleitung bietet Schritt-für-Schritt-Anweisungen zur Installation von NodeBB auf einem Alma Linux 9-Server. Sie verwenden MongoDB als Datenbank, Nginx als Reverse-Proxy und sichern NodeBB anschließend mit HTTPS über Certbot und Letsencrypt.
Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes haben:
- Einen Alma Linux 9-Server
- Einen Nicht-Root-Benutzer mit Administratorrechten
- Einen Domainnamen, der auf die Server-IP-Adresse zeigt
- Ein SELinux mit dem Status permissiv und aktiviert
Abhängigkeiten installieren
NodeBB ist eine Open-Source-Forumsoftware, die auf Node.js basiert. Um NodeBB zu installieren, müssen Sie sicherstellen, dass die folgenden Pakete installiert sind:
- Systemwerkzeuge wie “Development Tools”, Git und ImageMagick
- Node.js 18 oder höher und NPM (Node Package Manager)
- MongoDB NoSQL-Datenbankserver
- Nginx-Webserver als Reverse-Proxy
In diesem Abschnitt installieren Sie diese Abhängigkeiten auf dem Alma Linux 9-Server.
Zuerst führen Sie den folgenden Befehl aus, um das Alma Linux CRB (CodeReadyBuild) Repository zu aktivieren und das EPEL-Repository zu installieren.
sudo crb enable
sudo dnf install epel-release -yErstellen Sie dann eine neue Repository-Datei ‘ /etc/yum.repos.d/mongodb-org-7.0.repo ‘ mit dem ‘ nano ‘ Editor.
sudo nano /etc/yum.repos.d/mongodb-org-7.0.repoGeben Sie die folgende Konfiguration in die Datei ein:
[mongodb-org-7.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/9/mongodb-org/7.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://pgp.mongodb.com/server-7.0.ascSpeichern Sie die Datei und beenden Sie den Editor, wenn Sie fertig sind.
Führen Sie nun den folgenden Befehl aus, um das Node.js 18-Repository für AlmaLinux zu aktivieren.
sudo dnf module enable nodejs:18 -y
Führen Sie als Nächstes den folgenden ‘ dnf ‘ Befehl aus, um die ‘ Development Tools ‘, den MongoDB-Server, Node.js, NPM, Git und ImageMagick zu installieren.
sudo dnf group install "Development Tools" -y
sudo dnf install nodejs npm git ImageMagick mongodb-org -y
Nachdem die Installation abgeschlossen ist, starten und aktivieren Sie den ‘ mongod ‘ Dienst mit dem folgenden Befehl.
sudo systemctl enable --now mongod
sudo systemctl status mongodSie können unten sehen, dass der MongoDB-Server läuft und aktiviert ist.

Überprüfen Sie zuletzt die Node.js-Version mit dem folgenden Befehl. Sie sollten sehen, dass Node.js 18 auf dem Alma Linux-Server installiert ist.
node --version
npm --versionMongoDB-Server und Datenbank für NodeBB einrichten
Nachdem die Abhängigkeiten installiert sind, sichern Sie den MongoDB-Server, indem Sie die Passwortauthentifizierung aktivieren und das MongoDB-Admin-Passwort festlegen. Danach erstellen Sie auch eine neue MongoDB-Datenbank und einen Benutzer für die NodeBB-Installation.
Melden Sie sich mit dem ‘ mongosh ‘ Befehl unten am MongoDB-Server an.
mongosh
Sobald Sie angemeldet sind, wechseln Sie zur ‘ admin ‘ Datenbank und führen Sie die folgende Abfrage aus, um ein Admin-Passwort für MongoDB festzulegen. Stellen Sie sicher, dass Sie ‘ MongoDBAdminPass ‘ mit Ihrer Passwortkombination ändern.
use admin
db.createUser( { user: "admin", pwd: "MongoDBAdminPass", roles: [ { role: "root", db: "admin" } ] } )Führen Sie nun die folgenden Abfragen aus, um eine neue Datenbank und den Benutzer ‘ nodebb ‘ mit dem Passwort ‘NodeBBPassword’. zu erstellen. Sie können die folgenden Datenbankdetails nach Bedarf anpassen.
use nodebb
db.createUser( { user: "nodebb", pwd: "NodeBBPassword", roles: [ { role: "readWrite", db: "nodebb" }, { role: "clusterMonitor", db: "admin" } ] } )Geben Sie ‘ quit() ‘ ein, um den MongoDB-Server zu verlassen.

Nachdem Sie das Admin-Passwort für MongoDB konfiguriert haben, aktivieren wir die MongoDB-Authentifizierung.
Öffnen Sie die Standard-MongoDB-Konfigurationsdatei ‘ /etc/mongod.conf ‘ mit dem ‘ nano ‘ Editor.
sudo nano /etc/mongod.confUm die MongoDB-Authentifizierung zu aktivieren, kommentieren Sie die ‘ security ‘ Zeile aus und fügen Sie die ‘ authorization: enabled ‘ wie folgt hinzu:
security:
authorization: enabledSpeichern Sie die Datei und beenden Sie den Editor, wenn Sie fertig sind.
Führen Sie nun den folgenden ‘ systemctl ‘ Befehl aus, um den MongoDB-Server neu zu starten und Ihre Änderungen anzuwenden. Die MongoDB-Authentifizierung sollte jetzt aktiviert sein.
sudo systemctl restart mongodUm die Konfiguration zu überprüfen, führen Sie den ‘ mongosh ‘ Befehl unten aus, um sich mit dem Benutzer ‘ nodebb ‘ am MongoDB anzumelden. Geben Sie das Passwort für den Benutzer ‘ nodebb ‘ ein.
mongosh "mongodb://127.0.0.1:27017" --username nodebb --authenticationDatabase nodebbNodeBB installieren
Jetzt, da Sie den MongoDB-Server konfiguriert haben, sind Sie bereit, NodeBB auf dem Alma Linux-Server zu installieren.
Fügen Sie einen neuen Systembenutzer und eine Gruppe ‘ nodebb ‘ mit dem folgenden Befehl hinzu.
sudo adduser -r -M -d /opt/nodebb -U nodebbLaden Sie den NodeBB-Quellcode in das Verzeichnis ‘ /opt/nodebb ‘ herunter und ändern Sie den Besitz 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 führen Sie das NodeBB-Setup-Skript wie folgt aus:
cd /opt/nodebb
sudo su -s /bin/bash -c "./nodebb setup" nodebbHier werden Sie nach einigen NodeBB-Konfigurationen gefragt:
- Geben Sie Ihren Domainnamen für NodeBB ein, z. B. https://forum.howtoforge.local.
- Drücken Sie ENTER bei der NodeBB-Geheimkonfiguration. Lassen Sie es als Standard.
- Geben Sie nein ein, um den anonymen Zugriff auf NodeBB zu deaktivieren.
- Wählen Sie MongoDB als Datenbank aus.
- Geben Sie Ihre MongoDB-Datenbankdetails im Format mongodb://nodebb:[email protected]:27017/nodebb ein.
- Geben Sie den neuen Admin-Benutzer und die E-Mail-Adresse für NodeBB ein.
- Geben Sie das Passwort für Ihren NodeBB-Admin-Benutzer ein und wiederholen Sie es.
Nach Abschluss des Prozesses sehen Sie eine Ausgabe wie diese:

Sie können NodeBB jetzt manuell starten oder stoppen, indem Sie das ‘ nodebb ‘ Skript wie folgt ausführen:
sudo su -s /bin/bash -c "./nodebb start" nodebb
sudo su -s /bin/bash -c "./nodebb stop" nodebb
NodeBB als systemd-Dienst ausführen
Um NodeBB einfacher zu verwalten, können Sie den NodeBB-Prozess mit dem ‘ systemctl ‘ Dienstprogramm steuern. Dazu müssen Sie eine neue systemd-Dienstdatei für die Ausführung von NodeBB erstellen.
Erstellen Sie eine neue systemd-Dienstdatei ‘ /etc/systemd/system/nodebb.service ‘ mit dem ‘ nano ‘ Editor.
sudo nano /etc/systemd/system/nodebb.serviceGeben Sie die folgende Konfiguration ein, um NodeBB als systemd-Dienst auszuführen.
[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=/bin/env node loader.js --no-silent --no-daemon
Restart=always
[Install]
WantedBy=multi-user.targetSpeichern Sie die Datei und beenden Sie den Editor.
Laden Sie den systemd-Manager mit dem ‘ systemctl ‘ Befehl unten neu.
sudo systemctl daemon-reloadStarten und aktivieren Sie schließlich den ‘ nodebb ‘ Dienst und überprüfen Sie ihn, um sicherzustellen, dass der Dienst läuft:
sudo systemctl enable --now nodebb
sudo systemctl status nodebbSie können unten sehen, dass NodeBB im Hintergrund als systemd-Dienst läuft.

Nginx als Reverse-Proxy einrichten
Jetzt, da NodeBB im Hintergrund als Dienst läuft, installieren wir Nginx und erstellen einen neuen Serverblock, der als Reverse-Proxy für NodeBB verwendet wird.
Zuerst führen Sie den ‘ dnf ‘ Befehl unten aus, um den Nginx-Webserver zu installieren.
sudo dnf install nginx -y
Erstellen Sie nun eine neue Nginx-Konfiguration ‘ /etc/nginx/conf.d/nodebb.conf ‘ mit dem ‘ nano ‘ Editor.
sudo nano /etc/nginx/conf.d/nodebb.confGeben Sie die folgende Konfiguration ein und stellen Sie sicher, dass Sie den ‘ server_name ‘ Parameter 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 den Editor.
Führen Sie als Nächstes den Befehl unten aus, um die Nginx-Syntax zu überprüfen. Wenn erfolgreich, erhalten Sie die Ausgabe ‘ syntax is ok - test is successful ‘.
sudo nginx -t
Führen Sie schließlich den ‘ systemctl ‘ Befehl unten aus, um den Nginx-Webserver zu starten, zu aktivieren und zu überprüfen.
sudo systemctl enable --now nginx
sudo systemctl status nginxSie können unten sehen, dass der Nginx-Webserver läuft.

NodeBB mit HTTPS sichern
An diesem Punkt ist Ihre NodeBB-Installation bereit. Wenn Sie jedoch auf dem öffentlichen Domainnamen sind, müssen Sie NodeBB mit HTTPS sichern. In diesem Abschnitt richten Sie HTTPS für NodeBB mit Certbot und Letsencrypt ein.
Installieren Sie Certbot und das Certbot Nginx-Plugin mit dem folgenden Befehl:
sudo dnf install certbot python3-certbot-nginx -yFühren Sie nun den ‘ certbot ‘ Befehl unten aus, um Ihre NodeBB-Installation mit HTTPS zu sichern. Stellen Sie sicher, dass Sie den Domainnamen und die E-Mail-Adresse in diesem Befehl ändern.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d forum.howtoforge.localNachdem der Prozess abgeschlossen ist, sind Ihre SSL/TLS-Zertifikate im Verzeichnis ‘ /etc/letsencrypt/live/domain.com ‘ verfügbar und Ihre NodeBB-Installation sollte mit HTTPS gesichert sein.
Zugriff auf NodeBB
Öffnen Sie Ihren Webbrowser und besuchen Sie den NodeBB-Domainnamen wie https://forum.howtoforge.local. Wenn Ihre Installation erfolgreich ist, sehen Sie die folgende NodeBB-Startseite.

Fazit
Herzlichen Glückwunsch! Sie haben die NodeBB-Installation auf dem Alma Linux 9-Server abgeschlossen. Sie haben das NodeBB-Forum mit dem MongoDB-Server und Nginx als Reverse-Proxy in Betrieb genommen. Sie haben auch die NodeBB-Installation mit HTTPS über Certbot und Letsencrypt gesichert.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.