NodeBB Installation · 10 min read · Oct 19, 2025

So installieren Sie das NodeBB-Forum mit Nginx und Let's Encrypt SSL auf Ubuntu 20.04 LTS

NodeBB ist eine moderne Forensoftware, die von Node.js betrieben wird und MongoDB/Redis als Datenbankplattformen verwendet. Es nutzt Websockets für sofortige Interaktionen und Echtzeitbenachrichtigungen.

In diesem Tutorial lernen wir, wie man das NodeBB-Forum auf einem Ubuntu 20.04-basierten Server installiert.

Voraussetzungen

  • Ein Ubuntu 20.04-basierter Server mit einem Nicht-Root-Benutzer, der über Sudo-Rechte verfügt.
  • Mindestens 2 GB RAM. Wenn Ihr Server nur 1 GB RAM hat, ist es am besten, eine Swap-Partition zu aktivieren.
  • Stellen Sie sicher, dass alles aktualisiert ist. shell $ sudo apt update && sudo apt upgrade
  • Einige essentielle Pakete. Einige davon sind möglicherweise bereits auf Ihrem Server vorhanden. shell $ sudo apt install curl wget nano ca-certificates gnupg2 lsb-release

Schritt 1 - Firewall konfigurieren

Der erste Schritt besteht darin, die Firewall zu konfigurieren. Ubuntu kommt standardmäßig mit ufw (Uncomplicated Firewall).

Überprüfen Sie, ob die Firewall läuft.

$ sudo ufw status

Sie sollten die folgende Ausgabe erhalten.

Status: inactive

Erlauben Sie den SSH-Port, damit die Firewall die aktuelle Verbindung beim Aktivieren nicht unterbricht.

$ sudo ufw allow OpenSSH

Erlauben Sie den Port 27017 für den MongoDB-Server und den Port 4567 für das Ausführen des NodeBB-Forums. Erlauben Sie auch die Ports HTTP und HTTPS.

$ sudo ufw allow 27017
$ sudo ufw allow 4567
$ sudo ufw allow 80
$ sudo ufw allow 443

Aktivieren Sie die Firewall.

$ sudo ufw enable
Befehl kann bestehende SSH-Verbindungen stören. Mit der Operation fortfahren (y|n)? y
Firewall ist aktiv und beim Systemstart aktiviert

Überprüfen Sie den Status der Firewall erneut.

$ sudo ufw status

Sie sollten eine ähnliche Ausgabe sehen.

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
27017                      ALLOW       Anywhere
4567                       ALLOW       Anywhere
80                         ALLOW       Anywhere
443                        ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
27017 (v6)                 ALLOW       Anywhere (v6)
4567 (v6)                  ALLOW       Anywhere (v6)
80 (v6)                    ALLOW       Anywhere (v6)
443 (v6)                   ALLOW       Anywhere (v6)

Schritt 2 - Node.js installieren

Wir werden hier die LTS-Version von Node.js installieren. Führen Sie die folgenden Befehle aus, um Node.js zu installieren.

$ curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
$ sudo apt install nodejs

Überprüfen Sie, ob Node ordnungsgemäß installiert ist.

$ node --version

Sie sollten eine ähnliche Ausgabe sehen.

v12.18.3

Überprüfen Sie auch npm.

$ npm --version
6.14.6

Schritt 3 - MongoDB installieren

MongoDB ist die Standarddatenbank für NodeBB. Sie können auch Redis anstelle von MongoDB verwenden. Wir werden beide Datenbanken in unserem Tutorial behandeln.

Das Repository von MongoDB für Ubuntu 20.04 ist noch nicht bereit, und Ubuntu selbst hat eine sehr alte Version. Für unsere Zwecke verwenden wir das MongoDB-Repository für 18.04, das einwandfrei funktioniert. Sie können die Paketliste mit dem neuesten Repository aktualisieren, sobald die offizielle Unterstützung verfügbar ist.

Importieren Sie den öffentlichen Schlüssel für MongoDB.

$ wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -

Fügen Sie das MongoDB-Repository hinzu.

$ echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list

