NodeBB Installation · 9 min read · Sep 10, 2025

So installieren Sie NodeBB mit Nginx-Proxy auf Ubuntu 24.04 Server

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 bieten. Es verwendet eine Kombination aus MongoDB oder Redis für die Datenbankverwaltung, 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 Sicherheitsfunktionen von Ubuntu ergänzen NodeBB und machen es zu einer idealen Wahl für das Hosting und die Verwaltung dynamischer Online-Communities.

In diesem Leitfaden lernen Sie, wie Sie NodeBB auf dem Ubuntu 24.04 Server mit der MongoDB-Datenbank und dem Nginx-Webserver installieren. Sie lernen auch, wie Sie NodeBB mit HTTPS über Certbot und Letsencrypt sichern.

Voraussetzungen

Um mit diesem Leitfaden zu beginnen, stellen Sie sicher, dass Sie Folgendes haben:

  • Einen Ubuntu 24.04 Server.
  • Einen Nicht-Root-Benutzer mit Administratorrechten.
  • Einen Domainnamen, der auf eine Server-IP-Adresse zeigt.

Installation des MongoDB-Servers

NodeBB ist mit Node.js geschrieben und verwendet MongoDB als Datenbank. Um NodeBB zu installieren, müssen Sie den MongoDB-Server auf Ihrem System installieren. In diesem Abschnitt installieren Sie den MongoDB-Server 7 auf dem Ubuntu 24.04 Server.

Zuerst führen Sie den folgenden Befehl aus, um die Pakete gnupg und curl auf Ihrem Ubuntu-System zu installieren.

sudo apt install gnupg curl

install curl

Fügen Sie nun den GPG-Schlüssel und das Repository für MongoDB mit dem folgenden Befehl hinzu. Zu diesem Zeitpunkt ist MongoDB 7.0 nur bis Ubuntu 22.04 verfügbar, daher verwenden wir dies auf unserem Ubuntu 24.04 Server.

curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc |  
sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg  
–dearmor
echo “deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse” | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list

add mongodb repo

Führen Sie als Nächstes den folgenden apt-Befehl aus, um Ihr Ubuntu-Paket-Index zu aktualisieren und das mongodb-org-Paket zu installieren. Geben Sie Y ein, um die Installation zu bestätigen.

sudo apt update  
sudo apt install mongodb-org

install mongodb

Nachdem die Installation abgeschlossen ist, führen Sie den folgenden systemctl-Befehl aus, um den systemd-Manager neu zu laden. Dies liegt daran, dass die neue Dienstdatei mongod zu Ihrem System hinzugefügt wurde.

sudo systemctl daemon-reload

Führen Sie nun den folgenden systemctl-Befehl aus, um den MongoDB mongod-Dienst zu starten und zu aktivieren. Überprüfen Sie dann seinen Status, um sicherzustellen, dass der mongod-Dienst läuft.

sudo systemctl enable --now mongod  
sudo systemctl status mongod

Wie Sie unten sehen können, ist der mongod-Dienst aktiviert und läuft.

check mongod service

Einrichten des MongoDB-Servers und der Datenbank für NodeBB

Nachdem Sie den MongoDB-Server installiert haben, aktivieren Sie die Authentifizierung auf MongoDB, erstellen einen Admin-Benutzer und erstellen dann einen neuen Benutzer und eine Datenbank für die NodeBB-Installation.

Melden Sie sich mit dem mongosh-Client-Befehl unten bei der MongoDB-Shell an.

mongosh

Wechseln Sie in der mongosh-Shell zur Admin-Datenbank und erstellen Sie einen neuen Admin-Benutzer für MongoDB. In diesem Beispiel erstellen Sie einen MongoDB-Benutzer admin mit dem Passwort MongoDBAdminPass. Stellen Sie sicher, dass Sie die Benutzerdaten mit Ihren Informationen ändern.

use admin  
db.createUser( { user: “admin”, pwd: “MongoDBAdminPass”, roles: [ { role: “root”, db: “admin” } ] } )

Wechseln Sie danach und erstellen Sie die Datenbank nodebb und dann einen neuen Benutzer nodebb mit dem Passwort NodeBBPassword. Die Datenbank und der Benutzer nodebb 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 die mongosh-Shell zu verlassen.

quit()

create mongodb user and database

Öffnen Sie als Nächstes die Standardkonfiguration von MongoDB /etc/mongod.conf mit dem folgenden Nano-Editor.

sudo nano /etc/mongod.conf

Kommentieren Sie die security-Option aus und ändern Sie die authorization auf enabled. Dadurch wird die Authentifizierung auf Ihrem MongoDB-Server aktiviert.

