Installation NodeBB · 9 min read · Sep 10, 2025
Comment installer NodeBB avec un proxy Nginx sur un serveur Ubuntu 24.04

NodeBB est un logiciel de forum open-source basé sur Node.js qui fournit une solution moderne et réactive pour les communautés en ligne. Fonctionnant sur Ubuntu Linux, NodeBB tire parti de la robustesse et de la flexibilité du système d’exploitation pour offrir des performances élevées et une évolutivité. Il utilise une combinaison de MongoDB ou Redis pour la gestion de la base de données, ce qui lui permet de gérer efficacement de grands volumes de contenu généré par les utilisateurs. NodeBB est connu pour ses notifications en temps réel, son intégration transparente avec diverses plateformes de médias sociaux et son vaste écosystème de plugins, permettant aux administrateurs de personnaliser leurs forums pour répondre à des besoins spécifiques. De plus, son design mobile-first garantit une expérience utilisateur cohérente et engageante sur tous les appareils. La stabilité et les fonctionnalités de sécurité d’Ubuntu complètent NodeBB, en faisant un choix idéal pour l’hébergement et la gestion de communautés en ligne dynamiques.
Dans ce guide, vous apprendrez à installer NodeBB sur le serveur Ubuntu 24.04 avec la base de données MongoDB et le serveur web Nginx. Vous apprendrez également à sécuriser NodeBB avec HTTPS via Certbot et Letsencrypt.
Prérequis
Pour commencer ce guide, assurez-vous d’avoir :
- Un serveur Ubuntu 24.04.
- Un utilisateur non-root avec des privilèges d’administrateur.
- Un nom de domaine pointant vers une adresse IP de serveur.
Installation du serveur MongoDB
NodeBB est écrit avec Node.js et utilise MongoDB comme base de données. Pour installer NodeBB, vous devez installer le serveur MongoDB sur votre système. Dans cette section, vous installerez le serveur MongoDB 7 sur le serveur Ubuntu 24.04.
Tout d’abord, exécutez la commande ci-dessous pour installer les paquets gnupg et curl sur votre système Ubuntu.
sudo apt install gnupg curl
Ajoutez maintenant la clé GPG et le dépôt pour MongoDB en utilisant la commande ci-dessous. À ce moment, MongoDB 7.0 n’est disponible que pour Ubuntu 22.04, donc nous l’utiliserons sur notre serveur Ubuntu 24.04.
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc |
sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg
–dearmorecho “deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse” | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
Ensuite, exécutez la commande apt suivante pour mettre à jour votre index de paquets Ubuntu et installer le paquet mongodb-org. Entrez Y pour confirmer l’installation.
sudo apt update
sudo apt install mongodb-org
Après l’installation, exécutez la commande systemctl ci-dessous pour recharger le gestionnaire systemd. Cela est dû au fait que le nouveau fichier de service mongod a été ajouté à votre système.
sudo systemctl daemon-reloadExécutez maintenant la commande systemctl ci-dessous pour démarrer et activer le service MongoDB mongod. Ensuite, vérifiez son statut pour vous assurer que le service mongod fonctionne.
sudo systemctl enable --now mongod
sudo systemctl status mongodComme vous pouvez le voir ci-dessous, le service mongod est activé et en cours d’exécution.

