GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren Sie das NetBox Network Documentation and Management Tool unter Ubuntu 20.04 LTS

Netbox ist ein kostenloses und leistungsstarkes Tool zur Verwaltung von IP-Adressen (IPAM) und Rechenzentrumsinfrastruktur (DCIM). Es wird zum Speichern von Informationen über Ihre Netzwerke, VMs, Inventare und vieles mehr verwendet. Es wurde ursprünglich vom Netzwerk-Engineering-Team von DigitalOcean entwickelt. Dieses Tool ist im Django-Python-Framework geschrieben und basiert auf der PostgreSQL-Datenbank. Sein Ziel ist es, als domänenspezifische Quelle der Wahrheit für den Netzwerkbetrieb zu fungieren.

In diesem Tutorial erklären wir, wie man Netbox mit Nginx als Reverse-Proxy unter Ubuntu 20.04 installiert.

Voraussetzungen

  • Ein Server mit Ubuntu 20.04.
  • Auf Ihrem Server ist ein Root-Passwort konfiguriert.

Erste Schritte

Bevor Sie beginnen, müssen Sie einige Abhängigkeiten installieren, die von Netbox benötigt werden. Sie können alle installieren, indem Sie den folgenden Befehl ausführen:

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

Sobald alle Pakete installiert sind, können Sie mit dem nächsten Schritt fortfahren.

Installieren und konfigurieren Sie die PostgreSQL-Datenbank

Netbox setzt zur Datenspeicherung auf die PostgreSQL-Datenbank. Sie können es mit dem folgenden Befehl installieren:

apt-get install postgresql postgresql-contrib -y

Sobald PostgreSQL installiert ist, melden Sie sich mit dem folgenden Befehl bei PostgreSQL an:

su - postgres
[email protected]:~$ psql

Sie sollten die folgende Ausgabe erhalten:

psql (12.2 (Ubuntu 12.2-4)) Geben Sie „help“ ein, um Hilfe zu erhalten.

Als nächstes erstellen Sie eine Datenbank und einen Benutzer für Netbox mit dem folgenden Befehl:

postgres=# DATENBANK netbox ERSTELLEN;
postgres=# BENUTZER netbox MIT PASSWORT ERSTELLEN 'password';

Als nächstes erteilen Sie der Netbox-Datenbank mit dem folgenden Befehl alle Berechtigungen:

postgres=# GEWÄHRE ALLE PRIVILEGIEN AUF DATENBANK netbox TO netbox;

Verlassen Sie als Nächstes die PostgreSQL-Shell mit dem folgenden Befehl:

postgres=# Ausfahrt
[email protected]:~$ Ausfahrt

NetBox installieren und konfigurieren

Wechseln Sie zunächst in das Verzeichnis /opt und laden Sie mit dem folgenden Befehl die neueste Version von Netbox aus dem Git Hub-Repository herunter:

cd /opt/
git clone -b master https://github.com/digitalocean/netbox.git

Erstellen Sie als Nächstes mit dem folgenden Befehl einen symbolischen Link der Python-Binärdatei:

ln -s /usr/bin/python3 /usr/bin/python

Wechseln Sie als Nächstes in das Verzeichnis /opt/netbox/netbox/ und generieren Sie den Django SECRET Key, indem Sie den folgenden Befehl ausführen:

cd /opt/netbox/netbox/
./generate_secret_key.py

Sie sollten die folgende Ausgabe erhalten:

