Installation NodeBB · 8 min read · Sep 09, 2025
Comment installer NodeBB avec MongoDB et Nginx Proxy sur AlmaLinux 9

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 et 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 héberger et gérer des communautés en ligne dynamiques.
Ce guide fournira des instructions étape par étape pour installer NodeBB sur un serveur Alma Linux 9. Vous utiliserez MongoDB comme base de données, Nginx comme proxy inverse, puis sécuriserez NodeBB avec HTTPS via Certbot et Letsencrypt.
Prérequis
Avant de commencer, assurez-vous d’avoir les éléments suivants :
- Un serveur Alma Linux 9
- Un utilisateur non-root avec des privilèges d’administrateur
- Un nom de domaine pointant vers l’adresse IP du serveur
- Un SELinux avec un statut permissif et activé
Installer les dépendances
NodeBB est un logiciel de forum open-source basé sur Node.js. Pour installer NodeBB, vous devez vous assurer que les packages suivants sont installés, y compris :
- Outils système tels que “Development Tools”, Git et ImageMagick
- Node.js 18 ou supérieur et NPM (Node Package Manager)
- Serveur de base de données NoSQL MongoDB
- Serveur web Nginx en tant que proxy inverse
Dans cette section, vous installerez ces dépendances sur le serveur Alma Linux 9.
Tout d’abord, exécutez la commande ci-dessous pour activer le dépôt CRB (CodeReadyBuild) d’Alma Linux et installer le dépôt EPEL.
sudo crb enable
sudo dnf install epel-release -yEnsuite, créez un nouveau fichier de dépôt ‘ /etc/yum.repos.d/mongodb-org-7.0.repo ‘ avec l’éditeur ‘ nano ‘.
sudo nano /etc/yum.repos.d/mongodb-org-7.0.repoEntrez la configuration suivante dans le fichier :
[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.ascEnregistrez le fichier et quittez l’éditeur une fois terminé.
Maintenant, exécutez la commande ci-dessous pour activer le dépôt Node.js 18 pour AlmaLinux.
sudo dnf module enable nodejs:18 -y
Ensuite, exécutez la commande ‘ dnf ‘ suivante pour installer les ‘ Development Tools ‘, le serveur MongoDB, Node.js, NPM, Git et ImageMagick.
sudo dnf group install "Development Tools" -y
sudo dnf install nodejs npm git ImageMagick mongodb-org -y
Après la fin de l’installation, démarrez et activez le service ‘ mongod ‘ avec la commande suivante.
sudo systemctl enable --now mongod
sudo systemctl status mongodVous pouvez voir ci-dessous que le serveur MongoDB fonctionne et est activé.

Enfin, vérifiez la version de Node.js avec la commande ci-dessous. Vous devriez voir que Node.js 18 est installé sur le serveur Alma Linux.
node --version
npm --versionConfiguration du serveur MongoDB et de la base de données pour NodeBB
Avec les dépendances installées, vous sécuriserez le serveur MongoDB en activant l’authentification par mot de passe et en configurant le mot de passe administrateur de MongoDB. Après cela, vous créerez également une nouvelle base de données MongoDB et un utilisateur pour l’installation de NodeBB.
Connectez-vous au serveur MongoDB avec la commande ‘ mongosh ‘ ci-dessous.
mongosh
Une fois connecté, passez à la base de données ‘ admin ‘ et exécutez la requête ci-dessous pour configurer un mot de passe administrateur pour MongoDB. Assurez-vous de changer ‘ MongoDBAdminPass ‘ par votre combinaison de mot de passe.
use admin
db.createUser( { user: "admin", pwd: "MongoDBAdminPass", roles: [ { role: "root", db: "admin" } ] } )Maintenant, exécutez les requêtes suivantes pour créer une nouvelle base de données et un utilisateur ‘ nodebb ‘ avec le mot de passe ‘NodeBBPassword’. Vous pouvez ajuster les détails de la base de données suivants selon vos besoins.
use nodebb
db.createUser( { user: "nodebb", pwd: "NodeBBPassword", roles: [ { role: "readWrite", db: "nodebb" }, { role: "clusterMonitor", db: "admin" } ] } )Tapez ‘ quit() ‘ pour quitter le serveur MongoDB.

Après avoir configuré le mot de passe administrateur pour MongoDB, activons l’authentification MongoDB.
Ouvrez le fichier de configuration par défaut de MongoDB ‘ /etc/mongod.conf ‘ avec l’éditeur ‘ nano ‘.
sudo nano /etc/mongod.confPour activer l’authentification MongoDB, décommentez la ligne ‘ security ‘ et ajoutez ‘ authorization: enabled ‘ comme suit :
security:
authorization: enabledEnregistrez et quittez le fichier une fois terminé.
Maintenant, exécutez la commande ‘ systemctl ‘ suivante pour redémarrer le serveur MongoDB et appliquer vos modifications. L’authentification MongoDB devrait maintenant être activée.
sudo systemctl restart mongodPour vérifier la configuration, exécutez la commande ‘ mongosh ‘ ci-dessous pour vous connecter à MongoDB en utilisant l’utilisateur ‘ nodebb ‘. Entrez le mot de passe pour l’utilisateur ‘ nodebb ‘.
mongosh "mongodb://127.0.0.1:27017" --username nodebb --authenticationDatabase nodebbInstallation de NodeBB
Maintenant que vous avez configuré le serveur MongoDB, vous êtes prêt à installer NodeBB sur le serveur Alma Linux.
Ajoutez un nouvel utilisateur et groupe système ‘ nodebb ‘ avec la commande suivante.
sudo adduser -r -M -d /opt/nodebb -U nodebbTéléchargez le code source de NodeBB dans le répertoire ‘ /opt/nodebb ‘ et changez la propriété à 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 exécutez le script de configuration de NodeBB comme suit :
cd /opt/nodebb
sudo su -s /bin/bash -c "./nodebb setup" nodebbIci, vous serez interrogé sur certaines configurations de NodeBB :
- Entrez votre nom de domaine pour NodeBB, tel que https://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 comme 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 la fin du processus, vous verrez une sortie comme celle-ci :

Vous pouvez maintenant démarrer ou arrêter NodeBB manuellement en exécutant le script ‘ nodebb ‘ comme suit :
sudo su -s /bin/bash -c "./nodebb start" nodebb
sudo su -s /bin/bash -c "./nodebb stop" nodebb
Exécution de NodeBB en tant que service systemd
Pour gérer NodeBB plus facilement, vous pouvez contrôler le processus NodeBB à l’aide de l’utilitaire ‘ systemctl ‘. Pour ce faire, vous devez créer un nouveau fichier de service systemd pour exécuter NodeBB.
Créez un nouveau fichier de service systemd ‘ /etc/systemd/system/nodebb.service ‘ avec l’éditeur ‘ nano ‘.
sudo nano /etc/systemd/system/nodebb.serviceEntrez la configuration suivante pour exécuter NodeBB en tant que service systemd.
[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.targetEnregistrez le fichier et quittez l’éditeur.
Rechargez le gestionnaire systemd avec la commande ‘ systemctl ‘ ci-dessous.
sudo systemctl daemon-reloadEnfin, démarrez et activez le service ‘ nodebb ‘, puis vérifiez-le pour vous assurer que le service fonctionne :
sudo systemctl enable --now nodebb
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
Maintenant que NodeBB fonctionne en arrière-plan en tant que service, installons Nginx et créons un nouveau bloc de serveur qui sera utilisé comme proxy inverse pour NodeBB.
Tout d’abord, exécutez la commande ‘ dnf ‘ ci-dessous pour installer le serveur web Nginx.
sudo dnf install nginx -y
Maintenant, créez une nouvelle configuration Nginx ‘ /etc/nginx/conf.d/nodebb.conf ‘ avec l’éditeur ‘ nano ‘.
sudo nano /etc/nginx/conf.d/nodebb.confEntrez la configuration suivante et 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";
}
}Une fois terminé, enregistrez le fichier et quittez l’éditeur.
Ensuite, exécutez la commande ci-dessous pour vérifier la syntaxe de Nginx. Si cela réussit, vous aurez une sortie ‘ syntax is ok - test is successful ‘.
sudo nginx -t
Enfin, exécutez la commande ‘ systemctl ‘ ci-dessous pour démarrer, activer et vérifier le serveur web Nginx.
sudo systemctl enable --now nginx
sudo systemctl status nginxVous pouvez voir ci-dessous que le serveur web Nginx fonctionne.

