Installazione software · 9 min read · Sep 10, 2025
Come installare NodeBB con Nginx Proxy su server Ubuntu 24.04

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 o 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.
In questa guida, imparerai come installare NodeBB sul server Ubuntu 24.04 con il database MongoDB e il server web Nginx. Imparerai anche come proteggere NodeBB con HTTPS tramite Certbot e Letsencrypt.
Prerequisiti
Per iniziare con questa guida, assicurati di avere:
- Un server Ubuntu 24.04.
- Un utente non root con privilegi di amministratore.
- Un nome di dominio puntato a un indirizzo IP del server.
Installazione del server MongoDB
NodeBB è scritto con Node.js e utilizza MongoDB come database. Per installare NodeBB, devi installare il server MongoDB sul tuo sistema. In questa sezione, installerai il server MongoDB 7 sul server Ubuntu 24.04.
Per prima cosa, esegui il comando qui sotto per installare i pacchetti gnupg e curl sul tuo sistema Ubuntu.
sudo apt install gnupg curl
Ora aggiungi la chiave GPG e il repository per MongoDB utilizzando il comando qui sotto. In questo momento, MongoDB 7.0 è disponibile solo fino a Ubuntu 22.04, quindi utilizzeremo questo sul nostro server 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
Successivamente, esegui il seguente comando apt per aggiornare l’indice dei pacchetti di Ubuntu e installare il pacchetto mongodb-org. Inserisci Y per confermare l’installazione.
sudo apt update
sudo apt install mongodb-org
Dopo che l’installazione è completata, esegui il comando systemctl qui sotto per ricaricare il gestore systemd. Questo perché il nuovo file di servizio mongod è stato aggiunto al tuo sistema.
sudo systemctl daemon-reloadOra esegui il comando systemctl qui sotto per avviare e abilitare il servizio MongoDB mongod. E poi, controlla il suo stato per assicurarti che il servizio mongod sia in esecuzione.
sudo systemctl enable --now mongod
sudo systemctl status mongodCome puoi vedere qui sotto, il servizio mongod è abilitato e in esecuzione.

Configurazione del server MongoDB e del database per NodeBB
Dopo aver installato il server MongoDB, abiliterai l’autenticazione su MongoDB, creerai un utente admin e poi creerai un nuovo utente e database per l’installazione di NodeBB.
Accedi alla shell di MongoDB con il comando client mongosh qui sotto.
mongoshNella shell mongosh, passa al database admin e crea un nuovo utente admin per MongoDB. In questo esempio, creerai un utente MongoDB admin con la password MongoDBAdminPass. Assicurati di cambiare i dettagli dell’utente con le tue informazioni.
use admin
db.createUser( { user: “admin”, pwd: “MongoDBAdminPass”, roles: [ { role: “root”, db: “admin” } ] } )Dopo di che, passa e crea il database nodebb, e poi crea un nuovo utente nodebb con la password NodeBBPassword. Il database e l’utente nodebb 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 dalla shell mongosh.
quit()
Successivamente, apri la configurazione predefinita di MongoDB /etc/mongod.conf con il seguente editor nano.
sudo nano /etc/mongod.confDecommenta l’opzione security e cambia l’authorization in enabled. Questo abiliterà l’autenticazione sul tuo server MongoDB.
security:
authorization: enabledQuando hai finito, salva il file ed esci dall’editor.
Ora esegui il comando systemctl qui sotto per riavviare il servizio mongod e applicare le tue modifiche. Dopo che il servizio mongod è stato riavviato, l’autenticazione di MongoDB sarà abilitata.
sudo systemctl restart mongodEsegui il comando mongosh qui sotto per connetterti come utente nodebb al database nodebb. Inserisci la tua password quando richiesto.
mongosh “mongodb://127.0.0.1:27017” --username nodebb --authenticationDatabase nodebbOra esegui le seguenti query per controllare la tua connessione al server MongoDB.
db.runCommand( { connectionStatus: 1, showPrivileges: false } )Qui sotto, ti sei autenticato come utente nodebb al database nodebb.
Digita quit() per uscire dalla shell di MongoDB.

Installazione di NodeBB
Ora che hai configurato il server MongoDB, installerai Node.js attraverso il repository ufficiale di Ubuntu, e poi scaricherai e installerai NodeBB sul tuo sistema Ubuntu.
Prima di installare NodeBB, esegui il seguente comando apt per installare il pacchetto Node.js e NPM sul tuo sistema Ubuntu. Inserisci Y per confermare l’installazione.
sudo apt install nodejs npm
Dopo l’installazione, controlla le versioni di Node.js e NPM con il seguente comando - Puoi vedere che Node.js 18 e NPM 9 sono installati.
node --version
npm --versionOra esegui il seguente comando per creare un nuovo utente e gruppo di sistema nodebb. Questo utente sarà utilizzato per eseguire l’installazione di NodeBB.
sudo adduser --system --no-create-home --home=/opt/nodebb --group nodebbEsegui il comando git qui sotto per scaricare il codice sorgente di NodeBB nella directory /opt/nodebb, e poi cambia la proprietà a favore dell’utente nodebb.
git clone -b v3.x https://github.com/NodeBB/NodeBB.git /opt/nodebb
sudo chown -R nodebb:nodebb /opt/nodebb
Vai alla directory /opt/nodebb ed esegui il comando di configurazione di nodebb per avviare l’installazione di NodeBB.
cd /opt/nodebb
sudo su -s /bin/bash -c “./nodebb setup” nodebbTi verrà chiesto di fornire le seguenti configurazioni di NodeBB:
- Inserisci il tuo nome di dominio per NodeBB, come 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 admin e l’indirizzo email per NodeBB.
- Inserisci la password per il tuo utente admin di NodeBB e ripetila.
Dopo che l’installazione è completata, vedrai un output NodeBB Setup Completed.