[email protected])eTDpo(k^f4Sm9bariUnK0syCPMGEIjW6XV_8l5xhB7z

Ändern Sie als Nächstes das Verzeichnis in netbox und benennen Sie die Beispielkonfigurationsdatei um:

cd netbox
mv configuration.example.py configuration.py

Bearbeiten Sie als Nächstes die Netbox-Konfigurationsdatei und definieren Sie Ihre Datenbank, Ihren geheimen Schlüssel und die zulässigen Hosts:

nano configuration.py

Nehmen Sie die folgenden Änderungen vor:

ALLOWED_HOSTS =['your-server-ip']# PostgreSQL-Datenbankkonfiguration. Eine vollständige Liste der verfügbaren Parameter finden Sie in der Django-Dokumentation:# https://docs.djangoproject.com/en/stable/ref/settings/#databasesDATABASE ={ 'NAME':'netbox', # Database name 'USER':'netbox', # PostgreSQL-Benutzername 'PASSWORD':'password', # PostgreSQL-Passwort 'HOST':'localhost', # Datenbankserver 'PORT':'', # Datenbankport (standardmäßig leer lassen) 'CONN_MAX_AGE':300 , # Max. Datenbankverbindungsalter}SECRET_KEY ='[email protected])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.txt

Als nächstes migrieren Sie die Datenbank mit dem folgenden Befehl:

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

Erstellen Sie als Nächstes mit dem folgenden Befehl einen Netbox-Administratorbenutzer:

python3 manage.py erstellt einen Superuser

Sie werden aufgefordert, den Benutzernamen und das Passwort wie unten gezeigt einzugeben:

Benutzername (leer lassen, um „root“ zu verwenden):netboxadminE-Mail-Adresse:[email protected]Passwort:Passwort (erneut):Superuser erfolgreich erstellt.

Sammeln Sie als Nächstes die statische Datei mit dem folgenden Befehl:

python3 manage.py collectstatic

Sie sollten die folgende Ausgabe sehen:

976 statische Dateien nach '/opt/netbox/netbox/static' kopiert.

Gunicorn installieren und konfigurieren

Netbox ist eine Django-basierte Anwendung. Sie müssen also Gunicorn in Ihrem System installieren. Sie können es installieren, indem Sie den folgenden Befehl ausführen:

pip3 installiere gunicorn

Erstellen Sie nach der Installation von Gunicorn mit dem folgenden Befehl eine neue Gunicorn-Konfigurationsdatei für Netbox:

nano /opt/netbox/gunicorn_config.py

Fügen Sie die folgenden Zeilen hinzu:

command ='/usr/local/bin/gunicorn'pythonpath ='/opt/netbox/netbox'bind ='your-server-ip:8001'workers =3user ='www-data'

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Supervisor installieren und konfigurieren

Supervisor ist ein Client/Server-System, mit dem Sie den NetBox-Dienst überwachen und steuern können. Mit dem folgenden Befehl können Sie eine neue Supervisor-Konfigurationsdatei für Netbox erstellen:

nano /etc/supervisor/conf.d/netbox.conf

Fügen Sie die folgenden Zeilen hinzu:

[program:netbox]command =gunicorn -c /opt/netbox/gunicorn_config.py netbox.wsgidirectory =/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-Neustart-Supervisor

Sie können den Status des Supervisor-Dienstes auch mit dem folgenden Befehl überprüfen:

Systemctl Status Supervisor

Sie sollten die folgende Ausgabe erhalten:

? supervisor.service - Supervisor-Prozessleitsystem für UNIX Geladen:geladen (/lib/systemd/system/supervisor.service; aktiviert; Herstellervoreinstellung:aktiviert) Aktiv:aktiv (läuft) seit Sa 2020-05-30 05:49:08 KOORDINIERTE WELTZEIT; Vor 14 Sekunden Dokumente:http://supervisord.org Haupt-PID:550606 (Supervisord) Aufgaben:5 (Limit:4691) Speicher:184,3 MB 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.wsgiMai 30 05:49:08 ubuntu2004 systemd[1]:Gestartet Supervisor Process Control System for UNIX.May 30 05:49:08 Ubuntu2004 Supervisord [550606]:2020-05-30 05:49:08,664 CRIT Supervisor wird als Root ausgeführt. Berechtigungen wurden nicht gelöscht, da am 30. Mai 05:49:08 Ubuntu2004 Supervisord [550606]:2020-05-30 05:49:08,664 INFO Zusätzliche Datei „/etc/supervisor/conf.d/netbox.conf“ während p> enthalten war 30. Mai 05:49:08 Ubuntu2004 Supervisord [550606]:2020-05-30 05:49:08,671 INFO RPC-Schnittstelle 'Supervisor' initialisiert 30. Mai 05:49:08 Ubuntu2004 Supervisord [550606]:2020-05-30 05:49 :08,671 CRIT Server 'unix_http_server' läuft ohne HTTP-Authentifizierung> 30. Mai 05:49:08 Ubuntu2004 Supervisord [550606]:2020-05-30 05:49:08,672 INFO Supervisord gestartet mit PID 550606 Mai 30 05:49:09 Ubuntu2004 Supervisord [550606]:2020-05-30 05:49:09,676 INFO gespawnt:'netbox' with pid 550626May 30 05:49:11 ubuntu2004Supervisord[550606]:2020-05-30 05:49:11,060 INFO success:netbox entered RUNNING-Zustand, Prozess ist aktiv geblieben für

Nginx für NetBox konfigurieren

Es ist eine gute Idee, Nginx als Reverse-Proxy zu konfigurieren, um auf die Netbox an Port 80 zuzugreifen. Sie können eine neue virtuelle Nginx-Hostkonfiguration mit dem folgenden Befehl erstellen:

nano /etc/nginx/sites-available/netbox.conf

Fügen Sie die folgenden Zeilen hinzu:

server {listen 80; server_name ihre-server-ip; client_max_body_size 25m; Standort /statisch/ { 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 mit dem folgenden Befehl auf Syntaxfehler:

nginx -t

Wenn alles in Ordnung ist, sollten Sie die folgende Ausgabe erhalten:

nginx:Die Syntax der Konfigurationsdatei /etc/nginx/nginx.conf ist oknginx:Der Test der Konfigurationsdatei /etc/nginx/nginx.conf ist erfolgreich

Starten Sie abschließend den Nginx-Dienst neu, um die Änderungen zu implementieren.

systemctl startet nginx neu

Sie können Nginx auch mit dem folgenden Befehl überprüfen:

systemctl status nginx

Sie sollten die folgende Ausgabe erhalten:

? nginx.service - Der nginx HTTP- und Reverse-Proxy-Server Geladen:geladen (/usr/lib/systemd/system/nginx.service; deaktiviert; Herstellervoreinstellung:deaktiviert) Aktiv:aktiv (läuft) seit Sa 2020-05-30 22:28:13 EST; Vor 4min 14s Prozess:984 ExecStart=/usr/sbin/nginx (code=beendet, status=0/SUCCESS) Prozess:982 ExecStartPre=/usr/sbin/nginx -t (code=beendet, status=0/SUCCESS) Prozess :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:Masterprozess /usr/sbin/nginx ??986 nginx:Arbeitsprozess ??987 nginx:ArbeitsprozessMay 30 21:28:12 ubuntu2004 systemd[1]:Starten von The nginx HTTP- und Reverse-Proxy-Server ... 30. März 21:28:12 ubuntu2004 nginx[982]:nginx:Die Syntax der Konfigurationsdatei /etc/nginx/nginx.conf ist in Ordnung 30. März 21:28:12 ubuntu2004 nginx[982]:nginx :Der Test der Konfigurationsdatei /etc/nginx/nginx.conf ist erfolgreich. 30. März 21:28:13 ubuntu2004 systemd[1]:Started The nginx HTTP and reverse proxy server.

Zu diesem Zeitpunkt ist der Nginx-Webserver so konfiguriert, dass er Netbox auf Port 80 bedient. Sie können nun mit dem Zugriff auf die Netbox-Weboberfläche fortfahren.

Zugriff auf die Netbox-Webschnittstelle

Öffnen Sie Ihren Webbrowser und besuchen Sie die URL http://your-server-ip. Sie werden auf die folgende Seite weitergeleitet:

Klicken Sie auf das Protokoll in Taste. Sie sollten die Netbox-Anmeldeseite auf dem folgenden Bildschirm sehen:

Geben Sie Ihren Netbox-Admin-Benutzernamen und Ihr Passwort ein und klicken Sie auf Anmeldung Taste. Sie sollten das Standard-Dashboard von Netbox auf der folgenden Seite sehen:

Schlussfolgerung

In diesem Handbuch haben Sie gelernt, wie Sie Netbox auf Ubuntu 20.04 mit Nginx installieren. Sie können jetzt mit der Dokumentation Ihrer Netzwerkinfrastruktur beginnen. Weitere Informationen finden Sie in der offiziellen Netbox-Dokumentation. Sie können mich gerne fragen, wenn Sie Fragen haben.


Ubuntu
  1. So installieren Sie LibreOffice 6.0 auf Ubuntu 16.04 LTS und höher

  2. So installieren und verwenden Sie iostat unter Ubuntu 16.04 LTS

  3. So installieren Sie Libreoffice 4.3 auf Ubuntu 12.04 und 14.04 LTS

  4. So installieren Sie Libreoffice 4.4 auf Ubuntu 15.04 und 14.04 LTS

  5. So installieren Sie Wireshark auf Ubuntu 16.04 LTS

So installieren Sie PHP 5.6, PHP 8.0 und PHP 8.1 auf Ubuntu 20.04 LTS

So installieren Sie uTorrent in Ubuntu 16.04 LTS und Ubuntu 17.10

So installieren und verwenden Sie SQLite unter Ubuntu 20.04 LTS Focal Fossa

So installieren Sie OwnCloud auf Ubuntu 16.04 LTS

So installieren Sie Observium unter Ubuntu 16.04 LTS

So installieren Sie PostgreSQL unter Ubuntu 18.04 LTS