Installation · 10 min read · Oct 31, 2025
So installieren Sie NetBox IRM auf Debian 12

NetBox ist ein Infrastructure Resource Modelling (IRM), das für die Netzwerkautomatisierung und Infrastrukturtechnik entwickelt wurde. Ursprünglich wurde es vom DigitalOcean-Team erstellt und ist jetzt ein Open-Source-Projekt, das unter der Apache 2-Lizenz veröffentlicht wurde. NetBox wurde im Python Django-Webframework mit PostgreSQL als Standarddatenbank erstellt, und die Installation von NetBox ist ziemlich ähnlich wie bei anderen Python Django-Webanwendungen.
In diesem Leitfaden zeigen wir Ihnen, wie Sie die NetBox IRM-Software Schritt für Schritt auf einem Debian 12-Server installieren. Wir zeigen Ihnen die Installation von NetBox mit PostgreSQL als Datenbankserver und Apache2-Webserver als Reverse-Proxy. Sie werden auch Ihre NetBox-Installation mit SSL/TLS-Zertifikaten sichern.
Voraussetzungen
Bevor Sie fortfahren, stellen Sie sicher, dass Sie Folgendes haben:
- Einen Debian 12-Server.
- Einen Nicht-Root-Benutzer mit Administratorrechten.
- Einen öffentlichen oder lokalen Domainnamen, der auf die Server-IP-Adresse verweist.
Abhängigkeiten installieren
NetBox ist eine Webanwendung, die auf dem Python Django-Webframework basiert. Es kann mit dem PostgreSQL-Datenbankserver und dem Redis-Server zur Cache-Verwaltung installiert werden.
Im folgenden Schritt installieren Sie die Abhängigkeiten, die NetBox benötigt, und installieren auch den Apache2-Webserver, der als Reverse-Proxy für Ihre NetBox-Installation verwendet wird.
Um zu beginnen, führen Sie den folgenden apt-Befehl aus, um Ihr Debian-Repository zu aktualisieren.
sudo apt update
Dann installieren Sie die Paketabhängigkeiten für Ihre NetBox-IRM-Installation.
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-devTippen Sie y, um mit der Installation von Abhängigkeiten wie Apache2-Webserver, PostgreSQL-Datenbankserver, Redis, Git, Python3-Paketen und einigen zusätzlichen Systembibliotheken fortzufahren.

Nachdem die Abhängigkeiten installiert sind, überprüfen Sie jede Abhängigkeit, indem Sie den folgenden Befehl ausführen.
Überprüfen Sie den apache2-Dienst, um sicherzustellen, dass der Dienst aktiviert und läuft.
sudo systemctl is-enabled apache2
sudo systemctl status apache2Wenn apache2 läuft und aktiviert ist, sollten Sie eine Ausgabe wie die folgende erhalten:

Überprüfen Sie den PostgreSQL-Dienst, um sicherzustellen, dass der Dienst läuft und aktiviert ist.
sudo systemctl is-enabled postgresql
sudo systemctl status postgresqlDer PostgreSQL-Dienst sollte wie folgt laufen und aktiviert sein:

Überprüfen Sie nun den Redis-Dienst, um sicherzustellen, dass der Dienst läuft und aktiviert ist.
sudo systemctl is-enabled redis
sudo systemctl status redisDer Redis-Dienst sollte wie folgt laufen und aktiviert sein:

