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