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

update repo

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

Tippen Sie y, um mit der Installation von Abhängigkeiten wie Apache2-Webserver, PostgreSQL-Datenbankserver, Redis, Git, Python3-Paketen und einigen zusätzlichen Systembibliotheken fortzufahren.

install dependencies

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 apache2

Wenn apache2 läuft und aktiviert ist, sollten Sie eine Ausgabe wie die folgende erhalten:

check apache2

Überprüfen Sie den PostgreSQL-Dienst, um sicherzustellen, dass der Dienst läuft und aktiviert ist.

sudo systemctl is-enabled postgresql  
sudo systemctl status postgresql

Der PostgreSQL-Dienst sollte wie folgt laufen und aktiviert sein:

check postgresql

Ü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 redis

Der Redis-Dienst sollte wie folgt laufen und aktiviert sein:

check redis

Ü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 --version

Sie 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 psql

Fü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;

create database user

Überprüfen Sie danach die Liste der Benutzer und Datenbanken auf Ihrem PostgreSQL, indem Sie den folgenden Befehl ausführen.

\l  
\du

Sie sollten die Datenbank netboxdb und den Benutzer netbox auf Ihrem PostgreSQL-Server sehen.

check database user

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 netboxdb

Sobald Sie verbunden sind, überprüfen Sie Ihre Verbindung mit der folgenden Abfrage.

\conninfo

In der folgenden Ausgabe sollten Sie sehen, dass Sie über den Benutzer netbox mit der Datenbank netboxdb verbunden sind.

verify connection

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

Kommentieren Sie die Option requirepass aus und geben Sie Ihr Passwort ein, das zur Sicherung Ihres Redis-Servers verwendet wird.

requirepass p4ssw0rdNetBox

Wenn 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 redis

Um 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-cli

Authentifizieren Sie sich beim Redis-Server mit der folgenden AUTH-Abfrage und stellen Sie sicher, dass Sie das Passwort ändern.

AUTH p4ssw0rdNetBox

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

PING

Wenn erfolgreich, sollten Sie die Ausgabe PONG vom Redis-Server erhalten.

configure redis

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 netbox

Laden 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

create user download 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.py

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

Fü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.sh

Unten sehen Sie die ähnliche Ausgabe, die Sie während des Prozesses erhalten.

netbox installation

Der Datenbankmigrationsprozess.

database migration

Der Prozess zur Generierung statischer Dateien.

generate static files

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

installation finished

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

Wechseln 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 createsuperuser

Wenn Sie gefragt werden, geben Sie Ihre Admin-E-Mail-Adresse, Ihren Benutzernamen und Ihre Passwortdetails ein.

create superuser

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

running netbox

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

NETBOX HOME

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

LOGIN NETBOX

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

netbox daSHBOARD

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

Jetzt 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-rq

Die folgende Ausgabe zeigt an, dass der netbox-Dienst läuft und aktiviert ist.

check netbox

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

netbox rq

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 rewrite

Fü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 configtest

Wenn Sie eine korrekte Apache2-Syntax haben, sollten Sie die Ausgabe Syntax OK erhalten.

apache2 netbox

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 apache2

Ihre 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:

netbox home

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

netbox dashboard

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.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.