Installazione software · 8 min read · Sep 10, 2025
Come installare NodeBB con Nginx Proxy su Debian 12

NodeBB è un software per forum open-source scritto in JavaScript e Node.js. Utilizza MongoDB come database predefinito. NodeBB offre molteplici funzionalità, come notifiche in tempo reale tramite web socket, integrazione con i social media e anche API REST complete.
Questa guida ti mostrerà come installare NodeBB su un server Debian 12 con MongoDB come database e Nginx come reverse proxy.
Prerequisiti
Prima di iniziare, assicurati di avere quanto segue:
- Un server Debian 12.
- Un utente non root con privilegi sudo.
- Un nome di dominio puntato a un indirizzo IP del server.
Installazione delle dipendenze
Per iniziare il processo, installerai le dipendenze per NodeBB. Questo include Node.js, NPM (Node.js Package Manager) e il server web Nginx dal repository Debian. Per quanto riguarda MongoDB, lo installerai tramite il repository ufficiale di MongoDB.
Prima di tutto, esegui il seguente comando per installare i pacchetti gnupg e curl sul tuo sistema Debian.
sudo apt install gnupg curl -yAggiungi la chiave GPG e il repository di MongoDB con il seguente comando:
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.listOra aggiorna l’indice dei pacchetti Debian e installa MongoDB, Node.js, NPM, Nginx e Git. Inserisci Y per confermare l’installazione.
sudo apt update
sudo apt install mongodb-org nodejs npm git nginx
Dopo che l’installazione è completata, ricarica il gestore systemd con il seguente comando:
sudo systemctl daemon-reloadOra esegui il comando qui sotto per avviare, abilitare e verificare lo stato del servizio MongoDB.
sudo systemctl enable --now mongod
sudo systemctl status mongodL’output seguente conferma che MongoDB è in esecuzione.

Successivamente, controlla lo stato del servizio Nginx con il comando qui sotto. Dovresti vedere che Nginx è abilitato e in esecuzione sul tuo sistema.
sudo systemctl is-enabled nginx
sudo systemctl status nginx
Infine, controlla la versione di Node.js e NPM con il seguente comando:
sudo node -v
sudo npm -vPuoi vedere qui sotto che Node.js 18 e NPM 9 sono installati.

Configurazione del server MongoDB
In questa sezione, abiliterai l’autenticazione di MongoDB, creerai un nuovo utente amministratore per MongoDB e poi creerai un nuovo database e utente per l’installazione di NodeBB.
Accedi al server MongoDB con il comando qui sotto.
mongoshEsegui la seguente query per passare al database ‘admin’ e creare un nuovo utente amministratore ‘ admin ‘ per MongoDB. Assicurati di cambiare la password ‘ MongoDBAdminPass ‘ con la nuova password.
use admin
db.createUser( { user: "admin", pwd: "MongoDBAdminPass", roles: [ { role: "root", db: "admin" } ] } )Successivamente, crea un nuovo database e un utente ‘ nodebb ‘ con la password ‘ NodeBBPassword ‘. Questo database e utente saranno utilizzati per l’installazione di NodeBB.
use nodebb
db.createUser( { user: "nodebb", pwd: "NodeBBPassword", roles: [ { role: "readWrite", db: "nodebb" }, { role: "clusterMonitor", db: "admin" } ] } )Ora digita ‘ quit() ‘ per uscire da MongoDB.

Successivamente, apri il file di configurazione di MongoDB ‘ /etc/mongod.conf ‘ con l’editor nano.
sudo nano /etc/mongod.confAbilita l’autenticazione di MongoDB aggiungendo la seguente configurazione.
security:
authorization: enabledSalva e chiudi il file quando hai finito.
Ora esegui il comando qui sotto per riavviare il servizio MongoDB e applicare le tue nuove modifiche. Dopo che il comando è stato eseguito, l’autenticazione di MongoDB sarà abilitata.
sudo systemctl restart mongodPer assicurarti che la tua configurazione di MongoDB sia riuscita, accedi a MongoDB con l’utente ‘ nodebb ‘ al database ‘ nodebb ‘. Inserisci la tua password quando richiesto.
mongosh "mongodb://127.0.0.1:27017" --username nodebb --authenticationDatabase nodebbDopo aver effettuato l’accesso, esegui la query qui sotto per controllare la tua connessione e uscire da MongoDB.
db.runCommand( { connectionStatus: 1, showPrivileges: false } )
quit()Nell’output seguente, puoi vedere che sei autenticato come ‘ nodebb ‘ al database ‘ nodebb ‘.

