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 LTS

Stellen Sie die Zeitzone ein:

sudo dpkg-reconfigure tzdata

Aktualisieren 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 -y

Installieren 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-essential

HINWEIS: 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.1

Npm 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@latest

Dieser 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.

mongo

Wechseln Sie zur integrierten admin-Datenbank.

> use admin

Erstellen 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 nodebb

Die 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=admin

Wenn 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.0

Erhalten 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-256

Wenn 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 --list

Erstellen 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_ecc

Installieren/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:

exit

Schritt 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 nginx

Nach 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 -t

Um die Änderungen wirksam werden zu lassen, müssen wir Nginx neu laden:

sudo systemctl reload nginx.service

Schritt 5: Installieren und einrichten von NodeBB

Erstellen Sie ein Dokumentstammverzeichnis, in dem NodeBB untergebracht werden soll:

sudo mkdir -p /var/www/nodebb

Navigieren 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/nodebb

HINWEIS: 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 setup

Nachdem die NodeBB-Installation abgeschlossen ist, führen Sie ./nodebb start aus, um Ihren NodeBB-Server manuell zu starten:

./nodebb start

Nachdem Sie diesen Befehl ausgeführt haben, sollten Sie in der Lage sein, auf Ihr brandneues Forum in Ihrem Webbrowser zuzugreifen:

NodeBB im Browser

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 stop

Erstellen 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/nodebb

Erstellen 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.service

Herzlichen 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

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.