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 update

Una 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-dev

Inserisci ‘ Y ‘ per confermare l’installazione.

install deps

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 apache2

Nell’output seguente, puoi vedere che Apache è in esecuzione e abilitato.

check apache2

Infine, controlla lo stato del server PostgreSQL con il seguente:

sudo systemctl is-enabled postgresql  
sudo systemctl status postgresql

Nell’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).

check service postgresql

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 psql

Ora 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  
\du

Puoi vedere qui sotto che il database ‘ netboxdb ‘ e l’utente ‘ netbox ‘ sono stati creati.

Digita ‘ quit ‘ per uscire dal server PostgreSQL.

list databases

list users

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 netbox

Ora 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/netbox

Spostati 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.py

Successivamente, 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.py

Aggiungi 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

netbox configure

Qui sotto puoi vedere la migrazione del database per Netbox.

migrate

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

static files

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

Vai alla directory ‘ /opt/netbox/netbox ‘ ed esegui lo script ‘ manage.py ‘ come segue:

cd /opt/netbox/netbox  
python3 manage.py createsuperuser

Inserisci il tuo nome utente, indirizzo email e password per l’amministratore di Netbox.

create admin

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

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

Una 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-housekeeping

Infine, verifica i servizi di Netbox per assicurarti che sia in esecuzione con il seguente comando.

sudo systemctl status netbox netbox-rq netbox-housekeeping

Nell’output seguente, puoi vedere che il servizio ‘ netbox ‘ è in esecuzione e abilitato.

netbox

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

netbox-rq

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

netbox-housekeeping

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 apache2

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

Dopo 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.conf

Sostituisci 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.conf

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

Infine, 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.

login

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

dashboard

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.

dashboard

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.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.