Installazione di NodeBB
Con la configurazione di MongoDB completata, scaricherai e installerai NodeBB. Creerai un utente dedicato per NodeBB, scaricherai e installerai le dipendenze di NodeBB e poi configurerai un file di servizio per la tua installazione di NodeBB.
Aggiungi un nuovo utente di sistema ‘ nodebb ‘ con la home directory predefinita ‘ /opt/nodebb ‘ utilizzando il seguente comando.
sudo adduser --system --no-create-home --home=/opt/nodebb --group nodebbOra scarica il sorgente di NodeBB v3 nella directory ‘ /opt/nodebb ‘ utilizzando git e cambia la proprietà della directory ‘ /opt/nodebb ‘ 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’ e configura la tua installazione di NodeBB con il comando qui sotto.
cd /opt/nodebb
sudo su -s /bin/bash -c "./nodebb setup" nodebb- Inserisci il tuo nome di dominio per NodeBB.
- Lascia il segreto di NodeBB come predefinito e premi INVIO.
- Digita no per disabilitare l’uso del plugin anonimo.
- Seleziona il database come MongoDB.
- Inserisci il database MongoDB con la stringa URL: mongodb://nodebb: [email protected]:27017/nodebb.
- Inserisci il tuo utente amministratore e l’indirizzo email per NodeBB.
- Inserisci la tua password e ripetila.
Dopo che il processo è completato, vedrai un output ‘ NodeBB Setup Completed ‘. Puoi anche vedere il comando per eseguire NodeBB.

Successivamente, esegui il comando qui sotto per avviare o fermare NodeBB. Puoi usare questo quando hai bisogno di avviare o fermare NodeBB manualmente.
sudo su -s /bin/bash -c "./nodebb start" nodebb
sudo su -s /bin/bash -c "./nodebb stop" nodebb
Per rendere più facile la gestione di NodeBB, creerai un nuovo file di servizio systemd per NodeBB. Con questo, la tua installazione di NodeBB verrà eseguita in background e potrai gestirla con il comando systemctl.
Crea un nuovo file di servizio systemd ‘ /etc/systemd/system/nodebb.service ‘ con il comando dell’editor nano.
sudo nano /etc/systemd/system/nodebb.serviceInserisci la seguente configurazione nel file:
[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.targetSalva e chiudi il file.
Ora esegui il comando qui sotto per ricaricare il gestore systemd e applicare il nuovo file di servizio NodeBB.
sudo systemctl daemon-reloadDopo di che, avvia e abilita il servizio ‘ nodebb ‘ con il seguente comando systemctl.
sudo systemctl start nodebb
sudo systemctl enable nodebbVerifica il servizio ‘ nodebb ‘ con il seguente comando per assicurarti che il servizio sia in esecuzione.
sudo systemctl status nodebbPuoi vedere qui sotto che NodeBB è in esecuzione in background come servizio systemd.

Configurazione di Nginx come reverse proxy
A questo punto, NodeBB è in esecuzione in background sulla porta ‘4567’. Ora creerai un nuovo blocco server Nginx che sarà utilizzato come reverse proxy per il tuo forum NodeBB. Assicurati che il tuo nome di dominio sia puntato all’indirizzo IP del tuo server.
Crea una nuova configurazione del blocco server Nginx ‘ /etc/nginx/sites-available/nodebb ‘ con l’editor nano.
sudo nano /etc/nginx/sites-available/nodebbAggiungi la seguente configurazione per impostare Nginx come reverse proxy per NodeBB. 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 e esci.
Ora attiva il file del blocco server ‘nodebb’ e testa la sintassi di Nginx con il seguente comando:
sudo ln -s /etc/nginx/sites-available/nodebb /etc/nginx/sites-enabled/
sudo nginx -tSe hai una sintassi Nginx corretta, vedrai un output ‘syntax is ok - test is successful’.

Infine, esegui il comando qui sotto per riavviare il servizio Nginx e applicare le tue modifiche.
sudo systemctl restart nginxSicurezza di NodeBB con HTTPS
In questa guida, proteggerai NodeBB con HTTPS tramite Certbot e Letsencrypt. Se stai utilizzando un dominio locale, puoi saltare questo passaggio oppure puoi anche generare certificati autofirmati.
Installa Certbot e il plugin Certbot Nginx con il seguente comando apt. Digita Y per procedere con l’installazione.
sudo apt install certbot python3-certbot-nginxOra esegui il comando certbot qui sotto per generare i certificati SSL per il tuo nome di dominio NodeBB. Assicurati di cambiare sia l’indirizzo email che il nome di dominio con le tue informazioni.
sudo certbot --nginx --agree-tos --no-eff-email --redirect --hsts --staple-ocsp --email [email protected] -d forum.hwdomain.iDopo aver completato il processo, la tua installazione di NodeBB dovrebbe essere automaticamente protetta con HTTPS. I tuoi certificati SSL/TLS saranno disponibili nella directory ‘ /etc/letsencrypt/live/domain.com ‘.
Accesso a NodeBB
Visita https://forum.howtoforge.local/ utilizzando il tuo browser web e vedrai la pagina indice predefinita di NodeBB come segue:

Dalla home page, fai clic sul menu Login e ti verrà mostrata la pagina di accesso di NodeBB. Inserisci il tuo utente amministratore e la password, quindi fai clic su Login.

Se hai successo, vedrai il seguente cruscotto utente.

Fai clic sul menu Admin per accedere al cruscotto di amministrazione di NodeBB come segue:

Conclusione
Congratulazioni! Hai ora installato NodeBB sul server Debian 12. Hai NodeBB in esecuzione con il database MongoDB e il reverse proxy Nginx. Hai anche protetto NodeBB con HTTPS tramite Certbot e Letsencrypt.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.