Installazione software · 8 min read · Sep 09, 2025
Come installare NodeBB con MongoDB e Nginx Proxy su AlmaLinux 9

NodeBB è un software per forum open-source basato su Node.js che fornisce una soluzione moderna e reattiva per le comunità online. Eseguendo su Ubuntu Linux, NodeBB sfrutta la robustezza e la flessibilità del sistema operativo per offrire alte prestazioni e scalabilità. Utilizza una combinazione di MongoDB e Redis per la gestione del database, rendendolo capace di gestire grandi volumi di contenuti generati dagli utenti in modo efficiente.
NodeBB è noto per le sue notifiche in tempo reale, l’integrazione senza soluzione di continuità con varie piattaforme di social media e un ampio ecosistema di plugin, che consente agli amministratori di personalizzare i propri forum per soddisfare esigenze specifiche. Inoltre, il suo design mobile-first garantisce un’esperienza utente coerente e coinvolgente su tutti i dispositivi. La stabilità e le caratteristiche di sicurezza di Ubuntu completano NodeBB, rendendolo una scelta ideale per ospitare e gestire comunità online dinamiche.
Questa guida fornirà istruzioni passo-passo per installare NodeBB su un server Alma Linux 9. Utilizzerai MongoDB come database, Nginx come reverse proxy e poi proteggerai NodeBB con HTTPS tramite Certbot e Letsencrypt.
Prerequisiti
Prima di iniziare, assicurati di avere i seguenti requisiti:
- Un server Alma Linux 9
- Un utente non root con privilegi di amministratore
- Un nome di dominio puntato all’indirizzo IP del server
- Un SELinux con stato permissivo e abilitato
Installare le dipendenze
NodeBB è un software per forum open-source basato su Node.js. Per installare NodeBB, devi assicurarti che i seguenti pacchetti siano installati, tra cui:
- Strumenti di sistema come “Development Tools”, Git e ImageMagick
- Node.js 18 o superiore e NPM (Node Package Manager)
- Server di database NoSQL MongoDB
- Server web Nginx come reverse proxy
In questa sezione, installerai queste dipendenze sul server Alma Linux 9.
Prima, esegui il comando qui sotto per abilitare il repository CRB (CodeReadyBuild) di Alma Linux e installare il repository EPEL.
sudo crb enable
sudo dnf install epel-release -yPoi crea un nuovo file di repository ‘ /etc/yum.repos.d/mongodb-org-7.0.repo ‘ con l’editor ‘ nano ‘.
sudo nano /etc/yum.repos.d/mongodb-org-7.0.repoInserisci la seguente configurazione nel file:
[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.ascSalva il file ed esci dall’editor quando hai finito.
Ora esegui il comando qui sotto per abilitare il repository Node.js 18 per AlmaLinux.
sudo dnf module enable nodejs:18 -y
Successivamente, esegui il seguente comando ‘ dnf ‘ per installare i ‘ Development Tools ‘, il server MongoDB, Node.js, NPM, Git e ImageMagick.
sudo dnf group install "Development Tools" -y
sudo dnf install nodejs npm git ImageMagick mongodb-org -y
Dopo che l’installazione è completata, avvia e abilita il servizio ‘ mongod ‘ con il seguente comando.
sudo systemctl enable --now mongod
sudo systemctl status mongodPuoi vedere qui sotto che il server MongoDB è in esecuzione e abilitato.

Infine, controlla la versione di Node.js con il comando qui sotto. Dovresti vedere che Node.js 18 è installato sul server Alma Linux.
node --version
npm --versionConfigurare il server MongoDB e il database per NodeBB
Con le dipendenze installate, proteggerai il server MongoDB abilitando l’autenticazione con password e impostando la password dell’amministratore di MongoDB. Dopo di che, creerai anche un nuovo database MongoDB e un utente per l’installazione di NodeBB.
Accedi al server MongoDB con il comando ‘ mongosh ‘ qui sotto.
mongosh
Una volta effettuato l’accesso, passa al database ‘ admin ‘ ed esegui la query qui sotto per impostare una password di amministratore per MongoDB. Assicurati di cambiare ‘ MongoDBAdminPass ‘ con la tua combinazione di password.
use admin
db.createUser( { user: "admin", pwd: "MongoDBAdminPass", roles: [ { role: "root", db: "admin" } ] } )Ora esegui le seguenti query per creare un nuovo database e un utente ‘ nodebb ‘ con la password ‘NodeBBPassword’. Puoi regolare i dettagli del database come necessario.
use nodebb
db.createUser( { user: "nodebb", pwd: "NodeBBPassword", roles: [ { role: "readWrite", db: "nodebb" }, { role: "clusterMonitor", db: "admin" } ] } )Digita ‘ quit() ‘ per uscire dal server MongoDB.

Dopo aver configurato la password dell’amministratore per MongoDB, abilitiamo l’autenticazione di MongoDB.
Apri il file di configurazione predefinito di MongoDB ‘ /etc/mongod.conf ‘ con l’editor ‘ nano ‘.
sudo nano /etc/mongod.confPer abilitare l’autenticazione di MongoDB, decommenta la riga ‘ security ‘ e aggiungi ‘ authorization: enabled ‘ come segue:
security:
authorization: enabledSalva ed esci dal file quando hai finito.
Ora esegui il seguente comando ‘ systemctl ‘ per riavviare il server MongoDB e applicare le tue modifiche. L’autenticazione di MongoDB dovrebbe essere ora abilitata.
sudo systemctl restart mongodPer verificare la configurazione, esegui il comando ‘ mongosh ‘ qui sotto per accedere a MongoDB utilizzando l’utente ‘ nodebb ‘. Inserisci la password per l’utente ‘ nodebb ‘.
mongosh "mongodb://127.0.0.1:27017" --username nodebb --authenticationDatabase nodebbInstallare NodeBB
Ora che hai configurato il server MongoDB, sei pronto per installare NodeBB sul server Alma Linux.
Aggiungi un nuovo utente e gruppo di sistema ‘ nodebb ‘ con il seguente comando.
sudo adduser -r -M -d /opt/nodebb -U nodebbScarica il codice sorgente di NodeBB nella directory ‘ /opt/nodebb ‘ e cambia la proprietà all’utente ‘ nodebb ‘.
git clone -b v3.x https://github.com/NodeBB/NodeBB.git /opt/nodebb
sudo chown -R nodebb:nodebb /opt/nodebbVai nella directory ‘ /opt/nodebb ‘ ed esegui lo script di configurazione di NodeBB come segue:
cd /opt/nodebb
sudo su -s /bin/bash -c "./nodebb setup" nodebbQui, ti verrà chiesto di alcune configurazioni di NodeBB:
- Inserisci il tuo nome di dominio per NodeBB, come https://forum.howtoforge.local.
- Premi INVIO sulla configurazione segreta di NodeBB. Lascialo come predefinito.
- Inserisci no per disabilitare l’accesso anonimo a NodeBB.
- Seleziona MongoDB come database.
- Inserisci i dettagli del tuo database MongoDB nel formato mongodb://nodebb:[email protected]:27017/nodebb.
- Inserisci il nuovo utente amministratore e l’indirizzo email per NodeBB.
- Inserisci la password per il tuo utente amministratore di NodeBB e ripetila.
Dopo che il processo è completo, vedrai un output come questo:

Ora puoi avviare o fermare NodeBB manualmente eseguendo lo script ‘ nodebb ‘ come segue:
sudo su -s /bin/bash -c "./nodebb start" nodebb
sudo su -s /bin/bash -c "./nodebb stop" nodebb
Eseguire NodeBB come servizio systemd
Per gestire NodeBB più facilmente, puoi controllare il processo NodeBB utilizzando l’utilità ‘ systemctl ‘. Per fare ciò, devi creare un nuovo file di servizio systemd per eseguire NodeBB.
Crea un nuovo file di servizio systemd ‘ /etc/systemd/system/nodebb.service ‘ con l’editor ‘ nano ‘.
sudo nano /etc/systemd/system/nodebb.serviceInserisci la seguente configurazione per eseguire NodeBB come servizio 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.targetSalva il file ed esci dall’editor.
Ricarica il gestore systemd con il comando ‘ systemctl ‘ qui sotto.
sudo systemctl daemon-reloadInfine, avvia e abilita il servizio ‘ nodebb ‘, e poi controllalo per assicurarti che il servizio sia in esecuzione:
sudo systemctl enable --now nodebb
sudo systemctl status nodebbPuoi vedere qui sotto che NodeBB è in esecuzione in background come servizio systemd.

Configurare Nginx come reverse proxy
Ora che NodeBB è in esecuzione in background come servizio, installiamo Nginx e creiamo un nuovo blocco server che sarà utilizzato come reverse proxy per NodeBB.
Prima, esegui il comando ‘ dnf ‘ qui sotto per installare il server web Nginx.
sudo dnf install nginx -y
Ora crea una nuova configurazione Nginx ‘ /etc/nginx/conf.d/nodebb.conf ‘ con l’editor ‘ nano ‘.
sudo nano /etc/nginx/conf.d/nodebb.confInserisci la seguente configurazione e assicurati di cambiare il parametro ‘ server_name ‘ con il tuo nome di dominio.
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;
# Supporto Socket.IO
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}Quando hai finito, salva il file ed esci dall’editor.
Successivamente, esegui il comando qui sotto per verificare la sintassi di Nginx. Se ha successo, avrai un output ‘ syntax is ok - test is successful ‘.
sudo nginx -t
Infine, esegui il comando ‘ systemctl ‘ qui sotto per avviare, abilitare e verificare il server web Nginx.
sudo systemctl enable --now nginx
sudo systemctl status nginxPuoi vedere qui sotto che il server web Nginx è in esecuzione.

