Installazione software · 11 min read · Oct 31, 2025
Come installare NetBox IRM su Debian 12

NetBox è un Modello di 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.
In questa guida, ti mostreremo come installare il software NetBox IRM su un server Debian 12 passo dopo passo. Ti mostreremo l’installazione di NetBox con PostgreSQL come server database e Apache2 come server web utilizzato come reverse proxy. Inoltre, proteggerai la tua installazione di NetBox con certificati SSl/TLS.
Prerequisiti
Prima di procedere, assicurati di avere quanto segue:
- Un server Debian 12.
- Un utente non root con privilegi di amministratore.
- Un nome di dominio pubblico o locale puntato all’indirizzo IP del server.
Installazione delle dipendenze
NetBox è un’applicazione web basata sul framework web Python Django. Può essere installato con il server database PostgreSQL e il server Redis per la gestione della cache.
Nel passaggio seguente, installerai quelle dipendenze di cui NetBox ha bisogno, installerai anche il server web Apache2 che sarà utilizzato come reverse proxy per la tua installazione di NetBox.
Per iniziare, esegui il seguente comando apt per aggiornare il tuo repository Debian.
sudo apt update
Quindi, installa le dipendenze dei pacchetti per la tua installazione di NetBox IRM.
sudo apt install apache2 postgresql postgresql-common libpq-dev redis-server git python3 python3-pip python3-venv python3-dev build-essential libxml2-dev libxslt1-dev libffi-dev libssl-dev zlib1g-devDigita y per procedere con l’installazione delle dipendenze come il server web Apache2, il server database PostgreSQL, Redis, Git, i pacchetti Python3 e alcune librerie di sistema aggiuntive.

Dopo che le dipendenze sono state installate, verifica ciascuna dipendenza eseguendo il comando qui sotto.
Verifica il servizio apache2 per assicurarti che il servizio sia abilitato e in esecuzione.
sudo systemctl is-enabled apache2
sudo systemctl status apache2Se apache2 è in esecuzione e abilitato, dovresti ottenere un output simile al seguente:

Verifica il servizio PostgreSQL per assicurarti che il servizio sia in esecuzione e abilitato.
sudo systemctl is-enabled postgresql
sudo systemctl status postgresqlIl servizio PostgreSQL dovrebbe essere in esecuzione e abilitato in questo modo:

Ora verifica il servizio Redis per assicurarti che il servizio sia in esecuzione e abilitato.
sudo systemctl is-enabled redis
sudo systemctl status redisIl servizio Redis dovrebbe essere in esecuzione e abilitato come segue

Infine, verifica la versione di Python utilizzando il comando qui sotto. L’ultima versione di NetBox IRM supporta Python v3.9, 3.10 e 3.11.
python3 --versionDovresti vedere Python 3.11 installato sulla tua macchina Debian.
Configurazione del server PostgreSQL
Dopo aver installato le dipendenze, creerai un nuovo database PostgreSQL e un utente che NetBox utilizzerà. Per fare ciò, devi accedere al server PostgreSQL tramite la riga di comando psql.
Accedi al server PostgreSQL eseguendo il comando qui sotto.
sudo -u postgres psqlEsegui le seguenti query per creare un nuovo utente netbox con password p4ssw0rd. Quindi, crea un nuovo database netboxdb con il proprietario netbox.
CREATE USER netbox LOGIN CREATEDB PASSWORD 'p4ssw0rd';
CREATE DATABASE netboxdb OWNER netbox;
Dopo di che, verifica l’elenco degli utenti e dei database sul tuo PostgreSQL eseguendo il comando qui sotto.
\l
\duDovresti vedere il database netboxdb e l’utente netbox creati sul tuo server PostgreSQL.

