Installation NodeBB · 8 min read · Sep 10, 2025
Comment installer NodeBB avec un proxy Nginx sur Debian 12

NodeBB est un logiciel de forum open-source écrit en JavaScript et Node.js. Il utilise MongoDB comme base de données par défaut. NodeBB offre plusieurs fonctionnalités, telles que des notifications en temps réel via WebSocket, une intégration des réseaux sociaux, et également des API REST complètes.
Ce guide vous montrera comment installer NodeBB sur un serveur Debian 12 avec MongoDB comme base de données et Nginx comme proxy inverse.
Prérequis
Avant de commencer, assurez-vous d’avoir les éléments suivants :
- Un serveur Debian 12.
- Un utilisateur non-root avec des privilèges sudo.
- Un nom de domaine pointant vers une adresse IP de serveur.
Installation des dépendances
Pour commencer le processus, vous allez installer les dépendances pour NodeBB. Cela inclut Node.js, NPM (Node.js Package Manager) et le serveur web Nginx à partir du dépôt Debian. En ce qui concerne MongoDB, vous l’installerez via le dépôt officiel de MongoDB.
Tout d’abord, exécutez la commande suivante pour installer les paquets gnupg et curl sur votre système Debian.
sudo apt install gnupg curl -yAjoutez la clé GPG et le dépôt MongoDB avec la commande suivante :
curl -fsSL https://pgp.mongodb.com/server-7.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg \
--dearmorecho "deb [ signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] http://repo.mongodb.org/apt/debian bookworm/mongodb-org/7.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.listMaintenant, mettez à jour votre index de paquets Debian et installez MongoDB, Node.js, NPM, Nginx et Git. Tapez Y pour confirmer l’installation.
sudo apt update
sudo apt install mongodb-org nodejs npm git nginx
Après l’installation, rechargez le gestionnaire systemd avec ce qui suit :
sudo systemctl daemon-reloadExécutez maintenant la commande ci-dessous pour démarrer, activer et vérifier l’état du service MongoDB.
sudo systemctl enable --now mongod
sudo systemctl status mongodLa sortie suivante confirme que MongoDB fonctionne.

Ensuite, vérifiez l’état du service Nginx avec la commande ci-dessous. Vous devriez voir que Nginx est activé et fonctionne sur votre système.
sudo systemctl is-enabled nginx
sudo systemctl status nginx
Enfin, vérifiez la version de Node.js et NPM avec ce qui suit :
sudo node -v
sudo npm -vVous pouvez voir ci-dessous que Node.js 18 et NPM 9 sont installés.

Configuration du serveur MongoDB
Dans cette section, vous allez activer l’authentification MongoDB, créer un nouvel utilisateur administrateur pour MongoDB, puis créer une nouvelle base de données et un utilisateur pour l’installation de NodeBB.
Connectez-vous au serveur MongoDB avec la commande ci-dessous.
mongoshExécutez la requête suivante pour passer à la base de données ‘admin’ et créer un nouvel utilisateur administrateur ‘ admin ‘ pour MongoDB. Assurez-vous de changer le mot de passe ‘ MongoDBAdminPass ‘ avec le nouveau mot de passe.
use admin
db.createUser( { user: "admin", pwd: "MongoDBAdminPass", roles: [ { role: "root", db: "admin" } ] } )Ensuite, créez une nouvelle base de données et un utilisateur ‘ nodebb ‘ avec le mot de passe ‘ NodeBBPassword ‘. Cette base de données et cet utilisateur seront utilisés pour l’installation de NodeBB.
use nodebb
db.createUser( { user: "nodebb", pwd: "NodeBBPassword", roles: [ { role: "readWrite", db: "nodebb" }, { role: "clusterMonitor", db: "admin" } ] } )Tapez maintenant ‘ quit() ‘ pour quitter MongoDB.

