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

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

Geben 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.asc

Speichern 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

install deps

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

installing packages

Nachdem die Installation abgeschlossen ist, starten und aktivieren Sie den ‘ mongod ‘ Dienst mit dem folgenden Befehl.

sudo systemctl enable --now mongod  
sudo systemctl status mongod

Sie können unten sehen, dass der MongoDB-Server läuft und aktiviert ist.

enable mongodb

Ü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 --version

MongoDB-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

login mongodb

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.

create admin user and setup database

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

Um die MongoDB-Authentifizierung zu aktivieren, kommentieren Sie die ‘ security ‘ Zeile aus und fügen Sie die ‘ authorization: enabled ‘ wie folgt hinzu:

security:  
authorization: enabled

Speichern 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 mongod

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

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

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

Gehen 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" nodebb

Hier 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:

login to mongodb

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 start and stop

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

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

Speichern Sie die Datei und beenden Sie den Editor.

Laden Sie den systemd-Manager mit dem ‘ systemctl ‘ Befehl unten neu.

sudo systemctl daemon-reload

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

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

setup nodebb systemd

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

install nginx

Erstellen Sie nun eine neue Nginx-Konfiguration ‘ /etc/nginx/conf.d/nodebb.conf ‘ mit dem ‘ nano ‘ Editor.

sudo nano /etc/nginx/conf.d/nodebb.conf

Geben 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

setup vhost

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 nginx

Sie können unten sehen, dass der Nginx-Webserver läuft.

check nginx

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

Fü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.local

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

nodebb

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.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.