Configuration du serveur MongoDB et de la base de données pour NodeBB
Après avoir installé le serveur MongoDB, vous allez activer l’authentification sur MongoDB, créer un utilisateur administrateur, puis créer un nouvel utilisateur et une base de données pour l’installation de NodeBB.
Connectez-vous à la console MongoDB avec la commande client mongosh ci-dessous.
mongoshDans la console mongosh, passez à la base de données admin et créez un nouvel utilisateur administrateur pour MongoDB. Dans cet exemple, vous allez créer un utilisateur MongoDB admin avec le mot de passe MongoDBAdminPass. Assurez-vous de changer les détails de l’utilisateur avec vos informations.
use admin
db.createUser( { user: “admin”, pwd: “MongoDBAdminPass”, roles: [ { role: “root”, db: “admin” } ] } )Après cela, passez et créez la base de données nodebb, puis créez un nouvel utilisateur nodebb avec le mot de passe NodeBBPassword. La base de données et l’utilisateur nodebb 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 la console mongosh.
quit()
Ensuite, ouvrez la configuration par défaut de MongoDB /etc/mongod.conf avec l’éditeur nano suivant.
sudo nano /etc/mongod.confDécommentez l’option security et changez l’authorization en enabled. Cela activera l’authentification sur votre serveur MongoDB.
security:
authorization: enabledLorsque vous avez terminé, enregistrez le fichier et quittez l’éditeur.
Exécutez maintenant la commande systemctl ci-dessous pour redémarrer le service mongod et appliquer vos modifications. Après le redémarrage du service mongod, l’authentification MongoDB sera activée.
sudo systemctl restart mongodExécutez la commande mongosh ci-dessous pour vous connecter en tant qu’utilisateur nodebb à la base de données nodebb. Entrez votre mot de passe lorsque vous y êtes invité.
mongosh “mongodb://127.0.0.1:27017” --username nodebb --authenticationDatabase nodebbExécutez maintenant les requêtes suivantes pour vérifier votre connexion au serveur MongoDB.
db.runCommand( { connectionStatus: 1, showPrivileges: false } )Ci-dessous, vous vous êtes authentifié en tant qu’utilisateur nodebb à la base de données nodebb.
Tapez quit() pour quitter la console MongoDB.

Installation de NodeBB
Maintenant que vous avez configuré le serveur MongoDB, vous allez installer Node.js via le dépôt officiel d’Ubuntu, puis télécharger et installer NodeBB sur votre système Ubuntu.
Avant d’installer NodeBB, exécutez la commande apt suivante pour installer le paquet Node.js et NPM sur votre système Ubuntu. Entrez Y pour confirmer l’installation.
sudo apt install nodejs npm
Après l’installation, vérifiez les versions de Node.js et NPM avec ce qui suit - Vous pouvez voir que Node.js 18 et NPM 9 sont installés.
node --version
npm --versionExécutez maintenant la commande suivante pour créer un nouvel utilisateur et groupe système nodebb. Cet utilisateur sera utilisé pour exécuter l’installation de NodeBB.
sudo adduser --system --no-create-home --home=/opt/nodebb --group nodebbExécutez la commande git ci-dessous pour télécharger le code source de NodeBB dans le répertoire /opt/nodebb, puis changez la propriété de celui-ci à l’utilisateur nodebb.
git clone -b v3.x https://github.com/NodeBB/NodeBB.git /opt/nodebb
sudo chown -R nodebb:nodebb /opt/nodebb
Allez dans le répertoire /opt/nodebb et exécutez la commande de configuration nodebb pour commencer l’installation de NodeBB.
cd /opt/nodebb
sudo su -s /bin/bash -c “./nodebb setup” nodebbVous serez interrogé sur les configurations suivantes de NodeBB :
- Entrez votre nom de domaine pour NodeBB, tel que forum.howtoforge.local.
- Appuyez sur ENTER sur la configuration secrète de NodeBB. Laissez-le par défaut.
- Entrez non pour désactiver l’accès anonyme à NodeBB.
- Sélectionnez MongoDB comme base de données.
- Entrez les détails de votre base de données MongoDB au format mongodb://nodebb:[email protected]:27017/nodebb.
- Entrez le nouvel utilisateur administrateur et l’adresse e-mail pour NodeBB.
- Entrez le mot de passe pour votre utilisateur administrateur NodeBB et répétez.
Après l’installation, vous verrez une sortie Configuration de NodeBB terminée.