security:  
  authorization: enabled

Wenn Sie fertig sind, speichern Sie die Datei und beenden Sie den Editor.

Führen Sie nun den systemctl-Befehl unten aus, um den mongod-Dienst neu zu starten und Ihre Änderungen anzuwenden. Nachdem der mongod-Dienst neu gestartet wurde, wird die MongoDB-Authentifizierung aktiviert.

sudo systemctl restart mongod

Führen Sie den mongosh-Befehl unten aus, um sich als Benutzer nodebb mit der Datenbank nodebb zu verbinden. Geben Sie Ihr Passwort ein, wenn Sie dazu aufgefordert werden.

mongosh “mongodb://127.0.0.1:27017” --username nodebb --authenticationDatabase nodebb

Führen Sie nun die folgenden Abfragen aus, um Ihre Verbindung zum MongoDB-Server zu überprüfen.

db.runCommand( { connectionStatus: 1, showPrivileges: false } )

Unten haben Sie sich als Benutzer nodebb mit der Datenbank nodebb authentifiziert.

Geben Sie quit() ein, um die MongoDB-Shell zu verlassen.

check users

Installation von NodeBB

Jetzt, da Sie den MongoDB-Server konfiguriert haben, installieren Sie Node.js über das offizielle Ubuntu-Repository und laden dann NodeBB auf Ihrem Ubuntu-System herunter und installieren es.

Bevor Sie NodeBB installieren, führen Sie den folgenden apt-Befehl aus, um das Node.js- und NPM-Paket auf Ihrem Ubuntu-System zu installieren. Geben Sie Y ein, um die Installation zu bestätigen.

sudo apt install nodejs npm

install nodejs

Überprüfen Sie nach der Installation die Versionen von Node.js und NPM mit dem folgenden Befehl - Sie können sehen, dass Node.js 18 und NPM 9 installiert sind.

node --version  
npm --version

Führen Sie nun den folgenden Befehl aus, um einen neuen Systembenutzer und eine Gruppe nodebb zu erstellen. Dieser Benutzer wird verwendet, um die NodeBB-Installation auszuführen.

sudo adduser --system --no-create-home --home=/opt/nodebb --group nodebb

Führen Sie den git-Befehl unten aus, um den NodeBB-Quellcode in das Verzeichnis /opt/nodebb herunterzuladen, und ändern Sie dann den Besitz davon auf den Benutzer nodebb.

git clone -b v3.x https://github.com/NodeBB/NodeBB.git /opt/nodebb  
sudo chown -R nodebb:nodebb /opt/nodebb

add user and download nodebb

Gehen Sie in das Verzeichnis /opt/nodebb und führen Sie den NodeBB-Setup-Befehl aus, um die NodeBB-Installation zu starten.

cd /opt/nodebb  
sudo su -s /bin/bash -c “./nodebb setup” nodebb

Sie werden nach den folgenden NodeBB-Konfigurationen gefragt:

  • Geben Sie Ihren Domainnamen für NodeBB ein, z. B. 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.

Nachdem die Installation abgeschlossen ist, sehen Sie die Ausgabe NodeBB Setup Completed.

setup complete

Um NodeBB über die Befehlszeile auszuführen, führen Sie den folgenden NodeBB-Startbefehl aus:

sudo su -s /bin/bash -c "./nodebb start" nodebb

Um den NodeBB-Prozess zu stoppen, verwenden Sie den folgenden NodeBB-Stoppbefehl.

sudo su -s /bin/bash -c "./nodebb stop" nodebb

start and stop nodebb

Ausführen von NodeBB als systemd-Dienst

In diesem Leitfaden führen Sie NodeBB im Hintergrund als systemd-Dienst aus. Sie erstellen jetzt eine neue Dienstdatei für NodeBB, die es einfacher macht, den NodeBB-Dienst über das systemctl-Dienstprogramm zu verwalten.

Erstellen Sie eine neue systemd-Dienstdatei /etc/systemd/system/nodebb.service mit dem folgenden Nano-Editor.

sudo nano /etc/systemd/system/nodebb.service

Fügen Sie die folgende Dienstdatei für NodeBB ein. In diesem Beispiel führen Sie den NodeBB-Dienst als Benutzer nodebb aus.