Aktualisieren Sie die lokale Paketdatenbank.

$ sudo apt update

Installieren Sie MongoDB.

$ sudo apt install mongodb-org

Überprüfen Sie die Installation von MongoDB.

$ mongod --version
db version v4.2.8
...

Starten Sie den MongoDB-Dienst.

$ sudo systemctl start mongod

Aktivieren Sie den MongoDB-Dienst.

$ sudo systemctl enable mongod

Überprüfen Sie den Status des MongoDB-Dienstes.

$ sudo systemctl status mongod

Schritt 4 - MongoDB konfigurieren

Die Mongo-Verwaltung erfolgt über die MongoDB-Shell. Die Standardinstallation von MongoDB hört auf Port 27017.

Greifen Sie auf die MongoDB-Shell zu.

$ mongo

Wechseln Sie zur integrierten admin-Datenbank.

> use admin

Erstellen Sie einen administrativen Benutzer. Dies ist nicht dasselbe wie der NodeBB-Administrationsbenutzer.

> db.createUser( { user: "admin", pwd: "yourpassword", roles: [ { role: "root", db: "admin" } ] } )

Ändern Sie den Platzhalter “yourpassword” in Ihr eigenes Passwort.

Fügen Sie eine neue Datenbank für NodeBB hinzu.

> use nodebb

Erstellen Sie als Nächstes den nodebb-Benutzer, um die nodebb-Datenbank zu verwalten.

> db.createUser( { user: "nodebb", pwd: "yourpassword", roles: [ { role: "readWrite", db: "nodebb" }, { role: "clusterMonitor", db: "admin" } ] } )

Die Berechtigung readwrite ermöglicht es NodeBB, Daten aus der nodebb-Datenbank zu speichern und abzurufen. Die Berechtigung clustermonitor ermöglicht NodeBB den schreibgeschützten Zugriff auf die Datenbankstatistiken, die über das Admin-Panel sichtbar sind.

Verlassen Sie die Mongo-Shell.

> quit()

Öffnen Sie die MongoDB-Konfigurationsdatei zur Bearbeitung.

$ sudo nano /etc/mongod.conf

Fügen Sie die folgende Zeile am Ende der Datei hinzu.

security:
  authorization: enabled

Starten Sie MongoDB neu und überprüfen Sie den zuvor erstellten administrativen Benutzer.

$ sudo systemctl restart mongod
$ mongo -u admin -p yourpassword --authenticationDatabase=admin

Sie sollten die Mongo-Eingabeaufforderung sehen, wenn alles korrekt konfiguriert wurde.

Schritt 5 - Git installieren

Bevor wir mit der Installation von NodeBB fortfahren, müssen wir Git installieren.

Führen Sie den folgenden Befehl aus, um Git zu installieren.

$ sudo apt install git

Führen Sie die folgenden Befehle aus, um die erste Konfiguration von Git durchzuführen.

$ git config --global user.name "Ihr Name"
$ git config --global user.email "[email protected]"

Schritt 6 - NodeBB installieren

Es ist nicht ratsam, NodeBB als Root-Benutzer auszuführen.

Erstellen Sie einen nicht privilegierten Benutzer.

$ sudo adduser nodebb

Setzen Sie ein Passwort Ihrer Wahl und überspringen Sie die anderen Optionen.

Erstellen Sie das Verzeichnis, in dem Ihr NodeBB-Forum leben wird.

$ sudo mkdir /var/www/nodebb

Ändern Sie den Besitz des Ordners auf den neu erstellten Benutzer.

$ sudo chown -R nodebb:nodebb /var/www/nodebb

Melden Sie sich beim neu erstellten Benutzer an.

$ su nodebb

Wechseln Sie in das Installationsverzeichnis von NodeBB.

$ cd /var/www/nodebb

Um NodeBB zu installieren, müssen wir zuerst das Github-Repository klonen.

Klonen Sie NodeBB in das Verzeichnis /var/www/nodebb. Der Punkt am Ende des Befehls bezieht sich auf das aktuelle Verzeichnis.

$ git clone -b v1.14.2 https://github.com/NodeBB/NodeBB.git .