Digita quit per uscire dal server PostgreSQL.
Successivamente, accedi a PostgreSQL utilizzando il nuovo utente netbox al database netboxdb. Questo garantirà che l’utente netbox possa connettersi al database netboxdb.
sudo -u postgres psql --username netbox --password --host localhost netboxdbUna volta connesso, verifica la tua connessione utilizzando la seguente query.
\conninfoNell’output seguente, dovresti vedere che ti sei connesso al database netboxdb tramite l’utente netbox.

Digita di nuovo quit per uscire dal tuo server PostgreSQL.
Configurazione del server Redis
Con il database PostgreSQL e l’utente creati, il passaggio successivo è configurare il tuo server Redis che sarà utilizzato come gestione della cache per NetBox. Per fare ciò, modificherai la configurazione di Redis /etc/redis/redis.conf e verificherai le tue modifiche tramite redis-cli.
Apri la configurazione predefinita di Redis /etc/redis/redis.conf utilizzando il seguente comando dell’editor nano.
sudo nano /etc/redis/redis.confDecommenta l’opzione requirepass e inserisci la tua password che sarà utilizzata per proteggere il tuo server Redis.
requirepass p4ssw0rdNetBoxQuando hai finito, salva e esci dal file.
Ora esegui il seguente comando systemctl per riavviare il servizio redis e applicare le modifiche che hai effettuato.
sudo systemctl restart redisPer assicurarti che tutto funzioni, puoi verificare Redis tramite redis-cli. Accedi al tuo server Redis utilizzando il comando redis-cli qui sotto.
redis-cliAutenticati al server Redis utilizzando la seguente query AUTH e assicurati di cambiare la password.
AUTH p4ssw0rdNetBoxUna volta autenticato, dovresti ottenere l’output OK.
Ora esegui la query PING qui sotto per assicurarti che la tua connessione sia riuscita.
PINGSe ha successo, dovresti ottenere l’output PONG dal server Redis.

Installazione di NetBox IRM
Nella sezione seguente, scaricherai e installerai NetBox IRM sul tuo sistema. Scaricherai il codice sorgente di NetBox tramite Git, quindi lo configurerai modificando la configurazione di NetBox, aggiungendo il server database PostgreSQL e Redis, e poi creerai anche un utente amministratore per NetBox.
Per prima cosa, esegui il comando qui sotto per creare un nuovo utente systemd netbox che sarà utilizzato per eseguire l’installazione di NetBox.
sudo useradd -r -d /opt/netbox -s /usr/sbin/nologin netboxScarica il codice sorgente di NetBox IRM tramite git e cambia la proprietà della directory /opt/netbox all’utente netbox.
cd /opt; sudo git clone -b master --depth 1 https://github.com/netbox-community/netbox.git
sudo chown -R netbox:netbox /opt/netbox
Successivamente, sposta la tua directory di lavoro in /opt/netbox e genera la chiave segreta di NetBox tramite lo script generate_secret_key.py. Assicurati di copiare la chiave segreta generata che sarà utilizzata per la tua installazione di NetBox.
cd /opt/netbox/netbox/netbox
sudo -u netbox python3 ../generate_secret_key.pyCopia la configurazione predefinita configuration_example.py in configuration.py, quindi apri il nuovo file configuration.py utilizzando il seguente comando dell’editor nano.
sudo -u netbox cp configuration_example.py configuration.py
sudo -u netbox nano configuration.pyAll’interno della sezione ALLOWED_HOSTS, aggiungi il tuo nome di dominio o l’indirizzo IP del tuo server.
ALLOWED_HOSTS = ['netbox.howtoforge.local', '192.168.10.15']Inserisci i dettagli del tuo database PostgreSQL nella sezione DATABASE, inclusi il nome del database, l’utente, la password, l’host e la porta.
# configurazione del database
DATABASE = {
'NAME': 'netboxdb', # Nome del database
'USER': 'netbox', # Nome utente PostgreSQL
'PASSWORD': 'p4ssw0rd', # Password PostgreSQL
'HOST': 'localhost', # Server database
'PORT': '', # Porta database (lascia vuoto per predefinito)
'CONN_MAX_AGE': 300, # Massima età della connessione al database (secondi)
}All’interno della sezione REDIS, inserisci i dettagli del tuo server Redis sia per le attività che per le opzioni di caching.
# configurazione della cache Redis
REDIS = {
'tasks': {
'HOST': 'localhost', # Server Redis
'PORT': 6379, # Porta Redis
'PASSWORD': 'p4ssw0rdNetBox', # Password Redis (opzionale)
'DATABASE': 0, # ID database
'SSL': False, # Usa SSL (opzionale)
},
'caching': {
'HOST': 'localhost',
'PORT': 6379,
'PASSWORD': 'p4ssw0rdNetBox',
'DATABASE': 1, # ID unico per il secondo database
'SSL': False,
}
}Infine, inserisci la tua chiave segreta nella sezione SECRET_KEY.
# Chiave segreta
SECRET_KEY = 'ZjYbgz$)j!NnqJcZLR!NB2BCz4(Yyk=o^Xr(1sTIrM)ZyiE%nk'Quando hai finito, salva e esci dal file.
Successivamente, esegui lo script /opt/netbox/upgrade.sh per avviare la tua installazione di NextBox. Questo creerà un nuovo ambiente virtuale Python, installerà alcuni pacchetti e librerie Python, eseguirà la migrazione del database al tuo server PostgreSQL, genererà anche file statici per NextBox.
sudo -u netbox /opt/netbox/upgrade.shDi seguito è riportato l’output simile che otterrai durante il processo.