Ensuite, ouvrez le fichier de configuration MongoDB ‘ /etc/mongod.conf ‘ avec l’éditeur nano.
sudo nano /etc/mongod.confActivez l’authentification MongoDB en ajoutant la configuration suivante.
security:
authorization: enabledEnregistrez et fermez le fichier une fois terminé.
Exécutez maintenant la commande ci-dessous pour redémarrer le service MongoDB et appliquer vos nouvelles modifications. Après l’exécution de la commande, l’authentification MongoDB sera activée.
sudo systemctl restart mongodPour vous assurer que votre configuration MongoDB est réussie, connectez-vous à MongoDB avec l’utilisateur ‘ nodebb ‘ à la base de données ‘ nodebb ‘. Entrez votre mot de passe lorsque cela est demandé.
mongosh "mongodb://127.0.0.1:27017" --username nodebb --authenticationDatabase nodebbAprès vous être connecté, exécutez la requête ci-dessous pour vérifier votre connexion et quitter MongoDB.
db.runCommand( { connectionStatus: 1, showPrivileges: false } )
quit()Dans la sortie suivante, vous pouvez voir que vous êtes authentifié en tant que ‘ nodebb ‘ à la base de données ‘ nodebb ‘.

Installation de NodeBB
Avec la configuration de MongoDB terminée, vous allez télécharger et installer NodeBB. Vous allez créer un utilisateur dédié pour NodeBB, télécharger et installer les dépendances de NodeBB, puis configurer un fichier de service pour votre installation de NodeBB.
Ajoutez un nouvel utilisateur système ‘ nodebb ‘ avec le répertoire personnel par défaut ‘ /opt/nodebb ‘ en utilisant la commande suivante.
sudo adduser --system --no-create-home --home=/opt/nodebb --group nodebbTéléchargez maintenant la source de NodeBB v3 dans le répertoire ‘ /opt/nodebb ‘ en utilisant git et changez la propriété du répertoire ‘ /opt/nodebb ‘ à l’utilisateur ‘ nodebb ‘.
git clone -b v3.x https://github.com/NodeBB/NodeBB.git /opt/nodebb
sudo chown -R nodebb:nodebb /opt/nodebbAllez dans le répertoire ‘/opt/nodebb’ et configurez votre installation de NodeBB avec la commande ci-dessous.
cd /opt/nodebb
sudo su -s /bin/bash -c "./nodebb setup" nodebb- Entrez votre nom de domaine pour NodeBB.
- Laissez le secret NodeBB par défaut et appuyez sur ENTRER.
- Tapez non pour désactiver l’utilisation du plugin anonyme.
- Sélectionnez la base de données comme MongoDB.
- Entrez la base de données MongoDB avec la chaîne d’URL : mongodb://nodebb:[email protected]:27017/nodebb.
- Entrez votre utilisateur administrateur et votre adresse e-mail pour NodeBB.
- Entrez votre mot de passe et répétez.
Après la fin du processus, vous verrez une sortie ‘ Configuration de NodeBB terminée ‘. Vous pouvez également voir la commande pour exécuter NodeBB.