Hier haben wir die v1.14.2 von NodeBB geklont, die die neueste stabile Version zum Zeitpunkt des Schreibens des Tutorials war. Sie können den neuesten stabilen Branch auf der neuesten Veröffentlichungsseite von NodeBB finden.

NodeBB wird mit einem Befehlszeilen-Dienstprogramm geliefert. Verwenden Sie den folgenden Befehl, um NodeBB zu installieren.

$ ./nodebb setup

Sie können die Eingabetaste drücken, um den Standardwert auszuwählen.

Für den Wert von URL, die verwendet wird, um auf dieses NodeBB zuzugreifen, wählen Sie die endgültige URL, unter der Sie auf das Forum zugreifen möchten. Wenn Sie auf das Forum über Ihre Server-IP zugreifen, geben Sie diese ein oder geben Sie die vollständige Domain des Forums ein. Hier geben wir http://forum.example.com ein.

Wählen Sie weiterhin die Standardwerte, bis Sie nach dem MongoDB-Benutzernamen gefragt werden, bei dem Sie nodebb und das Passwort eingeben, das Sie zuvor für diesen Benutzernamen bei der Konfiguration von MongoDB gewählt haben. Ihre Datenbank nodebb sollte ausgewählt werden. Sie werden auch aufgefordert, einen Administrationsbenutzer und dessen Details zu erstellen.

Sobald die Einrichtung abgeschlossen ist, führen Sie den folgenden Befehl aus, um NodeBB zu starten.

$ ./nodebb start

Ihr Forum läuft jetzt. Sie sollten in der Lage sein, über http://:4567 darauf zuzugreifen.

NodeBB Standard-Homepage

Möglicherweise sehen Sie eine Fehlermeldung mit dem Hinweis Es scheint, dass Ihre Verbindung zu NodeBB verloren gegangen ist. Bitte warten Sie, während wir versuchen, die Verbindung wiederherzustellen. Dies tritt auf, weil wir die Standard-URL für NodeBB http://forum.example.com und nicht http:// gewählt haben. Wenn Sie jedoch die IP-Adresse während der Einrichtung eingeben, erhalten Sie den Fehler nicht mehr, müssen jedoch später erneut konfigurieren, nachdem Sie eine Domain für Ihr Forum gewählt haben.

Verlassen Sie den NodeBB-Benutzer.

$ exit

Schritt 7 - Nginx installieren

Ubuntu 20.04 enthält standardmäßig die neueste stabile Version von Nginx. Wir werden das installieren.

$ sudo apt install nginx

Überprüfen Sie, ob es ordnungsgemäß installiert ist.

$ nginx -v
nginx version: nginx/1.18.0 (Ubuntu)

Starten und aktivieren Sie Nginx.

$ sudo systemctl start nginx
$ sudo systemctl enable nginx

Öffnen Sie die IP-Adresse Ihres Servers in Ihrem Webbrowser. Sie sollten die folgende Seite sehen, was bedeutet, dass Ihr Server läuft.

Nginx Standardseite

Schritt 8 - Nginx konfigurieren

Führen Sie den folgenden Befehl aus, um eine Konfigurationsdatei für Ihre Website hinzuzufügen.

$ sudo nano /etc/nginx/sites-available/nodebb.conf

Fügen Sie den folgenden Code in den Editor ein.