Il processo di migrazione del database.

Generazione dei file statici.

Di seguito è riportato l’output quando l’installazione è terminata.

Dopo che NetBox è stato configurato, creerai un utente amministratore per NetBox. Per fare ciò, accedi all’ambiente virtuale Python che è stato creato utilizzando il seguente comando.
source /opt/netbox/venv/bin/activateSpostati nella directory /opt/netbox/netbox ed esegui lo script manage.py per creare un utente amministratore di NetBox.
cd /opt/netbox/netbox
python3 manage.py createsuperuserQuando richiesto, inserisci il tuo indirizzo email amministrativo, nome utente e dettagli della password.

Successivamente, esegui di nuovo manage.py per verificare la tua installazione di NetBox. Con questo, eseguirai NetBox sul tuo indirizzo IP locale con la porta 8000.
python3 manage.py runserver 0.0.0.0:8000 --insecure
Apri il tuo browser web e visita l’indirizzo IP del tuo server seguito dalla porta 8000, come http://192.168.10.15:8000/. Se la tua installazione ha avuto successo, dovresti ottenere la pagina indice di NetBox IRM, e da lì, fai clic sul pulsante Login in alto a destra.

Inserisci il tuo utente amministratore e la password che hai creato, quindi fai clic su Sign In.

Se tutto va bene, dovresti ottenere il dashboard di NetBox come segue:

Torna al tuo terminale e premi Ctrl+c per terminare il processo.
Esecuzione di NetBox come servizio Systemd
A questo punto, hai installato NetBox IRM sulla tua macchina Debian. Per renderti più facile gestire NetBox, eseguirai NetBox come servizio systemd, che ti consente di controllare NetBox tramite l’utilità systemctl.
Copia il file /opt/netbox/contrib/gunicorn.py in /opt/netbox/gunicorn.py, quindi apri il file gunicorn.py utilizzando il comando dell’editor nano qui sotto.
sudo -u netbox cp /opt/netbox/contrib/gunicorn.py /opt/netbox/gunicorn.py
sudo -u netbox nano /opt/netbox/gunicorn.pyCambia l’opzione bind in questo modo. Questo eseguirà la tua installazione di NetBox sulla porta 8001 di localhost tramite gunicorn.
bind = '127.0.0.1:8001'Salva e chiudi il file quando hai finito.
Successivamente, copia i file di servizio systemd per NetBox nella directory /etc/systemd/system/. Questo copierà il file di servizio netbox, netbor-rq e netbook-housekeeping nella directory /etc/systemd/system/. Quindi, ricarica il gestore systemd per applicare le nuove modifiche al tuo sistema.
sudo cp -v /opt/netbox/contrib/*.service /etc/systemd/system/
sudo systemctl daemon-reloadOra puoi avviare e abilitare sia il servizio netbox che il servizio netbox-rq utilizzando il comando systemctl qui sotto. Dopo aver eseguito il comando, la tua installazione di NetBox sarà in esecuzione in background come servizio systemd.
sudo systemctl start netbox netbox-rq netbox-housekeeping
sudo systemctl enable netbox netbox-rq netbox-housekeepingInfine, verifica entrambi i servizi netbox e netbox-rq utilizzando il seguente comando.
sudo systemctl status netbox
sudo systemctl status netbox-rqIl seguente output indica che il servizio netbox è in esecuzione e abilitato.

L’output qui sotto conferma che il servizio netbox-rq è in esecuzione e abilitato.

Configurazione di Apache come reverse proxy
Nel passaggio seguente, configurerai Apache2 come reverse proxy. Prima di ciò, assicurati di avere un nome di dominio puntato al tuo indirizzo IP del server, puoi anche utilizzare un nome di dominio locale.
Se stai utilizzando un dominio locale, puoi eseguire il seguente comando openssl per generare certificati SSL. Se stai utilizzando il dominio pubblico, puoi utilizzare Certbot per generare certificati SSL da Letsencrypt.
openssl req -x509 -newkey rsa:4096 -sha256 -days 365 \
-nodes -keyout /etc/ssl/private/netbox.key -out /etc/ssl/certs/netbox.crt -subj "/CN=netbox.howtoforge.local" \
-addext "subjectAltName=DNS:netbox.howtoforge.local,IP:192.168.10.15"Ora copia l’esempio di configurazione del virtual host di Apache per NetBox in /etc/apache2/sites-available/netbox.conf. Quindi, modifica il file /etc/apache2/sites-available/netbox.conf utilizzando il seguente comando dell’editor nano.
sudo cp /opt/netbox/contrib/apache.conf /etc/apache2/sites-available/netbox.conf
sudo nano /etc/apache2/sites-available/netbox.confCambia il nome di dominio con il tuo dominio e cambia il percorso dei certificati SSL/TLS con il percorso del file corretto.
# 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/ssl/certs/netbox.crt
SSLCertificateKeyFile /etc/ssl/private/netbox.key
...
Salva e chiudi il file quando hai finito.
Ora esegui il seguente comando per abilitare alcuni moduli Apache2 necessari per NetBox.
sudo a2enmod ssl proxy proxy_http headers rewriteDopo di che, esegui il seguente comando per attivare il file del virtual host netbox.conf e verifica le tue configurazioni Apache2 per assicurarti di avere una sintassi corretta.
sudo a2ensite netbox.conf
sudo apachectl configtestSe hai una sintassi Apache2 corretta, dovresti ottenere l’output Syntax OK.

Ora esegui il seguente comando per riavviare il servizio Apache2 e applicare le modifiche che hai effettuato.
sudo systemctl restart apache2La tua installazione di NetBox dovrebbe essere accessibile tramite il nome di dominio.
Apri il tuo browser web e visita il nome di dominio della tua installazione di NetBox, come https://netbox.howtoforge.local/. Se tutto va bene, dovresti vedere la pagina indice di NetBox come segue:

Dopo aver effettuato il login, dovresti vedere il dashboard di NetBox IRM in esecuzione con il nome di dominio sotto il reverse proxy Apache2.

Conclusione
In conclusione, hai ora installato NetBox IRM sul server Debian 12 con il server database PostgreSQL e il server web Apache2 utilizzato come reverse proxy. Hai anche protetto la tua installazione di NetBox tramite certificati SSL/TLS.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.