NodeBB Installation · 8 min read · Oct 19, 2025
So installieren Sie das NodeBB-Forum auf Ubuntu 18.04 LTS

NodeBB ist eine auf Node.js basierende Forensoftware, die für das moderne Web entwickelt wurde. Es basiert entweder auf einer MongoDB- oder Redis-Datenbank. Es nutzt Websockets für sofortige Interaktionen und Echtzeitbenachrichtigungen. NodeBB bietet viele moderne Funktionen direkt nach der Installation, wie die Integration von sozialen Netzwerken und Streaming-Diskussionen. Zusätzliche Funktionen werden durch die Verwendung von Drittanbieter-Plugins ermöglicht. NodeBB ist ein Open-Source-Projekt, das auf Github zu finden ist. In diesem Leitfaden führen wir Sie Schritt für Schritt durch den Installationsprozess von NodeBB auf dem Betriebssystem Ubuntu 18.04 LTS, indem wir Nginx als Reverse-Proxy, MongoDB als Datenbank und acme.sh sowie Let’s Encrypt für HTTPS verwenden.
Anforderungen
NodeBB erfordert die Installation der folgenden Software:
- Node.js Version 6 oder höher
- MongoDB Version 2.6 oder höher oder Redis Version 2.8.9 oder höher
- Nginx Version 1.3.13 oder höher
- Git
HINWEIS: Die Installation der Abhängigkeiten von NodeBB kann mehr als 512 Megabyte Systemspeicher erfordern. Es wird empfohlen, eine Swap-Partition zu aktivieren, um dies auszugleichen, wenn Ihr Linux-System über unzureichenden Speicher verfügt.
Voraussetzungen
- Ein laufendes Ubuntu 18.04-System mit mindestens 1 GB RAM.
- Domainname mit eingerichteten
A/AAAA-Einträgen. - Ein Nicht-Root-Benutzer mit Sudo-Rechten.
Erste Schritte
Überprüfen Sie Ihre Ubuntu-Version:
lsb_release -ds
# Ubuntu 18.04.1 LTSStellen Sie die Zeitzone ein:
sudo dpkg-reconfigure tzdataAktualisieren Sie die Pakete Ihres Betriebssystems (Software). Dies ist ein wichtiger erster Schritt, da er sicherstellt, dass Sie die neuesten Updates und Sicherheitsfixes für die Standardsoftwarepakete Ihres Betriebssystems haben:
sudo apt update && sudo apt upgrade -yInstallieren Sie einige wichtige Pakete, die für die grundlegende Verwaltung des Ubuntu-Betriebssystems erforderlich sind:
sudo apt install -y curl wget vim git unzip socat bash-completion
Schritt 1: Installieren Sie Node.js und npm
NodeBB basiert auf Node.js. Wir werden die empfohlene Version für NodeBB installieren, die zum Zeitpunkt des Schreibens Version 8 ** ist. Unter Linux haben Sie einige Installationsoptionen für Node.js: Linux-Binärdateien (x86/x64), Quellcode oder über Paketmanager. Wir werden die Paketverwaltungsoption verwenden, die die Installation und Aktualisierung von Node.js zum Kinderspiel macht.
Laden Sie die neueste Long-Term Support (LTS)-Version von Node.js aus dem Nodesource-Repo herunter und installieren Sie sie:
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt install -y nodejs
Um native Add-Ons von npm zu kompilieren und zu installieren, müssen Sie möglicherweise auch Build-Tools installieren:
sudo apt install -y build-essentialHINWEIS: npm wird mit Node.js verteilt - das bedeutet, dass Sie npm automatisch auf Ihrem System installiert haben, wenn Sie Node.js herunterladen.
Überprüfen Sie die Versionen von Node.js und npm:
node -v && npm -v
# v10.15.1
# 6.4.1Npm ist ein separates Projekt von Node.js und wird tendenziell häufiger aktualisiert. Daher müssen Sie, selbst wenn Sie gerade Node.js (und damit npm) heruntergeladen haben, wahrscheinlich npm aktualisieren. Glücklicherweise weiß npm, wie es sich selbst aktualisieren kann! Um npm zu aktualisieren, geben Sie dies in Ihr Terminal ein:
sudo npm install -g npm@latestDieser Befehl aktualisiert npm auf die neueste stabile Version.
Überprüfen Sie die npm-Version erneut mit:
npm -v
# 6.7.0
Und es sollte die neuesten Versionsnummern zurückgeben.
Schritt 2: Installieren und konfigurieren Sie MongoDB
NodeBB benötigt eine Datenbank, um seine Daten zu speichern, und unterstützt MongoDB und Redis. In diesem Tutorial haben wir MongoDB als Datenspeicher-Engine gewählt. In den nächsten Schritten werden wir die MongoDB-Datenbank aus dem offiziellen MongoDB-rpm-Repository herunterladen und installieren:
Um die stabile Version des MongoDB-Pakets zu installieren, geben Sie den folgenden Befehl ein:
sudo apt install -y mongodbÜberprüfen Sie die MongoDB-Version:
mongo --version | head -n 1 && mongod --version | head -n 1
Starten und aktivieren Sie (setzen Sie es so, dass es beim Neustart gestartet wird) den MongoDB-Dienst:
sudo systemctl start mongodb.service
sudo systemctl enable mongodb.serviceÜberprüfen Sie den Status des MongoDB-Datenbankservers, indem Sie Folgendes ausführen:
sudo systemctl status mongodb.service
# active (running)Erstellen Sie als Nächstes eine MongoDB-Datenbank und einen Benutzer für NodeBB.
Stellen Sie zuerst eine Verbindung zum MongoDB-Server her.
mongoWechseln Sie zur integrierten admin-Datenbank.
> use adminErstellen Sie einen administrativen Benutzer.
> db.createUser( { user: "admin", pwd: "", roles: [ { role: "readWriteAnyDatabase", db: "admin" }, { role: "userAdminAnyDatabase", db: "admin" } ] } ) HINWEIS: Ersetzen Sie den Platzhalter durch Ihr eigenes gewähltes Passwort.
Fügen Sie eine neue Datenbank namens nodebb hinzu.
> use nodebbDie Datenbank wird erstellt und der Kontext wechselt zu nodebb. Erstellen Sie als Nächstes den nodebb-Benutzer mit den entsprechenden Berechtigungen.
> db.createUser( { user: "nodebb", pwd: "", roles: [ { role: "readWrite", db: "nodebb" }, { role: "clusterMonitor", db: "admin" } ] } ) HINWEIS: Ersetzen Sie erneut den Platzhalter durch Ihr eigenes gewähltes Passwort.
Verlassen Sie die Mongo-Shell.
> quit()Starten Sie MongoDB neu und überprüfen Sie, ob der zuvor erstellte administrative Benutzer eine Verbindung herstellen kann.
sudo systemctl restart mongodb.service
mongo -u admin -p your_password --authenticationDatabase=adminWenn alles gut gelaufen ist, sollte Ihre MongoDB installiert und für NodeBB vorbereitet sein. Im nächsten Schritt werden wir uns mit der Installation und Konfiguration des Webservers befassen.
Schritt 3 - Installieren Sie den acme.sh-Client und erhalten Sie das Let’s Encrypt-Zertifikat (optional)
Die Sicherung Ihres NodeBB-Forums mit HTTPS ist nicht erforderlich, aber es ist eine gute Praxis, den Datenverkehr Ihrer Website zu sichern. Um ein TLS-Zertifikat von Let’s Encrypt zu erhalten, verwenden wir den acme.sh-Client. Acme.sh ist eine reine Unix-Shell-Software zum Erhalten von TLS-Zertifikaten von Let’s Encrypt mit null Abhängigkeiten.
Laden Sie acme.sh herunter und installieren Sie es:
sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install --accountemail [email protected]
source ~/.bashrc
cd ~Überprüfen Sie die acme.sh-Version:
acme.sh --version
# v2.8.0Erhalten Sie RSA- und ECC/ECDSA-Zertifikate für Ihre Domain/Ihren Hostnamen:
# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256Wenn Sie gefälschte Zertifikate zu Testzwecken möchten, können Sie das --staging-Flag zu den obigen Befehlen hinzufügen.
Nach dem Ausführen der obigen Befehle befinden sich Ihre Zertifikate und Schlüssel in:
- Für RSA: Verzeichnis
/home/username/example.com. - Für ECC/ECDSA: Verzeichnis
/home/username/example.com_ecc.
Um Ihre ausgestellten Zertifikate aufzulisten, können Sie Folgendes ausführen:
acme.sh --listErstellen Sie ein Verzeichnis, um Ihre Zertifikate zu speichern. Wir werden das Verzeichnis /etc/letsencrypt verwenden.
mkdir -p /etc/letsecnrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_eccInstallieren/kopieren Sie die Zertifikate in das Verzeichnis /etc/letsencrypt.
# RSA
acme.sh --install-cert -d example.com --cert-file /etc/letsencrypt/example.com/cert.pem --key-file /etc/letsencrypt/example.com/private.key --fullchain-file /etc/letsencrypt/example.com/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"
# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc --cert-file /etc/letsencrypt/example.com_ecc/cert.pem --key-file /etc/letsencrypt/example.com_ecc/private.key --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"Alle Zertifikate werden alle 60 Tage automatisch erneuert.
Nachdem Sie die Zertifikate erhalten haben, verlassen Sie den Root-Benutzer und kehren Sie zu Ihrem normalen Sudo-Benutzer zurück:
exitSchritt 4: Installieren und konfigurieren Sie Nginx
NodeBB kann gut mit vielen Webservern arbeiten. In diesem Tutorial haben wir Nginx ausgewählt.
Installieren Sie das Nginx-Paket, indem Sie den folgenden Befehl eingeben:
sudo apt install -y nginxNach der Installation können Sie die Nginx-Version überprüfen, indem Sie Folgendes ausführen:
nginx -v
Starten und aktivieren Sie (setzen Sie es so, dass es beim Neustart gestartet wird) den Nginx-Dienst:
sudo systemctl start nginx.service
sudo systemctl enable nginx.serviceÜberprüfen Sie den Status des Nginx-Webservers, indem Sie Folgendes ausführen:
sudo systemctl status nginx.service
# active (running)NodeBB läuft standardmäßig auf Port 4567. Um zu vermeiden, dass Sie http://example.com:4567 eingeben müssen, werden wir Nginx als Reverse-Proxy für die NodeBB-Anwendung konfigurieren. Jede Anfrage auf Port 80 oder 443 (wenn SSL verwendet wird) wird an Port 4567 weitergeleitet.
Führen Sie sudo vim /etc/nginx/conf.d/nodebb.conf aus und konfigurieren Sie Nginx als HTTPS-Reverse-Proxy.
server {
listen [::]:443 ssl http2;
listen 443 ssl http2;
listen [::]:80;
listen 80;
server_name example.com;
client_max_body_size 50M;
# RSA
ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com/private.key;
# ECDSA
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;
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";
}
}Überprüfen Sie die Nginx-Konfiguration:
sudo nginx -tUm die Änderungen wirksam werden zu lassen, müssen wir Nginx neu laden:
sudo systemctl reload nginx.serviceSchritt 5: Installieren und einrichten von NodeBB
Erstellen Sie ein Dokumentstammverzeichnis, in dem NodeBB untergebracht werden soll:
sudo mkdir -p /var/www/nodebbNavigieren Sie zum Dokumentstammverzeichnis:
cd /var/www/nodebbÄndern Sie den Besitz des Verzeichnisses /var/www/nodebb in Ihren Benutzer.
sudo chown -R [your_user]:[your_user] /var/www/nodebbHINWEIS: Ersetzen Sie your_user im obigen Befehl durch Ihren Nicht-Root-Benutzer, den Sie als Voraussetzung für dieses Tutorial erstellt haben. *.
Klonen Sie das neueste NodeBB-Repository in den Dokumentstammordner:
git clone -b v1.11.x https://github.com/NodeBB/NodeBB.git .Starten Sie das Setup-Skript, indem Sie die App mit dem setup-Flag ausführen. Beantworten Sie jede der Fragen:
./nodebb setupNachdem die NodeBB-Installation abgeschlossen ist, führen Sie ./nodebb start aus, um Ihren NodeBB-Server manuell zu starten:
./nodebb startNachdem Sie diesen Befehl ausgeführt haben, sollten Sie in der Lage sein, auf Ihr brandneues Forum in Ihrem Webbrowser zuzugreifen:

