Netbox

Aktualisierung des Operating System

apt install sudo
sudo apt update
sudo apt upgrade

Installation der Paketabhängigkeiten

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

Prüfung ob der Apache Service enabled ist und läuft

sudo systemctl is-enabled apache2
sudo systemctl status apache2

Prüfung ob der PostgreSQL aktiviert ist und läuft

sudo systemctl is-enabled postgresql
sudo systemctl status postgresql

Prüfung ob Redis aktiviert ist und läuft

sudo systemctl is-enabled redis
sudo systemctl status redis

Konfiguration PostgreSQL

Anmeldung an der PostgreSQL DB

sudo -u postgres psql

Erstellung eines neuen DB-Nutzers und der Datenbank für Netbox

CREATE USER netbox LOGIN CREATEDB PASSWORD 'SECURE';
CREATE DATABASE netbox OWNER netbox;

Wenn du alles richtig gemacht hast, sollte es folgendermaßen aussehen.

\l
\du

Konfiguration Redis Server

sudo nano /etc/redis/redis.conf

Such den Parameter requirepass, enable den Eintrag und setze dein Passwort

requirepass SECURE

Neustart Redis

sudo systemctl restart redis

Test ob Redis funktioniert

redis-cli
AUTH SECURE
ping

Installation Netbox

Erstellung eines Nutzers für Netbox

sudo useradd -r -d /opt/netbox -s /usr/sbin/nologin netbox

Herunterladen von Netbox und setzen der Verzeichnisrechte

cd /opt; sudo git clone -b master --depth 1 https://github.com/netbox-community/netbox.git
sudo chown -R netbox:netbox /opt/netbox

Setzen des Schlüssels für Netbox

cd /opt/netbox/netbox/netbox
sudo -u netbox python3 ../generate_secret_key.py

Kopieren und editieren der Konfigurationsdatei. Kopiere dir dazu den eben erzeugten Schlüssel in die Zwischenablage.

sudo -u netbox cp configuration_example.py configuration.py
sudo -u netbox nano configuration.py

Das sollte dann wie folgt aussehen:

Als nächstes führst du das Upgrade Script aus.

sudo -u netbox /opt/netbox/upgrade.sh

Nachdem das Script durch ist, musst du dich in der virtuellen Python Umgebung anmelden.

source /opt/netbox/venv/bin/activate

Als nächstes legen wir einen Admin User für Netbox an.

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

Test des Netbox Server.

python3 manage.py runserver 0.0.0.0:8000 --insecure

Browser aufrufen und sich mit dem eben erzeugten Nutzer anmelden. http://<IP-Adresse-Netbox>:8000

Wenn das funktioniert, müssen wir Netbox als Systemd-Dienst konfigurieren.

sudo -u netbox cp /opt/netbox/contrib/gunicorn.py /opt/netbox/gunicorn.py
sudo -u netbox nano /opt/netbox/gunicorn.py

Startscripte kopieren und Netbox Dienst starten.

sudo cp -v /opt/netbox/contrib/*.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl start netbox netbox-rq netbox-housekeeping
sudo systemctl enable netbox netbox-rq netbox-housekeeping

Apache als Reverse Proxy konfigurieren

Erstellung der SSL Zertifikate

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 addext "subjectAltName=DNS:netbox,IP:192.168.1.4

Kopiere nun die Beispiel-Konfigurationsdateien für Apache und passe in dieser den Hostnamen an.

sudo cp /opt/netbox/contrib/apache.conf /etc/apache2/sites-available/netbox.conf
sudo nano /etc/apache2/sites-available/netbox.conf

Aktivierung Apache Module

sudo a2enmod ssl proxy proxy_http headers rewrite

Aktivierung der Seite und Syntaxtest für den Apachen.

sudo a2ensite netbox.conf
sudo apachectl configtest

Neustart des Apachen

sudo systemctl restart apache2