Sécuriser NodeBB avec HTTPS
À ce stade, votre installation de NodeBB est prête. Mais si vous êtes sur le nom de domaine public, vous devez sécuriser NodeBB avec HTTPS. Dans cette section, vous configurerez HTTPS pour NodeBB avec Certbot et Letsencrypt.
Installez Certbot et le plugin Certbot Nginx avec la commande suivante :
sudo dnf install certbot python3-certbot-nginx -yMaintenant, exécutez la commande ‘ certbot ‘ ci-dessous pour sécuriser votre installation de NodeBB avec HTTPS. Assurez-vous de changer le nom de domaine et l’adresse e-mail dans cette commande.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d forum.howtoforge.localAprès la fin du processus, vos certificats SSL/TLS seront disponibles dans le répertoire ‘ /etc/letsencrypt/live/domain.com ‘ et votre installation de NodeBB devrait être sécurisée avec HTTPS.
Accéder à NodeBB
Ouvrez votre navigateur web et visitez le nom de domaine de NodeBB tel que https://forum.howtoforge.local. Si votre installation est réussie, vous verrez la page d’accueil de NodeBB suivante.

Conclusion
Félicitations ! Vous avez terminé l’installation de NodeBB sur le serveur Alma Linux 9. Vous avez le forum NodeBB opérationnel avec le serveur MongoDB et Nginx en tant que proxy inverse. Vous avez également sécurisé l’installation de 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.