Per eseguire NodeBB dalla riga di comando, esegui il seguente comando di avvio di nodebb:
sudo su -s /bin/bash -c "./nodebb start" nodebbPer fermare il processo di NodeBB, utilizza il comando di arresto di nodebb qui sotto.
sudo su -s /bin/bash -c "./nodebb stop" nodebb
Esecuzione di NodeBB come servizio systemd
In questa guida, eseguirai NodeBB in background come servizio systemd. Quindi ora creerai un nuovo file di servizio per NodeBB, che rende più facile gestire il servizio NodeBB tramite l’utilità systemctl.
Crea un nuovo file di servizio systemd /etc/systemd/system/nodebb.service con il seguente editor nano.
sudo nano /etc/systemd/system/nodebb.serviceIncolla il seguente file di servizio per NodeBB. In questo esempio, eseguirai il servizio nodebb come utente 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.targetSalva il file ed esci dall’editor quando hai finito.
Ora esegui il comando systemctl qui sotto per ricaricare il gestore systemd e applicare le tue modifiche.
sudo systemctl daemon-reloadDopo di che, avvia, abilita e verifica il servizio nodebb con il seguente comando.
sudo systemctl enable --now nodebb
sudo systemctl status nodebbPuoi vedere qui sotto che il servizio nodebb è in esecuzione in background come servizio systemd.

Configurazione di Nginx come reverse proxy
In questo tutorial, utilizzerai il server web Nginx come reverse proxy per NodeBB. Quindi ora installerai Nginx e creerai un nuovo blocco server per il reverse proxy. Assicurati di avere il tuo nome di dominio puntato all’indirizzo IP del server.
Installa il server web Nginx sul tuo sistema con il seguente comando apt install.
sudo apt install nginx -y
Una volta completata l’installazione, crea una nuova configurazione del blocco server /etc/nginx/sites-available/nodebb con l’editor nano.
sudo nano /etc/nginx/sites-available/nodebbInserisci la seguente configurazione e assicurati di cambiare forum.howtoforge.local con il tuo nome di dominio. Con questo, configurerai un reverse proxy per NodeBB che gira in background sulla porta 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;
# Supporto Socket.IO
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}Salva il file ed esci dall’editor.
Ora esegui il comando qui sotto per attivare il file del blocco server nodebb e verificare la tua configurazione Nginx. Se sei corretto e hai una configurazione Nginx adeguata, vedrai un output syntax is ok - test is successful.
sudo ln -s /etc/nginx/sites-available/nodebb /etc/nginx/sites-enabled/
sudo nginx -t
Infine, esegui il comando systemctl qui sotto per riavviare il servizio Nginx e applicare le tue modifiche. Poi, controlla lo stato del servizio Nginx per assicurarti che sia in esecuzione.
sudo systemctl restart nginx
sudo systemctl status nginxCome puoi vedere nell’output qui sotto, il servizio Nginx è in esecuzione.

Proteggere NodeBB con HTTPS
In questa sezione, proteggerai NodeBB con HTTPS tramite Certbot e Letsencrypt. Combinato con Certbot e Nginx, puoi impostare HTTPS automatico sul tuo server web.
Installa i pacchetti certbot e python3-certbot-nginx con il seguente comando:
sudo apt install certbot python3-certbot-nginx -yOra esegui il comando certbot qui sotto per generare certificati SSL e proteggere la tua installazione di NodeBB con HTTPS. Assicurati di cambiare l’indirizzo email e il nome di dominio con le tue informazioni.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d forum.howtoforge.localDopo che il processo è completato, vedrai i tuoi certificati nella directory /etc/letsencrypt/live/domain.com. E la tua installazione di NodeBB sarà protetta automaticamente con HTTPS.
Accesso a NodeBB
Apri il tuo nome di dominio NodeBB come https://forum.howtoforge.local utilizzando il tuo browser web. Se l’installazione è riuscita, vedrai la home page predefinita per NodeBB come segue:

Clicca sul link Login e ti verrà presentata la pagina di accesso di NodeBB. Quindi, inserisci il tuo utente admin e la password, e clicca su Login per confermare. Se hai le credenziali corrette, vedrai il seguente pannello di controllo admin.

Nelle impostazioni admin di NodeBB, vedrai quanto segue:

Conclusione
Congratulazioni! Hai installato il software per forum open-source NodeBB su un server Ubuntu 24.04. Hai NodeBB attivo e funzionante con MongoDB come database e Nginx come reverse proxy. Hai anche protetto NodeBB con HTTPS tramite Certbot e Letsencrypt. Ora puoi aggiungere un server SMTP per impostare la registrazione e la conferma tramite link email.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.