Proteggere NodeBB con HTTPS
A questo punto, la tua installazione di NodeBB è pronta. Ma se sei su un nome di dominio pubblico, devi proteggere NodeBB con HTTPS. In questa sezione, configurerai HTTPS per NodeBB con Certbot e Letsencrypt.
Installa Certbot e il plugin Certbot Nginx con il seguente comando:
sudo dnf install certbot python3-certbot-nginx -yOra esegui il comando ‘ certbot ‘ qui sotto per proteggere la tua installazione di NodeBB con HTTPS. Assicurati di cambiare il nome di dominio e l’indirizzo email in questo comando.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d forum.howtoforge.localDopo che il processo è completato, i tuoi certificati SSL/TLS saranno disponibili nella directory ‘ /etc/letsencrypt/live/domain.com ‘ e la tua installazione di NodeBB dovrebbe essere protetta con HTTPS.
Accedere a NodeBB
Apri il tuo browser web e visita il nome di dominio di NodeBB come https://forum.howtoforge.local. Se la tua installazione ha avuto successo, vedrai la seguente homepage di NodeBB.

Conclusione
Congratulazioni! Hai completato l’installazione di NodeBB sul server Alma Linux 9. Hai il forum NodeBB attivo e funzionante con il server MongoDB e Nginx come reverse proxy. Hai anche protetto l’installazione di NodeBB con HTTPS tramite Certbot e Letsencrypt.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.