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 updateUne 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-devEntrez ‘ Y ‘ pour confirmer l’installation.

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 apache2Dans la sortie suivante, vous pouvez voir qu’Apache est en cours d’exécution et activé.

Enfin, vérifiez l’état du serveur PostgreSQL avec ce qui suit :
sudo systemctl is-enabled postgresql
sudo systemctl status postgresqlDans 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).

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 psqlMaintenant, 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
\duVous 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.


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 netboxMaintenant, 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/netboxDé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.pyEnsuite, 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.pyAjoutez 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
Ci-dessous, vous pouvez voir la migration de la base de données pour Netbox.

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

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/activateAllez dans le répertoire ‘ /opt/netbox/netbox ‘ et exécutez le script ‘ manage.py ‘ comme suit :
cd /opt/netbox/netbox
python3 manage.py createsuperuserEntrez votre nom d’utilisateur, votre adresse e-mail et votre mot de passe pour l’administrateur Netbox.

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.pyMaintenant, 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-reloadUne 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-housekeepingEnfin, vérifiez les services Netbox pour vous assurer qu’ils fonctionnent avec la commande suivante.
sudo systemctl status netbox netbox-rq netbox-housekeepingDans la sortie suivante, vous pouvez voir que le service ‘ netbox ‘ est en cours d’exécution et activé.

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

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

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 apache2Maintenant, 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.localAprè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.confRemplacez 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.confAprè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 apache2Enfin, 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.

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

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.

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.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.