Netzwerkdokumentation · 6 min read · Nov 19, 2025
So installieren Sie das NetBox-Netzwerkdokumentations- und Verwaltungstool auf Ubuntu 20.04 LTS

Netbox ist ein kostenloses und leistungsstarkes IP-Adress- (IPAM) und Rechenzentrumsinfrastrukturmanagement- (DCIM) Tool. Es wird verwendet, um Informationen über Ihre Netzwerke, VMs, Bestände und vieles mehr zu speichern. Es wurde ursprünglich vom Netzwerkengineering-Team bei DigitalOcean entwickelt. Dieses Tool ist im Django-Python-Framework geschrieben und basiert auf einer PostgreSQL-Datenbank. Ziel ist es, als domänenspezifische Quelle der Wahrheit für Netzwerkoperationen zu fungieren.
In diesem Tutorial erklären wir, wie Sie Netbox mit Nginx als Reverse-Proxy auf Ubuntu 20.04 installieren.
Voraussetzungen
- Ein Server, der Ubuntu 20.04 ausführt.
- Ein Root-Passwort ist auf Ihrem Server konfiguriert.
Erste Schritte
Bevor Sie beginnen, müssen Sie einige Abhängigkeiten installieren, die von Netbox benötigt werden. Sie können alle mit dem folgenden Befehl installieren:
apt-get install nginx git gcc supervisor python3 python3-dev python3-pip python3-setuptools build-essential libxml2-dev libxslt1-dev libffi-dev graphviz libpq-dev libssl-dev zlib1g-dev -ySobald alle Pakete installiert sind, können Sie mit dem nächsten Schritt fortfahren.
PostgreSQL-Datenbank installieren und konfigurieren
Netbox basiert auf einer PostgreSQL-Datenbank zur Datenspeicherung. Sie können sie mit dem folgenden Befehl installieren:
apt-get install postgresql postgresql-contrib -ySobald PostgreSQL installiert ist, melden Sie sich mit dem folgenden Befehl bei PostgreSQL an:
su - postgres
postgres@ubuntu2004:~$ psqlSie sollten die folgende Ausgabe erhalten:
psql (12.2 (Ubuntu 12.2-4))
Type "help" for help.
Als nächstes erstellen Sie eine Datenbank und einen Benutzer für Netbox mit dem folgenden Befehl:
postgres=# CREATE DATABASE netbox;
postgres=# CREATE USER netbox WITH PASSWORD 'password';Als nächstes gewähren Sie der Netbox-Datenbank mit dem folgenden Befehl alle Berechtigungen:
postgres=# GRANT ALL PRIVILEGES ON DATABASE netbox TO netbox;Als nächstes verlassen Sie die PostgreSQL-Shell mit dem folgenden Befehl:
postgres=# exit
postgres@ubuntu2004:~$ exitNetBox installieren und konfigurieren
Zuerst wechseln Sie in das Verzeichnis /opt und laden die neueste Version von Netbox aus dem GitHub-Repository mit dem folgenden Befehl herunter:
cd /opt/
git clone -b master https://github.com/digitalocean/netbox.gitAls nächstes erstellen Sie einen symbolischen Link zur Python-Binärdatei mit dem folgenden Befehl:
ln -s /usr/bin/python3 /usr/bin/pythonAls nächstes wechseln Sie in das Verzeichnis /opt/netbox/netbox/ und generieren den Django SECRET Key, indem Sie den folgenden Befehl ausführen:
cd /opt/netbox/netbox/
./generate_secret_key.pySie sollten die folgende Ausgabe erhalten:
wcq@L2)eTDpo(k^f4Sm9bariUnK0syCPMGEIjW6XV_8l5xhB7z
Als nächstes wechseln Sie in das Verzeichnis netbox und benennen die Beispieldatei um:
cd netbox
mv configuration.example.py configuration.pyAls nächstes bearbeiten Sie die Netbox-Konfigurationsdatei und definieren Ihre Datenbank, den geheimen Schlüssel und die erlaubten Hosts:
nano configuration.pyNehmen Sie die folgenden Änderungen vor:
ALLOWED_HOSTS = ['your-server-ip']
# PostgreSQL-Datenbankkonfiguration. Siehe die Django-Dokumentation für eine vollständige Liste der verfügbaren Parameter:
# https://docs.djangoproject.com/en/stable/ref/settings/#databases
DATABASE = {
'NAME': 'netbox', # Datenbankname
'USER': 'netbox', # PostgreSQL-Benutzername
'PASSWORD': 'password', # PostgreSQL-Passwort
'HOST': 'localhost', # Datenbankserver
'PORT': '', # Datenbankport (leer lassen für Standard)
'CONN_MAX_AGE': 300, # Maximales Alter der Datenbankverbindung
}
SECRET_KEY = 'wcq@L2)eTDpo(k^f4Sm9bariUnK0syCPMGEIjW6XV_8l5xhB7z'
Speichern und schließen Sie die Datei, und installieren Sie dann alle Python-Abhängigkeiten mit dem folgenden Befehl:
pip3 install -r /opt/netbox/requirements.txtAls nächstes migrieren Sie die Datenbank mit dem folgenden Befehl:
cd /opt/netbox/netbox/
python3 manage.py migrateAls nächstes erstellen Sie einen Netbox-Administrationsbenutzer mit dem folgenden Befehl:
python3 manage.py createsuperuserSie werden aufgefordert, einen Benutzernamen und ein Passwort anzugeben, wie unten gezeigt:
Username (leave blank to use 'root'): netboxadmin
Email address: [email protected]
Password:
Password (again):
Superuser created successfully.
Als nächstes sammeln Sie die statischen Dateien mit dem folgenden Befehl:
python3 manage.py collectstaticSie sollten die folgende Ausgabe sehen:
976 static files copied to '/opt/netbox/netbox/static'.
Gunicorn installieren und konfigurieren
Netbox ist eine auf Django basierende Anwendung. Daher müssen Sie Gunicorn in Ihrem System installieren. Sie können es mit dem folgenden Befehl installieren:
pip3 install gunicornNach der Installation von Gunicorn erstellen Sie eine neue Gunicorn-Konfigurationsdatei für Netbox mit dem folgenden Befehl:
nano /opt/netbox/gunicorn_config.pyFügen Sie die folgenden Zeilen hinzu:
command = '/usr/local/bin/gunicorn'
pythonpath = '/opt/netbox/netbox'
bind = 'your-server-ip:8001'
workers = 3
user = 'www-data'
Speichern und schließen Sie die Datei, wenn Sie fertig sind.
Supervisor installieren und konfigurieren
Supervisor ist ein Client/Server-System, das es Ihnen ermöglicht, den NetBox-Dienst zu überwachen und zu steuern. Sie können eine neue Supervisor-Konfigurationsdatei für Netbox mit dem folgenden Befehl erstellen:
nano /etc/supervisor/conf.d/netbox.confFügen Sie die folgenden Zeilen hinzu:
[program:netbox]
command = gunicorn -c /opt/netbox/gunicorn_config.py netbox.wsgi
directory = /opt/netbox/netbox/
user = www-data
Speichern und schließen Sie die Datei, wenn Sie fertig sind. Starten Sie dann den Supervisor-Dienst mit dem folgenden Befehl neu:
systemctl restart supervisorSie können auch den Status des Supervisor-Dienstes mit dem folgenden Befehl überprüfen:
systemctl status supervisorSie sollten die folgende Ausgabe erhalten:
? supervisor.service - Supervisor process control system for UNIX
Loaded: loaded (/lib/systemd/system/supervisor.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2020-05-30 05:49:08 UTC; 14s ago
Docs: http://supervisord.org
Main PID: 550606 (supervisord)
Tasks: 5 (limit: 4691)
Memory: 184.3M
CGroup: /system.slice/supervisor.service
??550606 /usr/bin/python3 /usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf
??550626 /usr/bin/python3 /usr/local/bin/gunicorn -c /opt/netbox/gunicorn_config.py netbox.wsgi
??550628 /usr/bin/python3 /usr/local/bin/gunicorn -c /opt/netbox/gunicorn_config.py netbox.wsgi
??550629 /usr/bin/python3 /usr/local/bin/gunicorn -c /opt/netbox/gunicorn_config.py netbox.wsgi
??550630 /usr/bin/python3 /usr/local/bin/gunicorn -c /opt/netbox/gunicorn_config.py netbox.wsgi
May 30 05:49:08 ubuntu2004 systemd[1]: Started Supervisor process control system for UNIX.
May 30 05:49:08 ubuntu2004 supervisord[550606]: 2020-05-30 05:49:08,664 CRIT Supervisor is running as root. Privileges were not dropped because of >
May 30 05:49:08 ubuntu2004 supervisord[550606]: 2020-05-30 05:49:08,664 INFO Included extra file "/etc/supervisor/conf.d/netbox.conf" during p>
May 30 05:49:08 ubuntu2004 supervisord[550606]: 2020-05-30 05:49:08,671 INFO RPC interface 'supervisor' initialized
May 30 05:49:08 ubuntu2004 supervisord[550606]: 2020-05-30 05:49:08,671 CRIT Server 'unix_http_server' running without any HTTP authentication>
May 30 05:49:08 ubuntu2004 supervisord[550606]: 2020-05-30 05:49:08,672 INFO supervisord started with pid 550606
May 30 05:49:09 ubuntu2004 supervisord[550606]: 2020-05-30 05:49:09,676 INFO spawned: 'netbox' with pid 550626
May 30 05:49:11 ubuntu2004 supervisord[550606]: 2020-05-30 05:49:11,060 INFO success: netbox entered RUNNING state, process has stayed up for
Nginx für NetBox konfigurieren
Es ist eine gute Idee, Nginx als Reverse-Proxy zu konfigurieren, um auf Netbox über Port 80 zuzugreifen. Sie können eine neue Nginx-virtuelle Hostkonfiguration mit dem folgenden Befehl erstellen:
nano /etc/nginx/sites-available/netbox.confFügen Sie die folgenden Zeilen hinzu:
server {
listen 80;
server_name your-server-ip;
client_max_body_size 25m;
location /static/ {
alias /opt/netbox/netbox/static/;
}
location / {
proxy_pass http://your-server-ip:8001;
}
}
Speichern und schließen Sie die Datei. Erstellen Sie dann einen symbolischen Link zum Verzeichnis /etc/nginx/sites-enabled:
ln -s /etc/nginx/sites-available/netbox.conf /etc/nginx/sites-enabled/Überprüfen Sie als nächstes Nginx auf Syntaxfehler mit dem folgenden Befehl:
ginx -tWenn alles in Ordnung ist, sollten Sie die folgende Ausgabe erhalten:
ginx: the configuration file /etc/nginx/nginx.conf syntax is ok
ginx: configuration file /etc/nginx/nginx.conf test is successful
Starten Sie schließlich den Nginx-Dienst neu, um die Änderungen umzusetzen.
systemctl restart nginxSie können auch den Nginx mit dem folgenden Befehl überprüfen:
systemctl status nginxSie sollten die folgende Ausgabe erhalten:
? nginx.service - Der nginx HTTP- und Reverse-Proxy-Server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
Active: active (running) since Sat 2020-05-30 22:28:13 EST; 4min 14s ago
Process: 984 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
Process: 982 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
Process: 980 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
Main PID: 985 (nginx)
Tasks: 3 (limit: 25028)
Memory: 5.5M
CGroup: /system.slice/nginx.service
??985 nginx: master process /usr/sbin/nginx
??986 nginx: worker process
??987 nginx: worker process
May 30 21:28:12 ubuntu2004 systemd[1]: Starting The nginx HTTP and reverse proxy server...
Mar 30 21:28:12 ubuntu2004 nginx[982]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Mar 30 21:28:12 ubuntu2004 nginx[982]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Mar 30 21:28:13 ubuntu2004 systemd[1]: Started The nginx HTTP and reverse proxy server.
An diesem Punkt ist der Nginx-Webserver konfiguriert, um Netbox auf Port 80 bereitzustellen. Sie können jetzt auf die Netbox-Weboberfläche zugreifen.
Zugriff auf die Netbox-Weboberfläche
Öffnen Sie Ihren Webbrowser und besuchen Sie die URL http://your-server-ip. Sie werden auf die folgende Seite weitergeleitet:

Klicken Sie auf die Schaltfläche Anmelden. Sie sollten die Anmeldeseite von Netbox auf dem folgenden Bildschirm sehen:

Geben Sie Ihren Netbox-Admin-Benutzernamen, Ihr Passwort ein und klicken Sie auf die Schaltfläche Anmelden. Sie sollten das Standard-Dashboard von Netbox auf der folgenden Seite sehen:

Fazit
In diesem Leitfaden haben Sie gelernt, wie Sie Netbox auf Ubuntu 20.04 mit Nginx installieren. Sie können jetzt beginnen, Ihre Netzwerk-Infrastruktur zu dokumentieren. Für weitere Informationen besuchen Sie die offizielle Dokumentation von Netbox. Zögern Sie nicht, mich zu fragen, wenn Sie Fragen haben.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.