Installation NetBox · 8 min read · Sep 12, 2025

Comment installer NetBox IRM (Outil de modélisation des ressources d'infrastructure) sur le serveur Ubuntu 24.04

NetBox est un outil de modélisation des ressources d’infrastructure (IRM) conçu pour l’automatisation des réseaux et l’ingénierie des infrastructures. Initialement, il a été créé par l’équipe de DigitalOcean, et est maintenant devenu un projet open-source publié sous la licence Apache 2.

NetBox a été créé dans le framework Web Python Django avec PostgreSQL comme base de données par défaut, et l’installation de NetBox est assez similaire à d’autres applications Web Python Django.

Ce tutoriel vous montrera comment installer Netbox IRM sur le serveur Ubuntu 24.04 avec PostgreSQL comme base de données et Apache comme proxy inverse. Vous sécuriserez également Netbox avec HTTPS via Certbot et Letsencrypt.

Prérequis

Avant de continuer, assurez-vous d’avoir les éléments suivants :

  • Un serveur Ubuntu 24.04
  • Un utilisateur non-root avec des privilèges d’administrateur
  • Un nom de domaine pointant vers l’adresse IP du serveur

Installation des dépendances

Pour installer Netbox, vous devez vous assurer que les dépendances sont installées sur votre serveur Ubuntu. Cela inclut Python3, le serveur PostgreSQL, le serveur Web Apache, Redis et les bibliothèques système. Dans cette section, vous installerez ces paquets avec le gestionnaire de paquets APT.

Tout d’abord, exécutez la commande suivante pour mettre à jour l’index des paquets Ubuntu.

sudo apt update

Une fois mis à jour, installez les dépendances pour Netbox avec la commande suivante. Dans cet exemple, vous installerez PostgreSQL, Apache, Python, Redis, Certbot, les dépendances de construction et quelques bibliothèques.

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

Entrez ‘ Y ‘ pour confirmer l’installation.

install deps

Après l’installation, exécutez la commande ‘systemctl’ ci-dessous pour vérifier l’état du serveur Web Apache.

sudo systemctl is-enabled apache2  
sudo systemctl status apache2

Dans la sortie suivante, vous pouvez voir qu’Apache est en cours d’exécution et activé.

check apache2

Enfin, vérifiez l’état du serveur PostgreSQL avec ce qui suit :

sudo systemctl is-enabled postgresql  
sudo systemctl status postgresql

Dans la sortie ci-dessous, vous pouvez voir que PostgreSQL est activé et en cours d’exécution avec le statut sorti (le systemd ne peut pas trouver le service à surveiller).

check service postgresql

Configuration de PostgreSQL

Après l’installation des dépendances, vous devez configurer le serveur PostgreSQL en créant un nouvel utilisateur et une nouvelle base de données que Netbox utilisera.

Connectez-vous au serveur PostgreSQL en utilisant la commande ci-dessous.

sudo -u postgres psql

Maintenant, exécutez les requêtes suivantes pour créer un nouvel utilisateur ‘ netbox ‘ avec le mot de passe ‘ netboxpassword ‘ et la nouvelle base de données ‘ netboxdb ‘.

CREATE USER netbox LOGIN CREATEDB PASSWORD 'netboxpassword';  
CREATE DATABASE netboxdb OWNER netbox;

Une fois la base de données et l’utilisateur créés, vérifiez la liste des bases de données et des utilisateurs sur PostgreSQL avec ce qui suit.

\l  
\du

Vous pouvez voir ci-dessous que la base de données ‘ netboxdb ‘ et l’utilisateur ‘ netbox ‘ sont créés.

Tapez ‘ quit ‘ pour quitter le serveur PostgreSQL.

list databases

list users

Téléchargement et configuration de Netbox

Maintenant que la base de données PostgreSQL est prête, vous allez télécharger et installer Netbox sur votre machine Ubuntu. Vous allez configurer le nom de domaine, la clé secrète et la base de données pour Netbox.

Tout d’abord, exécutez la commande ci-dessous pour créer un nouvel utilisateur ‘netbox’ sur votre machine Ubuntu.

sudo useradd -r -d /opt/netbox -s /usr/sbin/nologin netbox

Maintenant, exécutez la commande ci-dessous pour télécharger le code source de Netbox avec la commande ‘ git ‘, et changez la propriété à l’utilisateur ‘ netbox ‘.

sudo git clone -b master --depth 1 https://github.com/netbox-community/netbox.git /opt/netbox  
sudo chown -R netbox:netbox /opt/netbox

Déplacez-vous dans le répertoire ‘ /opt/netbox/netbox/netbox ‘ et exécutez le fichier ‘ generate_secret_key.py ‘. Copiez la clé secrète dans vos notes.

cd /opt/netbox/netbox/netbox  
sudo -u netbox python3 ../generate_secret_key.py

Ensuite, copiez le fichier ‘ configuration.py ‘ et modifiez-le en utilisant l’éditeur ‘ nano ‘.

sudo -u netbox cp configuration_example.py configuration.py  
sudo -u netbox nano configuration.py

Ajoutez votre adresse IP locale et votre nom de domaine à ‘ ALLOWED_HOSTS ‘.

ALLOWED_HOSTS = ['netbox.howtoforge.local', '192.168.10.60']

Entrez le nom de votre base de données PostgreSQL, l’utilisateur et le mot de passe dans la section ‘ DATABASE ‘.

# configuration de la base de données  
DATABASE = {  
'NAME': 'netboxdb', # Nom de la base de données  
'USER': 'netbox', # Nom d'utilisateur PostgreSQL  
'PASSWORD': 'netboxpassword', # Mot de passe PostgreSQL  
'HOST': 'localhost', # Serveur de base de données  
'PORT': '', # Port de la base de données (laisser vide pour par défaut)  
'CONN_MAX_AGE': 300, # Âge maximum de la connexion à la base de données (secondes)  
}

Collez votre clé secrète dans la section ‘ SECRET_KEY ‘.

SECRET_KEY = '98%D9uh8S%)T0QhQ@Z3zYf%Hik^CqWJ)Uwz%0J7TZUztmNiitG'

Enregistrez le fichier et quittez l’éditeur une fois terminé.

Migration de Netbox et configuration de l’administrateur

Maintenant que vous avez configuré Netbox avec le serveur PostgreSQL, vous êtes prêt à migrer la base de données et à créer un utilisateur administrateur pour l’installation de Netbox.

Exécutez le script ‘ upgrade.sh ‘ en utilisant la commande ci-dessous. Cela créera un environnement Python, installera les dépendances pour Netbox, migrera la base de données Netbox, se connectera à Redis, puis générera des fichiers statiques.

sudo -u netbox /opt/netbox/upgrade.sh

netbox configure

Ci-dessous, vous pouvez voir la migration de la base de données pour Netbox.

migrate

Et ci-dessous lorsque ‘ manage.py ‘ génère des fichiers statiques.

Après que le processus soit terminé, vous devez créer un nouvel utilisateur administrateur pour Netbox via le script ‘ manage.py ‘.

static files

Exécutez la commande suivante pour activer l’environnement virtuel de Netbox. Une fois activé, votre shell deviendra tel que ‘ (venv) user@hostname ‘.

source /opt/netbox/venv/bin/activate

Allez dans le répertoire ‘ /opt/netbox/netbox ‘ et exécutez le script ‘ manage.py ‘ comme suit :

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

Entrez votre nom d’utilisateur, votre adresse e-mail et votre mot de passe pour l’administrateur Netbox.

create admin

Une fois terminé, exécutez la commande ‘ deactivate ‘ pour quitter l’environnement virtuel de Netbox.

Exécution de Netbox en tant que service

Dans cette section, vous allez copier les configurations de Netbox qui seront utilisées pour exécuter Netbox en tant que service systemd. Vous devez vous assurer que Netbox fonctionne sous Gunicorn, puis copier les fichiers de service Netbox dans le répertoire ‘ /etc/systemd/system ‘.

Tout d’abord, copiez le script ‘ gunicorn.py ‘ dans le répertoire ‘ /opt/netbox ‘. Ce script contient la configuration pour que Netbox fonctionne sous le serveur WSGI Python.

sudo -u netbox cp /opt/netbox/contrib/gunicorn.py /opt/netbox/gunicorn.py

Maintenant, exécutez la commande ci-dessous pour copier les fichiers de service pour Netbox dans le répertoire ‘ /etc/systemd/system ‘ et recharger le gestionnaire systemd.

sudo cp -v /opt/netbox/contrib/*.service /etc/systemd/system/  
sudo systemctl daemon-reload

Une fois systemd rechargé, exécutez la commande ‘ systemctl ‘ ci-dessous pour démarrer et activer les services Netbox.

sudo systemctl enable --now netbox netbox-rq netbox-housekeeping

Enfin, vérifiez les services Netbox pour vous assurer qu’ils fonctionnent avec la commande suivante.

sudo systemctl status netbox netbox-rq netbox-housekeeping

Dans la sortie suivante, vous pouvez voir que le service ‘ netbox ‘ est en cours d’exécution et activé.

netbox

Pour le service ‘ netbox-rq ‘, vous devriez obtenir une sortie comme celle-ci :

netbox-rq

Enfin, le ‘ netbox-housekeeping ‘ avec le statut ‘ dead ‘ car il fonctionnera en tant que minuteur.

netbox-housekeeping

Configuration d’Apache en tant que proxy inverse

À ce stade, Netbox fonctionne en arrière-plan en tant que service sous le serveur WSGI Python. Pour le rendre accessible de l’extérieur, vous devez configurer Apache en tant que proxy inverse. Avant cela, vous devez également générer des certificats SSL pour sécuriser l’installation de Netbox.

Tout d’abord, exécutez la commande ci-dessous pour arrêter le service ‘ apache2 ‘.

sudo systemctl stop apache2

Maintenant, générez des certificats SSL à partir de Letsencrypt avec la commande ‘ certbot ‘ ci-dessous. Assurez-vous de changer le nom de domaine et l’adresse e-mail avec vos informations.

sudo certbot certonly --standalone --preferred-challenges http -d netbox.howtoforge.local

Après que le processus soit terminé, vos certificats SSL seront disponibles dans le répertoire ‘ /etc/letsencrypt/live/domain.com ‘.

Ensuite, copiez la configuration Apache pour Netbox dans le fichier ‘ /etc/apache2/sites-available/netbox.conf ‘ et modifiez-le en utilisant l’éditeur ‘ nano ‘.

sudo cp /opt/netbox/contrib/apache.conf /etc/apache2/sites-available/netbox.conf  
sudo nano /etc/apache2/sites-available/netbox.conf

Remplacez le nom de domaine dans l’option ‘ ServerName ‘ et changez le chemin de vos certificats SSL.

  
# CHANGEZ CECI EN LE NOM DE VOTRE SERVEUR  
ServerName netbox.howtoforge.local  
  
...  
  
  
  
ProxyPreserveHost On  
  
# CHANGEZ CECI EN LE NOM DE VOTRE SERVEUR  
ServerName netbox.howtoforge.local  
  
SSLEngine on  
SSLCertificateFile /etc/letsencrypt/live/netbox.howtoforge.local/fullchain.pem  
SSLCertificateKeyFile /etc/letsencrypt/live/netbox.howtoforge.local/privkey.pem  
...  

Enregistrez le fichier et quittez l’éditeur une fois terminé.

Maintenant, exécutez la commande ci-dessous pour activer les modules Apache et le fichier d’hôte virtuel ‘ netbox.conf ‘.

sudo a2enmod ssl proxy proxy_http headers rewrite  
sudo a2ensite netbox.conf

Après que l’hôte virtuel soit activé, exécutez la commande suivante pour redémarrer Apache et appliquer vos modifications. Avec cela, votre installation de Netbox devrait fonctionner sous le proxy inverse Apache avec HTTPS activé.

sudo systemctl restart apache2

Enfin, visitez https://netbox.howtoforge.local/ avec votre navigateur Web et vous serez redirigé vers la page de connexion de Netbox. Entrez votre nom d’utilisateur et votre mot de passe administrateur, puis cliquez sur Se connecter.

login

Vous verrez le tableau de bord Netbox suivant si vous avez des identifiants administratifs appropriés.

dashboard

Cliquez sur le menu Admin > Système pour voir des informations sur votre installation de Netbox. Dans la sortie suivante, vous pouvez voir que Netbox v4.1.7 est installé avec la base de données PostgreSQL.

dashboard

Conclusion

Félicitations ! Vous avez terminé l’installation de Netbox IRM sur le serveur Ubuntu 24.04. Vous avez Netbox opérationnel avec PostgreSQL comme serveur de base de données et Apache comme proxy inverse. Vous avez également sécurisé Netbox avec HTTPS via Certbot.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.