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

install 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  
–dearmor
echo “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

add mongodb repo

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

install mongodb

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-reload

Ora 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 mongod

Come puoi vedere qui sotto, il servizio mongod è abilitato e in esecuzione.

check mongod service

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.

mongosh

Nella 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()

create mongodb user and database

Successivamente, apri la configurazione predefinita di MongoDB /etc/mongod.conf con il seguente editor nano.

sudo nano /etc/mongod.conf

Decommenta l’opzione security e cambia l’authorization in enabled. Questo abiliterà l’autenticazione sul tuo server MongoDB.

security:  
  authorization: enabled

Quando 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 mongod

Esegui 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 nodebb

Ora 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.

check users

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

install nodejs

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 --version

Ora 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 nodebb

Esegui 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

add user and download 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” nodebb

Ti 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.

setup complete

Per eseguire NodeBB dalla riga di comando, esegui il seguente comando di avvio di nodebb:

sudo su -s /bin/bash -c "./nodebb start" nodebb

Per fermare il processo di NodeBB, utilizza il comando di arresto di nodebb qui sotto.

sudo su -s /bin/bash -c "./nodebb stop" nodebb

start and 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.service

Incolla 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.target

Salva 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-reload

Dopo di che, avvia, abilita e verifica il servizio nodebb con il seguente comando.

sudo systemctl enable --now nodebb  
sudo systemctl status nodebb

Puoi vedere qui sotto che il servizio nodebb è in esecuzione in background come servizio systemd.

nodebb service

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

install nginx

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/nodebb

Inserisci 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

setup nginx

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 nginx

Come puoi vedere nell’output qui sotto, il servizio Nginx è in esecuzione.

check nginx

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 -y

Ora 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.local

Dopo 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:

homepage

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.

login

Nelle impostazioni admin di NodeBB, vedrai quanto segue:

admin settings

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.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.