Überprüfen Sie schließlich die Python-Version mit dem folgenden Befehl. Die neueste Version von NetBox IRM unterstützt Python v3.9, 3.10 und 3.11.
python3 --versionSie sollten sehen, dass Python 3.11 auf Ihrem Debian-Rechner installiert ist.
PostgreSQL-Server konfigurieren
Nachdem Sie die Abhängigkeiten installiert haben, erstellen Sie eine neue PostgreSQL-Datenbank und einen Benutzer, den NetBox verwenden wird. Dazu müssen Sie sich über die psql-Befehlszeile beim PostgreSQL-Server anmelden.
Melden Sie sich beim PostgreSQL-Server an, indem Sie den folgenden Befehl ausführen.
sudo -u postgres psqlFühren Sie die folgenden Abfragen aus, um einen neuen Benutzer netbox mit dem Passwort p4ssw0rd zu erstellen. Erstellen Sie dann eine neue Datenbank netboxdb mit dem Eigentümer netbox.
CREATE USER netbox LOGIN CREATEDB PASSWORD 'p4ssw0rd';
CREATE DATABASE netboxdb OWNER netbox;
Überprüfen Sie danach die Liste der Benutzer und Datenbanken auf Ihrem PostgreSQL, indem Sie den folgenden Befehl ausführen.
\l
\duSie sollten die Datenbank netboxdb und den Benutzer netbox auf Ihrem PostgreSQL-Server sehen.

Tippen Sie quit, um den PostgreSQL-Server zu verlassen.
Melden Sie sich als nächstes mit dem neuen Benutzer netbox bei der Datenbank netboxdb an. Dies stellt sicher, dass der Benutzer netbox eine Verbindung zur Datenbank netboxdb herstellen kann.
sudo -u postgres psql --username netbox --password --host localhost netboxdbSobald Sie verbunden sind, überprüfen Sie Ihre Verbindung mit der folgenden Abfrage.
\conninfoIn der folgenden Ausgabe sollten Sie sehen, dass Sie über den Benutzer netbox mit der Datenbank netboxdb verbunden sind.

Tippen Sie erneut quit, um den PostgreSQL-Server zu verlassen.
Redis-Server konfigurieren
Nachdem die PostgreSQL-Datenbank und der Benutzer erstellt wurden, besteht der nächste Schritt darin, Ihren Redis-Server zu konfigurieren, der als Cache-Verwaltung für NetBox verwendet wird. Dazu werden Sie die Redis-Konfiguration /etc/redis/redis.conf ändern und Ihre Änderungen über redis-cli überprüfen.
Öffnen Sie die Standard-Redis-Konfiguration /etc/redis/redis.conf mit dem folgenden Befehl des Nano-Editors.
sudo nano /etc/redis/redis.confKommentieren Sie die Option requirepass aus und geben Sie Ihr Passwort ein, das zur Sicherung Ihres Redis-Servers verwendet wird.
requirepass p4ssw0rdNetBoxWenn Sie fertig sind, speichern Sie die Datei und beenden Sie den Editor.
Führen Sie nun den folgenden systemctl-Befehl aus, um den Redis-Dienst neu zu starten und die Änderungen anzuwenden, die Sie vorgenommen haben.
sudo systemctl restart redisUm sicherzustellen, dass alles funktioniert, können Sie Redis über redis-cli überprüfen. Greifen Sie mit dem folgenden redis-cli-Befehl auf Ihren Redis-Server zu.
redis-cliAuthentifizieren Sie sich beim Redis-Server mit der folgenden AUTH-Abfrage und stellen Sie sicher, dass Sie das Passwort ändern.
AUTH p4ssw0rdNetBoxSobald Sie authentifiziert sind, sollten Sie die Ausgabe OK erhalten.
Führen Sie nun die PING-Abfrage unten aus, um sicherzustellen, dass Ihre Verbindung erfolgreich ist.
PINGWenn erfolgreich, sollten Sie die Ausgabe PONG vom Redis-Server erhalten.