Schritt 6: Führen Sie NodeBB als Systemdienst aus
Wenn NodeBB über ./nodebb start gestartet wird, wird es beim Neustart des Systems nicht automatisch wieder gestartet. Um dies zu vermeiden, müssen wir NodeBB als Systemdienst einrichten.
Wenn es läuft, stoppen Sie NodeBB:
./nodebb stopErstellen Sie einen neuen nodebb-Benutzer:
sudo useradd nodebbÄndern Sie den Besitz des Verzeichnisses /var/www/nodebb in den Benutzer nodebb:
sudo chown -R nodebb:nodebb /var/www/nodebbErstellen Sie eine nodebb.service-Systemd-Einheitendatei. Diese Einheitendatei verwaltet den Start des NodeBB-Daemons. Führen Sie sudo vim /etc/systemd/system/nodebb.service aus und fügen Sie den folgenden Inhalt hinzu:
[Unit]
Description=NodeBB
Documentation=https://docs.nodebb.org
After=system.slice multi-user.target mongod.service
[Service]
Type=forking
User=nodebb
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=nodebb
Environment=NODE_ENV=production
WorkingDirectory=/var/www/nodebb
PIDFile=/var/www/nodebb/pidfile
ExecStart=/usr/bin/env node loader.js
Restart=always
[Install]
WantedBy=multi-user.target
HINWEIS: Setzen Sie den Benutzernamen und die Verzeichnispfade gemäß Ihren gewählten Namen.
Aktivieren Sie nodebb.service beim Neustart und starten Sie nodebb.service sofort:
sudo systemctl enable nodebb.service
sudo systemctl start nodebb.serviceÜberprüfen Sie den Status von nodebb.service:
sudo systemctl status nodebb.service
sudo systemctl is-enabled nodebb.serviceHerzlichen Glückwunsch! Sie haben die NodeBB-Diskussionsplattform erfolgreich auf dem Ubuntu 18.04-System installiert und bereitgestellt. Sie sollten in der Lage sein, auf Ihr Forum unter Ihrer Domain zuzugreifen und mit Ihrem Forum zu interagieren.
Links
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.