Installazione NetBox · 7 min read · Sep 12, 2025
Come installare NetBox IRM (Infrastructure Resource Modelling Tool) su Ubuntu 24.04 Server

NetBox è uno strumento di modellazione delle risorse infrastrutturali (IRM) progettato per l’automazione della rete e l’ingegneria delle infrastrutture. Inizialmente, è stato creato dal team di DigitalOcean ed è ora diventato un progetto open-source rilasciato sotto la Licenza Apache 2.
NetBox è stato creato nel framework web Python Django con PostgreSQL come database predefinito, e l’installazione di NetBox è abbastanza simile ad altre applicazioni web Python Django.
Questo tutorial ti mostrerà come installare Netbox IRM sul server Ubuntu 24.04 con PostgreSQL come database e Apache come reverse proxy. Sicurezza di Netbox con HTTPS tramite Certbot e Letsencrypt.
Prerequisiti
Prima di procedere, assicurati di avere quanto segue:
- Un server Ubuntu 24.04
- Un utente non root con privilegi di amministratore
- Un nome di dominio puntato all’indirizzo IP del server
Installazione delle dipendenze
Per installare Netbox, devi assicurarti che le dipendenze siano installate sul tuo server Ubuntu. Questo include Python3, server PostgreSQL, server web Apache, Redis e librerie di sistema. In questa sezione, installerai quei pacchetti con il gestore di pacchetti APT.
Per prima cosa, esegui il seguente comando per aggiornare l’indice dei pacchetti di Ubuntu.
sudo apt updateUna volta aggiornato, installa le dipendenze per Netbox con il seguente comando. In questo esempio, installerai PostgreSQL, Apache, Python, Redis, Certbot, dipendenze di build e alcune librerie.
sudo apt install apache2 postgresql postgresql-common libpq-dev redis-server git certbot python3 python3-pip python3-venv python3-dev build-essential libxml2-dev libxslt1-dev libffi-dev libssl-dev zlib1g-devInserisci ‘ Y ‘ per confermare l’installazione.

Dopo che l’installazione è terminata, esegui il comando ‘systemctl’ qui sotto per verificare lo stato del server web Apache.
sudo systemctl is-enabled apache2
sudo systemctl status apache2Nell’output seguente, puoi vedere che Apache è in esecuzione e abilitato.

Infine, controlla lo stato del server PostgreSQL con il seguente:
sudo systemctl is-enabled postgresql
sudo systemctl status postgresqlNell’output qui sotto, puoi vedere che PostgreSQL è abilitato e in esecuzione con lo stato uscito (il systemd non riesce a trovare il servizio da monitorare).

Configurazione di PostgreSQL
Dopo che le dipendenze sono state installate, devi configurare il server PostgreSQL creando un nuovo utente e un database che Netbox utilizzerà.
Accedi al server PostgreSQL utilizzando il comando qui sotto.
sudo -u postgres psqlOra esegui le seguenti query per creare un nuovo utente ‘ netbox ‘ con la password ‘ netboxpassword ‘ e il nuovo database ‘ netboxdb ‘.
CREATE USER netbox LOGIN CREATEDB PASSWORD 'netboxpassword';
CREATE DATABASE netboxdb OWNER netbox;Una volta creati il database e l’utente, verifica l’elenco dei database e degli utenti su PostgreSQL con il seguente.
\l
\duPuoi vedere qui sotto che il database ‘ netboxdb ‘ e l’utente ‘ netbox ‘ sono stati creati.
Digita ‘ quit ‘ per uscire dal server PostgreSQL.