NetBox IRM installieren
Im folgenden Abschnitt werden Sie NetBox IRM auf Ihr System herunterladen und installieren. Sie werden den Quellcode von NetBox über Git herunterladen, ihn konfigurieren, indem Sie die NetBox-Konfiguration ändern, den PostgreSQL-Datenbankserver und Redis hinzufügen und dann einen Administratorbenutzer für NetBox erstellen.
Zuerst führen Sie den folgenden Befehl aus, um einen neuen systemd-Benutzer netbox zu erstellen, der für die Ausführung der NetBox-Installation verwendet wird.
sudo useradd -r -d /opt/netbox -s /usr/sbin/nologin netboxLaden Sie den Quellcode von NetBox IRM über Git herunter und ändern Sie den Eigentümer des Verzeichnisses /opt/netbox in den Benutzer netbox.
cd /opt; sudo git clone -b master --depth 1 https://github.com/netbox-community/netbox.git
sudo chown -R netbox:netbox /opt/netbox
Bewegen Sie als Nächstes Ihr Arbeitsverzeichnis nach /opt/netbox und generieren Sie den NetBox-Geheimschlüssel über das Skript generate_secret_key.py. Stellen Sie sicher, dass Sie den generierten geheimen Schlüssel kopieren, der für Ihre NetBox-Installation verwendet wird.
cd /opt/netbox/netbox/netbox
sudo -u netbox python3 ../generate_secret_key.pyKopieren Sie die Standardkonfiguration configuration_example.py nach configuration.py, und öffnen Sie die neue Datei configuration.py mit dem folgenden Befehl des Nano-Editors.
sudo -u netbox cp configuration_example.py configuration.py
sudo -u netbox nano configuration.pyFügen Sie im Abschnitt ALLOWED_HOSTS Ihren Domainnamen oder Ihre Server-IP-Adresse hinzu.
ALLOWED_HOSTS = ['netbox.howtoforge.local', '192.168.10.15']Geben Sie Ihre PostgreSQL-Datenbankdetails im Abschnitt DATABASE ein, einschließlich des Datenbanknamens, Benutzers, Passworts, Hosts und Ports.
# Datenbankkonfiguration
DATABASE = {
'NAME': 'netboxdb', # Datenbankname
'USER': 'netbox', # PostgreSQL-Benutzername
'PASSWORD': 'p4ssw0rd', # PostgreSQL-Passwort
'HOST': 'localhost', # Datenbankserver
'PORT': '', # Datenbankport (leer lassen für Standard)
'CONN_MAX_AGE': 300, # Maximalalter der Datenbankverbindung (Sekunden)
}Geben Sie im Abschnitt REDIS die Details Ihres Redis-Servers sowohl für Aufgaben als auch für Cache-Optionen ein.
# Redis-Cache-Konfiguration
REDIS = {
'tasks': {
'HOST': 'localhost', # Redis-Server
'PORT': 6379, # Redis-Port
'PASSWORD': 'p4ssw0rdNetBox', # Redis-Passwort (optional)
'DATABASE': 0, # Datenbank-ID
'SSL': False, # SSL verwenden (optional)
},
'caching': {
'HOST': 'localhost',
'PORT': 6379,
'PASSWORD': 'p4ssw0rdNetBox',
'DATABASE': 1, # Eindeutige ID für die zweite Datenbank
'SSL': False,
}
}Geben Sie schließlich Ihren geheimen Schlüssel im Abschnitt SECRET_KEY ein.
# Geheimer Schlüssel
SECRET_KEY = 'ZjYbgz$)j!NnqJcZLR!NB2BCz4(Yyk=o^Xr(1sTIrM)ZyiE%nk'Wenn Sie fertig sind, speichern Sie die Datei und beenden Sie den Editor.
Führen Sie als Nächstes das Skript /opt/netbox/upgrade.sh aus, um Ihre NetBox-Installation zu starten. Dies erstellt eine neue Python-virtuelle Umgebung, installiert einige Python-Pakete und -Bibliotheken, führt die Datenbankmigration zu Ihrem PostgreSQL-Server durch und generiert auch statische Dateien für NetBox.
sudo -u netbox /opt/netbox/upgrade.shUnten sehen Sie die ähnliche Ausgabe, die Sie während des Prozesses erhalten.