[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.target

Speichern Sie die Datei und beenden Sie den Editor, wenn Sie fertig sind.

Führen Sie nun den systemctl-Befehl unten aus, um den systemd-Manager neu zu laden und Ihre Änderungen anzuwenden.

sudo systemctl daemon-reload

Starten, aktivieren und überprüfen Sie anschließend den NodeBB-Dienst mit dem folgenden Befehl.

sudo systemctl enable --now nodebb  
sudo systemctl status nodebb

Sie können unten sehen, dass der NodeBB-Dienst im Hintergrund als systemd-Dienst läuft.

nodebb service

Einrichten von Nginx als Reverse-Proxy

In diesem Tutorial verwenden Sie den Nginx-Webserver als Reverse-Proxy für NodeBB. Sie installieren jetzt Nginx und erstellen einen neuen Serverblock für den Reverse-Proxy. Stellen Sie sicher, dass Ihr Domainname auf die Server-IP-Adresse zeigt.

Installieren Sie den Nginx-Webserver mit dem folgenden apt install-Befehl auf Ihrem System.

sudo apt install nginx -y

install nginx

Sobald die Installation abgeschlossen ist, erstellen Sie eine neue Serverblockkonfiguration /etc/nginx/sites-available/nodebb mit dem Nano-Editor.

sudo nano /etc/nginx/sites-available/nodebb

Fügen Sie die folgende Konfiguration ein und stellen Sie sicher, dass Sie forum.howtoforge.local durch Ihren Domainnamen ersetzen. Damit richten Sie einen Reverse-Proxy für NodeBB ein, der im Hintergrund auf Port 4567 läuft.

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";  
 }  
}

Speichern Sie die Datei und beenden Sie den Editor.

Führen Sie nun den folgenden Befehl aus, um die Serverblockdatei nodebb zu aktivieren und Ihre Nginx-Konfiguration zu überprüfen. Wenn Sie korrekt sind und eine ordnungsgemäße Nginx-Konfiguration haben, sehen Sie die Ausgabe syntax is ok - test is successful.

sudo ln -s /etc/nginx/sites-available/nodebb /etc/nginx/sites-enabled/  
sudo nginx -t

setup nginx

Führen Sie schließlich den systemctl-Befehl unten aus, um den Nginx-Dienst neu zu starten und Ihre Änderungen anzuwenden. Überprüfen Sie dann den Status des Nginx-Dienstes, um sicherzustellen, dass er läuft.

sudo systemctl restart nginx  
sudo systemctl status nginx

Wie Sie in der Ausgabe unten sehen können, läuft der Nginx-Dienst.

check nginx

Sicherung von NodeBB mit HTTPS

In diesem Abschnitt sichern Sie NodeBB mit HTTPS über Certbot und Letsencrypt. In Kombination mit Certbot und Nginx können Sie HTTPS automatisch auf Ihrem Webserver einrichten.

Installieren Sie die Pakete certbot und python3-certbot-nginx mit dem folgenden Befehl:

sudo apt install certbot python3-certbot-nginx -y

Führen Sie nun den certbot-Befehl unten aus, um SSL-Zertifikate zu generieren und Ihre NodeBB-Installation mit HTTPS zu sichern. Stellen Sie sicher, dass Sie die E-Mail-Adresse und den Domainnamen mit Ihren Informationen ändern.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d forum.howtoforge.local

Nachdem der Vorgang abgeschlossen ist, sehen Sie Ihre Zertifikate im Verzeichnis /etc/letsencrypt/live/domain.com. Und Ihre NodeBB-Installation wird automatisch mit HTTPS gesichert.

Zugriff auf NodeBB

Öffnen Sie Ihren NodeBB-Domainnamen wie https://forum.howtoforge.local in Ihrem Webbrowser. Wenn die Installation erfolgreich war, sehen Sie die Standard-Homepage für NodeBB wie folgt:

homepage

Klicken Sie auf den Login-Link und Sie werden mit der NodeBB-Login-Seite aufgefordert. Geben Sie dann Ihren Admin-Benutzer und Ihr Passwort ein und klicken Sie auf Login, um zu bestätigen. Wenn Sie die richtigen Anmeldeinformationen haben, sehen Sie das folgende Admin-Dashboard.

login

In den NodeBB-Admin-Einstellungen sehen Sie Folgendes:

admin settings

Fazit

Herzlichen Glückwunsch! Sie haben die Open-Source-Forumsoftware NodeBB auf einem Ubuntu 24.04 Server installiert. Sie haben NodeBB mit MongoDB als Datenbank und Nginx als Reverse-Proxy eingerichtet. Sie haben NodeBB auch mit HTTPS über Certbot und Letsencrypt gesichert. Sie können jetzt einen SMTP-Server hinzufügen, um die Registrierung und Bestätigung über einen E-Mail-Link einzurichten.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.