Ensuite, exécutez la commande ci-dessous pour démarrer ou arrêter NodeBB. Vous pouvez utiliser cela lorsque vous avez besoin de démarrer ou d’arrêter NodeBB manuellement.
sudo su -s /bin/bash -c "./nodebb start" nodebb
sudo su -s /bin/bash -c "./nodebb stop" nodebb
Pour faciliter la gestion de NodeBB, vous allez créer un nouveau fichier de service systemd pour NodeBB. Avec cela, votre installation de NodeBB fonctionnera en arrière-plan et vous pourrez la gérer avec la commande systemctl.
Créez un nouveau fichier de service systemd ‘ /etc/systemd/system/nodebb.service ‘ avec la commande de l’éditeur nano.
sudo nano /etc/systemd/system/nodebb.serviceInsérez la configuration suivante dans le fichier :
[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.targetEnregistrez et fermez le fichier.
Exécutez maintenant la commande ci-dessous pour recharger le gestionnaire systemd et appliquer le nouveau fichier de service NodeBB.
sudo systemctl daemon-reloadAprès cela, démarrez et activez le service ‘ nodebb ‘ avec la commande systemctl suivante.
sudo systemctl start nodebb
sudo systemctl enable nodebbVérifiez le service ‘ nodebb ‘ avec ce qui suit pour vous assurer que le service fonctionne.
sudo systemctl status nodebbVous pouvez voir ci-dessous que NodeBB fonctionne en arrière-plan en tant que service systemd.

Configuration de Nginx en tant que proxy inverse
À ce stade, NodeBB fonctionne en arrière-plan sur le port ‘4567’. Vous allez maintenant créer un nouveau bloc de serveur Nginx qui sera utilisé comme proxy inverse pour votre forum NodeBB. Assurez-vous que votre nom de domaine pointe vers l’adresse IP de votre serveur.
Créez une nouvelle configuration de bloc de serveur Nginx ‘ /etc/nginx/sites-available/nodebb ‘ avec l’éditeur nano.
sudo nano /etc/nginx/sites-available/nodebbAjoutez la configuration suivante pour configurer Nginx en tant que proxy inverse pour NodeBB. Assurez-vous de changer le paramètre server_name avec votre nom de domaine.
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;
# Support Socket.IO
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}Lorsque vous avez terminé, enregistrez le fichier et quittez.
Activez maintenant le fichier de bloc de serveur ‘nodebb’ et testez votre syntaxe Nginx avec ce qui suit :
sudo ln -s /etc/nginx/sites-available/nodebb /etc/nginx/sites-enabled/
sudo nginx -tSi vous avez une syntaxe Nginx correcte, vous verrez une sortie ‘syntax is ok - test is successful’.

Enfin, exécutez la commande ci-dessous pour redémarrer le service Nginx et appliquer vos modifications.
sudo systemctl restart nginxSécuriser NodeBB avec HTTPS
Dans ce guide, vous allez sécuriser NodeBB avec HTTPS via Certbot et Letsencrypt. Si vous utilisez un domaine local, vous pouvez ignorer cela ou vous pouvez également générer des certificats auto-signés.
Installez Certbot et le plugin Nginx Certbot avec la commande apt suivante. Tapez Y pour procéder à l’installation.
sudo apt install certbot python3-certbot-nginxExécutez maintenant la commande certbot ci-dessous pour générer les certificats SSL pour votre nom de domaine NodeBB. Assurez-vous de changer à la fois l’adresse e-mail et le nom de domaine avec vos informations.
sudo certbot --nginx --agree-tos --no-eff-email --redirect --hsts --staple-ocsp --email [email protected] -d forum.hwdomain.iAprès avoir terminé le processus, votre installation de NodeBB devrait être automatiquement sécurisée avec HTTPS. Vos certificats SSL/TLS seront disponibles dans le répertoire ‘ /etc/letsencrypt/live/domain.com ‘.
Accéder à NodeBB
Visitez https://forum.howtoforge.local/ en utilisant votre navigateur web et vous verrez la page d’index par défaut de NodeBB comme suit :

Depuis la page d’accueil, cliquez sur le menu Connexion et vous verrez la page de connexion de NodeBB. Entrez votre utilisateur administrateur et votre mot de passe, puis cliquez sur Connexion.

Si cela réussit, vous verrez le tableau de bord utilisateur suivant.

Cliquez sur le menu Admin pour accéder au tableau de bord d’administration de NodeBB comme suit :

Conclusion
Félicitations ! Vous avez maintenant installé NodeBB sur le serveur Debian 12. Vous avez NodeBB fonctionnant avec la base de données MongoDB et le proxy inverse Nginx. Vous avez également sécurisé NodeBB avec HTTPS via Certbot et Letsencrypt.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.