Der Datenbankmigrationsprozess.

Der Prozess zur Generierung statischer Dateien.

Unten sehen Sie die Ausgabe, wenn die Installation abgeschlossen ist.

Nachdem NetBox konfiguriert ist, erstellen Sie einen Administratorbenutzer für NetBox. Dazu melden Sie sich in der Python-virtuellen Umgebung an, die mit dem folgenden Befehl erstellt wurde.
source /opt/netbox/venv/bin/activateWechseln Sie in das Verzeichnis /opt/netbox/netbox und führen Sie das Skript manage.py aus, um einen NetBox-Administratorbenutzer zu erstellen.
cd /opt/netbox/netbox
python3 manage.py createsuperuserWenn Sie gefragt werden, geben Sie Ihre Admin-E-Mail-Adresse, Ihren Benutzernamen und Ihre Passwortdetails ein.

Führen Sie als Nächstes das manage.py erneut aus, um Ihre NetBox-Installation zu überprüfen. Damit führen Sie NetBox auf Ihrer lokalen IP-Adresse mit dem Port 8000 aus.
python3 manage.py runserver 0.0.0.0:8000 --insecure
Öffnen Sie Ihren Webbrowser und besuchen Sie Ihre Server-IP-Adresse, gefolgt von Port 8000, z. B. http://192.168.10.15:8000/. Wenn Ihre Installation erfolgreich ist, sollten Sie die NetBox IRM-Indexseite erhalten, und von dort aus klicken Sie auf die Schaltfläche Anmelden in der oberen rechten Ecke.

Geben Sie Ihren Admin-Benutzer und das Passwort ein, das Sie erstellt haben, und klicken Sie dann auf Anmelden.

Wenn alles gut geht, sollten Sie das NetBox-Dashboard wie folgt sehen:

Gehen Sie zurück zu Ihrem Terminal und drücken Sie Strg+c, um den Prozess zu beenden.
NetBox als Systemd-Dienst ausführen
An diesem Punkt haben Sie NetBox IRM auf Ihrem Debian-Rechner installiert. Um Ihnen die Verwaltung von NetBox zu erleichtern, werden Sie NetBox als Systemd-Dienst ausführen, der es Ihnen ermöglicht, NetBox über das Systemctl-Dienstprogramm zu steuern.
Kopieren Sie die Datei /opt/netbox/contrib/gunicorn.py nach /opt/netbox/gunicorn.py, und öffnen Sie die Datei gunicorn.py mit dem folgenden Befehl des Nano-Editors.
sudo -u netbox cp /opt/netbox/contrib/gunicorn.py /opt/netbox/gunicorn.py
sudo -u netbox nano /opt/netbox/gunicorn.pyÄndern Sie die Bind-Option wie folgt. Dadurch wird Ihre NetBox-Installation auf localhost-Port 8001 über gunicorn ausgeführt.
bind = '127.0.0.1:8001'Speichern Sie die Datei und schließen Sie den Editor, wenn Sie fertig sind.
Kopieren Sie als Nächstes die Systemd-Dienstdateien für NetBox in das Verzeichnis /etc/systemd/system/. Dadurch werden die Dienstdatei netbox, netbox-rq und netbox-housekeeping in das Verzeichnis /etc/systemd/system/ kopiert. Laden Sie dann den Systemd-Manager neu, um die neuen Änderungen auf Ihrem System anzuwenden.
sudo cp -v /opt/netbox/contrib/*.service /etc/systemd/system/
sudo systemctl daemon-reloadJetzt können Sie sowohl den netbox- als auch den netbox-rq-Dienst mit dem folgenden systemctl-Befehl starten und aktivieren. Nach der Ausführung des Befehls wird Ihre NetBox-Installation im Hintergrund als Systemd-Dienst ausgeführt.
sudo systemctl start netbox netbox-rq netbox-housekeeping
sudo systemctl enable netbox netbox-rq netbox-housekeepingÜberprüfen Sie schließlich sowohl den netbox- als auch den netbox-rq-Dienst mit dem folgenden Befehl.
sudo systemctl status netbox
sudo systemctl status netbox-rqDie folgende Ausgabe zeigt an, dass der netbox-Dienst läuft und aktiviert ist.

Die folgende Ausgabe bestätigt, dass der netbox-rq-Dienst läuft und aktiviert ist.

Apache als Reverse-Proxy konfigurieren
Im nächsten Schritt werden Sie Apache2 als Reverse-Proxy konfigurieren. Stellen Sie zuvor sicher, dass Sie einen Domainnamen haben, der auf Ihre Server-IP-Adresse verweist. Sie können auch einen lokalen Domainnamen verwenden.
Wenn Sie einen lokalen Domainnamen verwenden, können Sie den folgenden openssl-Befehl ausführen, um SSL-Zertifikate zu generieren. Wenn Sie eine öffentliche Domain verwenden, können Sie Certbot verwenden, um SSL-Zertifikate von Letsencrypt zu generieren.
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"Kopieren Sie nun die Apache-virtuelle Hostkonfiguration für NetBox nach /etc/apache2/sites-available/netbox.conf. Ändern Sie dann die Datei /etc/apache2/sites-available/netbox.conf mit dem folgenden Befehl des Nano-Editors.
sudo cp /opt/netbox/contrib/apache.conf /etc/apache2/sites-available/netbox.conf
sudo nano /etc/apache2/sites-available/netbox.confÄndern Sie den Domainnamen in Ihren Domainnamen und ändern Sie den Pfad der SSL/TLS-Zertifikate in den richtigen Pfad.
# ÄNDERN SIE DIES IN DEN NAMEN IHRES SERVERS
ServerName netbox.howtoforge.local
...
ProxyPreserveHost On
# ÄNDERN SIE DIES IN DEN NAMEN IHRES SERVERS
ServerName netbox.howtoforge.local
SSLEngine on
SSLCertificateFile /etc/ssl/certs/netbox.crt
SSLCertificateKeyFile /etc/ssl/private/netbox.key
...
Speichern Sie die Datei und schließen Sie den Editor, wenn Sie fertig sind.
Führen Sie nun den folgenden Befehl aus, um einige Apache2-Module zu aktivieren, die für NetBox benötigt werden.
sudo a2enmod ssl proxy proxy_http headers rewriteFühren Sie danach den folgenden Befehl aus, um die virtuelle Hostdatei netbox.conf zu aktivieren und Ihre Apache2-Konfigurationen zu überprüfen, um sicherzustellen, dass Sie eine korrekte Syntax haben.
sudo a2ensite netbox.conf
sudo apachectl configtestWenn Sie eine korrekte Apache2-Syntax haben, sollten Sie die Ausgabe Syntax OK erhalten.

Führen Sie nun den folgenden Befehl aus, um den Apache2-Dienst neu zu starten und die Änderungen anzuwenden, die Sie vorgenommen haben.
sudo systemctl restart apache2Ihre NetBox-Installation sollte über den Domainnamen zugänglich sein.
Öffnen Sie Ihren Webbrowser und besuchen Sie den Domainnamen Ihrer NetBox-Installation, z. B. https://netbox.howtoforge.local/. Wenn alles gut geht, sollten Sie die NetBox-Indexseite wie folgt sehen:

Nach dem Anmelden sollten Sie das NetBox IRM-Dashboard sehen, das unter dem Apache2-Reverse-Proxy läuft.

Fazit
Zusammenfassend haben Sie jetzt NetBox IRM auf dem Debian 12-Server mit dem PostgreSQL-Datenbankserver und dem Apache2-Webserver installiert, der als Reverse-Proxy verwendet wird. Sie haben auch Ihre NetBox-Installation über SSL/TLS-Zertifikate gesichert.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.