server {
    listen 80;

    server_name forum.example.com;
    
    access_log /var/log/nginx/forum.example.com.access.log;
    error_log /var/log/nginx/forum.example.com.error.log;

    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 Unterstützung
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

Drücken Sie Ctrl + X, um den Editor zu verlassen, und geben Sie Y ein, wenn Sie dazu aufgefordert werden.

Sobald Sie fertig sind, überprüfen Sie, ob die Nginx-Konfiguration korrekt ist.

$ sudo nginx -t

Laden Sie den Nginx-Dienst neu, um die Konfiguration zu aktivieren.

$ sudo systemctl reload nginx

Besuchen Sie http://forum.example.com in Ihrem Browser, um das NodeBB-Forum zu öffnen.

NodeBB Forum-Homepage

Schritt 9 - NodeBB als Systemdienst ausführen

Der NodeBB-Dienst wird nach einem Systemneustart nicht ausgeführt. Um zu vermeiden, dass NodeBB jedes Mal gestartet wird, müssen wir es als Systemdienst installieren.

Stoppen Sie zuerst den NodeBB-Dienst.

$ ./nodebb stop

Führen Sie den folgenden Befehl aus, um die nodebb.service-Systemd-Einheit-Konfigurationsdatei zu erstellen und zu bearbeiten.

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

Fügen Sie den folgenden Code in den Editor ein.

[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

Hier haben wir den Benutzernamen als nodebb gewählt, den wir in Schritt 6 erstellt haben, und den Pfad, den wir gewählt haben, um NodeBB zu installieren.

Aktivieren Sie den NodeBB-Dienst.

$ sudo systemctl enable nodebb

Starten Sie den NodeBB-Dienst.

$ sudo systemctl start nodebb

Überprüfen Sie den Status des Dienstes.

$ sudo systemctl status nodebb

Schritt 10 - Ein Let’s Encrypt SSL-Zertifikat erhalten

Die Sicherung Ihres NodeBB-Forums mit HTTPS ist ein notwendiger Schritt, um den Datenverkehr Ihrer Website zu sichern. Für dieses Tutorial verwenden wir den Certbot-Client, um das SSL zu installieren.

Dazu installieren Sie zuerst das Certbot-Tool.

$ sudo apt install certbot python3-certbot-nginx

Generieren Sie die Zertifikate.

$ sudo certbot --nginx -d forum.example.com

Wenn dies Ihr erstes Mal ist, dass Sie Certbot auf Ihrem System ausführen, werden Sie nach einer E-Mail-Adresse und der Zustimmung zu den Nutzungsbedingungen gefragt. Sie werden auch gefragt, ob Sie zustimmen, Daten mit der EFF-Stiftung zu teilen, was Sie ablehnen können. Nachdem Sie dies getan haben, wird Certbot mit den Let’s Encrypt-Servern kommunizieren und eine Herausforderung durchführen, um Ihre Domains zu überprüfen.

Wenn das erfolgreich ist, werden Sie gefragt, wie Sie HTTPS-Weiterleitungen behandeln möchten.

Bitte wählen Sie, ob der HTTPS-Zugriff erforderlich oder optional ist.
-------------------------------------------------------------------------------
1: Einfach - Erlauben Sie sowohl HTTP- als auch HTTPS-Zugriff auf diese Websites
2: Sicher - Leiten Sie alle Anfragen auf sicheren HTTPS-Zugriff um
-------------------------------------------------------------------------------
Wählen Sie die entsprechende Nummer [1-2] und drücken Sie dann [enter] (drücken Sie 'c', um abzubrechen):

Wählen Sie die Option Sicher und drücken Sie die Eingabetaste. Dies stellt sicher, dass alle Anfragen an die HTTP-Domain ordnungsgemäß auf die HTTPS-Version umgeleitet werden. Ihre Zertifikate werden dann erstellt und Ihre Nginx-Konfigurationsdateien werden mit SSL-Einstellungen aktualisiert.

Ihre Zertifikate sind bereit, und Sie können Ihre Website jetzt unter https://forum.example.com öffnen.

Schritt 11 - SSL-Auto-Erneuerung überprüfen

Dies ist der letzte Schritt, bevor wir dieses Tutorial beenden.

Überprüfen Sie den Erneuerungsprozess, indem Sie einen Testlauf des Erneuerungsprozesses durchführen.

$ sudo certbot renew --dry-run

Wenn Sie keine Fehler erhalten, sind Sie bereit. Certbot wird Ihre Zertifikate automatisch für Sie erneuern. Sie erhalten eine E-Mail-Benachrichtigung über das Ablaufdatum des Zertifikats.

Fazit

Das war’s mit diesem Tutorial. Ihre NodeBB-Forum-Installation ist abgeschlossen. Wenn Sie Fragen haben, posten Sie diese in den Kommentaren unten.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.