Scaricare e configurare Netbox
Ora che il database PostgreSQL è pronto, scaricherai e installerai Netbox sulla tua macchina Ubuntu. Configurerai il nome di dominio, la chiave segreta e il database per Netbox.
Per prima cosa, esegui il comando qui sotto per creare un nuovo utente ‘netbox’ sulla tua macchina Ubuntu.
sudo useradd -r -d /opt/netbox -s /usr/sbin/nologin netboxOra esegui il comando qui sotto per scaricare il codice sorgente di Netbox con il comando ‘ git ‘, e cambia la proprietà all’utente ‘ netbox ‘.
sudo git clone -b master --depth 1 https://github.com/netbox-community/netbox.git /opt/netbox
sudo chown -R netbox:netbox /opt/netboxSpostati nella directory ‘ /opt/netbox/netbox/netbox ‘ ed esegui il file ‘ generate_secret_key.py ‘. Copia la chiave segreta nel tuo appunto.
cd /opt/netbox/netbox/netbox
sudo -u netbox python3 ../generate_secret_key.pySuccessivamente, copia il file ‘ configuration.py ‘ e modificalo utilizzando l’editor ‘ nano ‘.
sudo -u netbox cp configuration_example.py configuration.py
sudo -u netbox nano configuration.pyAggiungi il tuo indirizzo IP locale e il nome di dominio a ‘ ALLOWED_HOSTS ‘.
ALLOWED_HOSTS = ['netbox.howtoforge.local', '192.168.10.60']Inserisci il nome del tuo database PostgreSQL, l’utente e la password nella sezione ‘ DATABASE ‘.
# configurazione del database
DATABASE = {
'NAME': 'netboxdb', # Nome del database
'USER': 'netbox', # Nome utente PostgreSQL
'PASSWORD': 'netboxpassword', # Password PostgreSQL
'HOST': 'localhost', # Server del database
'PORT': '', # Porta del database (lascia vuoto per predefinito)
'CONN_MAX_AGE': 300, # Età massima della connessione al database (secondi)
}Incolla la tua chiave segreta nella sezione ‘ SECRET_KEY ‘.
SECRET_KEY = '98%D9uh8S%)T0QhQ@Z3zYf%Hik^CqWJ)Uwz%0J7TZUztmNiitG'Salva il file ed esci dall’editor quando hai finito.
Migrazione di Netbox e configurazione dell’amministratore
Ora che hai configurato Netbox con il server PostgreSQL, sei pronto per migrare il database e creare un utente amministratore per l’installazione di Netbox.
Esegui lo script ‘ upgrade.sh ‘ utilizzando il comando qui sotto. Questo creerà un ambiente Python, installerà le dipendenze per Netbox, migrerà il database di Netbox, si connetterà a Redis e poi genererà file statici.
sudo -u netbox /opt/netbox/upgrade.sh
Qui sotto puoi vedere la migrazione del database per Netbox.

E qui sotto quando ‘ manage.py ‘ genera file statici.
Dopo che il processo è terminato, devi creare un nuovo utente admin per Netbox tramite lo script ‘ manage.py ‘.

Esegui il seguente comando per attivare l’ambiente virtuale di Netbox. Una volta attivato, il tuo shell diventerà come ‘ (venv) user@hostname ‘.
source /opt/netbox/venv/bin/activateVai alla directory ‘ /opt/netbox/netbox ‘ ed esegui lo script ‘ manage.py ‘ come segue:
cd /opt/netbox/netbox
python3 manage.py createsuperuserInserisci il tuo nome utente, indirizzo email e password per l’amministratore di Netbox.