Pour exécuter NodeBB depuis la ligne de commande, exécutez la commande de démarrage nodebb suivante :
sudo su -s /bin/bash -c "./nodebb start" nodebbPour arrêter le processus NodeBB, utilisez la commande d’arrêt nodebb ci-dessous.
sudo su -s /bin/bash -c "./nodebb stop" nodebb
Exécution de NodeBB en tant que service systemd
Dans ce guide, vous exécuterez NodeBB en arrière-plan en tant que service systemd. Vous allez donc créer un nouveau fichier de service pour NodeBB, ce qui facilite la gestion du service NodeBB via l’utilitaire systemctl.
Créez un nouveau fichier de service systemd /etc/systemd/system/nodebb.service avec l’éditeur nano suivant.
sudo nano /etc/systemd/system/nodebb.serviceCollez le fichier de service suivant pour NodeBB. Dans cet exemple, vous exécuterez le service nodebb en tant qu’utilisateur nodebb.
[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 le fichier et quittez l’éditeur une fois terminé.
Exécutez maintenant la commande systemctl ci-dessous pour recharger le gestionnaire systemd et appliquer vos modifications.
sudo systemctl daemon-reloadAprès cela, démarrez, activez et vérifiez le service nodebb avec la commande suivante.
sudo systemctl enable --now nodebb
sudo systemctl status nodebbVous pouvez voir ci-dessous que le service nodebb fonctionne en arrière-plan en tant que service systemd.

Configuration de Nginx en tant que proxy inverse
Dans ce tutoriel, vous utiliserez le serveur web Nginx comme proxy inverse pour NodeBB. Vous allez donc installer Nginx et créer un nouveau bloc de serveur pour le proxy inverse. Assurez-vous que votre nom de domaine pointe vers l’adresse IP du serveur.
Installez le serveur web Nginx sur votre système avec la commande apt install suivante.
sudo apt install nginx -y
Une fois l’installation terminée, créez une nouvelle configuration de bloc de serveur /etc/nginx/sites-available/nodebb avec l’éditeur nano.
sudo nano /etc/nginx/sites-available/nodebbInsérez la configuration suivante et assurez-vous de changer forum.howtoforge.local par votre nom de domaine. Avec cela, vous allez configurer un proxy inverse pour NodeBB qui fonctionne en arrière-plan sur le port 4567.
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";
}
}Enregistrez le fichier et quittez l’éditeur.
Exécutez maintenant la commande ci-dessous pour activer le fichier de bloc de serveur nodebb et vérifier votre configuration Nginx. Si vous êtes correct et avez une configuration Nginx appropriée, vous verrez une sortie la syntaxe est correcte - le test est réussi.
sudo ln -s /etc/nginx/sites-available/nodebb /etc/nginx/sites-enabled/
sudo nginx -t
Enfin, exécutez la commande systemctl ci-dessous pour redémarrer le service Nginx et appliquer vos modifications. Ensuite, vérifiez le statut du service Nginx pour vous assurer qu’il fonctionne.
sudo systemctl restart nginx
sudo systemctl status nginxComme vous pouvez le voir dans la sortie ci-dessous, le service Nginx fonctionne.

Sécuriser NodeBB avec HTTPS
Dans cette section, vous allez sécuriser NodeBB avec HTTPS via Certbot et Letsencrypt. Associé à Certbot et Nginx, vous pouvez configurer HTTPS automatique sur votre serveur web.
Installez les paquets certbot et python3-certbot-nginx avec la commande suivante :
sudo apt install certbot python3-certbot-nginx -yExécutez maintenant la commande certbot ci-dessous pour générer des certificats SSL et sécuriser votre installation NodeBB avec HTTPS. Assurez-vous de changer l’adresse e-mail et le nom de domaine avec vos informations.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d forum.howtoforge.localAprès le processus terminé, vous verrez vos certificats dans le répertoire /etc/letsencrypt/live/domain.com. Et votre installation de NodeBB sera automatiquement sécurisée avec HTTPS.
Accéder à NodeBB
Ouvrez votre nom de domaine NodeBB tel que https://forum.howtoforge.local dans votre navigateur web. Si l’installation est réussie, vous verrez la page d’accueil par défaut de NodeBB comme suit :

Cliquez sur le lien Connexion et vous serez invité à la page de connexion de NodeBB. Ensuite, entrez votre utilisateur administrateur et votre mot de passe, et cliquez sur Connexion pour confirmer. Si vous avez les bonnes informations d’identification, vous verrez le tableau de bord administrateur suivant.

Dans les paramètres administratifs de NodeBB, vous verrez ce qui suit :

Conclusion
Félicitations ! Vous avez installé le logiciel de forum open-source NodeBB sur un serveur Ubuntu 24.04. Vous avez NodeBB opérationnel avec MongoDB comme base de données et Nginx comme proxy inverse. Vous avez également sécurisé NodeBB avec HTTPS via Certbot et Letsencrypt. Vous pouvez maintenant ajouter un serveur SMTP pour configurer l’enregistrement et la confirmation via un lien par e-mail.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.