Una volta completato, esegui il comando ‘ deactivate ‘ per uscire dall’ambiente virtuale di Netbox.
Esecuzione di Netbox come servizio
In questa sezione, copierai le configurazioni di Netbox che verranno utilizzate per eseguire Netbox come servizio systemd. Devi assicurarti che Netbox venga eseguito sotto Gunicorn, e poi copiare i file di servizio di Netbox nella directory ‘ /etc/systemd/system ‘.
Per prima cosa, copia lo script ‘ gunicorn.py ‘ nella directory ‘ /opt/netbox ‘. Questo script contiene la configurazione per Netbox per essere eseguito sotto il server Python WSGI.
sudo -u netbox cp /opt/netbox/contrib/gunicorn.py /opt/netbox/gunicorn.pyOra esegui il comando qui sotto per copiare i file di servizio per Netbox nella directory ‘ /etc/systemd/system ‘ e ricarica il gestore systemd.
sudo cp -v /opt/netbox/contrib/*.service /etc/systemd/system/
sudo systemctl daemon-reloadUna volta ricaricato systemd, esegui il comando ‘ systemctl ‘ qui sotto per avviare e abilitare i servizi di Netbox.
sudo systemctl enable --now netbox netbox-rq netbox-housekeepingInfine, verifica i servizi di Netbox per assicurarti che sia in esecuzione con il seguente comando.
sudo systemctl status netbox netbox-rq netbox-housekeepingNell’output seguente, puoi vedere che il servizio ‘ netbox ‘ è in esecuzione e abilitato.

Per il servizio ‘ netbox-rq ‘, dovresti ottenere un output come questo:

Infine, il ‘ netbox-housekeeping ‘ con lo stato ‘ dead ‘ perché verrà eseguito come un timer.

Configurazione di Apache come reverse proxy
A questo punto, Netbox è in esecuzione in background come servizio sotto il server Python WSGI. Per renderlo accessibile dall’esterno, devi configurare Apache come reverse proxy. Prima di ciò, devi anche generare certificati SSL per garantire l’installazione di Netbox.
Per prima cosa, esegui il comando qui sotto per fermare il servizio ‘ apache2 ‘.
sudo systemctl stop apache2Ora genera certificati SSL da Letsencrypt con il comando ‘ certbot ‘ qui sotto. Assicurati di cambiare il nome di dominio e l’indirizzo email con le tue informazioni.
sudo certbot certonly --standalone --preferred-challenges http -d netbox.howtoforge.localDopo che il processo è terminato, i tuoi certificati SSL saranno disponibili nella directory ‘ /etc/letsencrypt/live/domain.com ‘.
Successivamente, copia la configurazione di Apache per Netbox nel file ‘ /etc/apache2/sites-available/netbox.conf ‘ e modificalo utilizzando l’editor ‘ nano ‘.
sudo cp /opt/netbox/contrib/apache.conf /etc/apache2/sites-available/netbox.conf
sudo nano /etc/apache2/sites-available/netbox.confSostituisci il nome di dominio all’interno dell’opzione ‘ ServerName ‘ e cambia il percorso dei tuoi certificati SSL.
# CAMBIA QUESTO CON IL NOME DEL TUO SERVER
ServerName netbox.howtoforge.local
...
ProxyPreserveHost On
# CAMBIA QUESTO CON IL NOME DEL TUO SERVER
ServerName netbox.howtoforge.local
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/netbox.howtoforge.local/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/netbox.howtoforge.local/privkey.pem
...
Salva il file ed esci dall’editor quando hai finito.
Ora esegui il comando qui sotto per attivare i moduli Apache e il file del virtual host ‘ netbox.conf ‘.
sudo a2enmod ssl proxy proxy_http headers rewrite
sudo a2ensite netbox.confDopo che il virtual host è attivato, esegui il seguente comando per riavviare Apache e applicare le tue modifiche. Con questo, la tua installazione di Netbox dovrebbe essere in esecuzione sotto il reverse proxy Apache con HTTPS abilitato.
sudo systemctl restart apache2Infine, visita https://netbox.howtoforge.local/ con il tuo browser web e verrai reindirizzato alla pagina di accesso di Netbox. Inserisci il tuo nome utente e password admin, quindi fai clic su Accedi.

Vedrai il seguente cruscotto di Netbox se hai le corrette credenziali di amministratore.

Fai clic sul menu Admin > System per vedere informazioni sulla tua installazione di Netbox. Nell’output seguente, puoi vedere che Netbox v4.1.7 è installato con il database PostgreSQL.

Conclusione
Congratulazioni! Hai completato l’installazione di Netbox IRM sul server Ubuntu 24.04. Hai Netbox in esecuzione con PostgreSQL come server di database e Apache come reverse proxy. Hai anche protetto Netbox con HTTPS tramite Certbot.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.