User Tools

Site Tools


Action unknown: copypageplugin__copy
netbox:installatie

installatie

context

dit document beschrijft de installatie van Netbox

vereisten

  • PostgreSQL database
  • Redis
  • NetBox components
  • Gunicorn or uWSGI
  • HTTP server
  • LDAP authentication (optioneel)

algemene opbouw

PostgreSQL database

  • installeer PostgreSQL
  • meld aan als gebruiker postgres:
    sudo -u postgres psql
  • maak de database aan:
    CREATE DATABASE netbox;


    controleer: \l

  • maak de netbox gebruiker aan:
    CREATE USER netbox WITH PASSWORD 'q2;kjp8bnz ng;iu';


    controleer: \du

  • maak de gebruiker netbox eigenaar van de database:
    ALTER DATABASE netbox OWNER TO netbox;


    controleer: \l

  • verbind op db netbox als gebruiker netbox:
    \connect netbox;
  • ken rechten toe:
    GRANT CREATE ON SCHEMA public TO netbox;
  • controleer aanmlden als volgt:
    psql --username netbox --password --host localhost netbox

Redis

zie: :Redis

NetBox components

  • installeer systeempackages:
apt install -y git python3 python3-pip python3-venv python3-dev build-essential libxml2-dev libxslt1-dev libffi-dev libpq-dev libssl-dev zlib1g-dev 
  • controleer je Python (min: 3) versie:
    python3 -V
  • clone Netbox:
    sudo mkdir -p /opt/netbox/
    cd /opt/netbox/
    git clone https://github.com/netbox-community/netbox.git .
  • maak de metbox gebruiker aan en geef toegang:
    adduser --system --group netbox
    chown --recursive netbox /opt/netbox/netbox/media/ (**deze bestaat niet in cloned repo!!!)
    chown --recursive netbox /opt/netbox/netbox/reports/
    chown --recursive netbox /opt/netbox/netbox/scripts/
  • naak een secret key (crypto, hashing) aan: </code>python3 /opt/netbox/netbox/generate_secret_key.py</code>
  • maak de config file aan:
    cd /opt/netbox/netbox/netbox/
    cp configuration_example.py configuration.py
  • open configuration.py en vul onderstaande waarden in:
    • ALLOWED_HOSTS = ['fqdn.netbox']
      vb: netbox.legoland.net
      of: ALLOWED_HOSTS = ['*'] en regel de toegang via Firewall.
    • postgresql info: user en wachtwoord
    • redis info: default is ok
    • SECRET_KEY =
  • bewaar je wijzigingen en sluit af.
  • voer het installatie (upgrade) script uit:
    /opt/netbox/upgrade.sh
    • dit doet volgende:
      • maakt een Python virtual environment
      • installeert alle nodige Python packages
      • voert database schema migrations uit
      • maakt de documentatie aan
  • activeer de Python virtual environement:
    source /opt/netbox/venv/bin/activate
  • maak een superuser gebruiker aan:
    cd /opt/netbox/netbox
    python3 manage.py createsuperuser
  • test de server:
    python3 manage.py runserver 0.0.0.0:8000 --insecure

Gunicorn

= Webserver Gateway Interface: fucntie waarbij web servers requests forward naar achterliggende web applicaties of frameworks geschreven in Python.

cp /opt/netbox/contrib/gunicorn.py /opt/netbox/gunicorn.py

Systemd

  • cp -v /opt/netbox/contrib/*.service /etc/systemd/system/
    systemctl daemon-reload
  • start netbox en netbox-rq
    systemctl enable --now netbox netbox-rq
  • controleer de status:
    systemctl status netbox.service

HTTP server

  • maak een SSL certificaat aan:
    openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
    -keyout /etc/ssl/private/netbox.key \
    -out /etc/ssl/certs/netbox.crt
  • install Apache:
    sudo apt install -y apache2
  • kopieer de config:
    cp /opt/netbox/contrib/apache.conf /etc/apache2/sites-available/netbox.conf


    pas de severnaam aan, cfr ALLOWED_HOSTS

  • activeer de nodige Apache modules,de netbox site en herstart Apache:
    a2enmod ssl proxy proxy_http headers rewrite
    a2ensite netbox
    systemctl restart apache2
  • test door naar https:<fqdn>/netbox te gaan ===== LDAP authentication===== ===== meer info ===== * Netbox KB * Netbox on Debian12
netbox/installatie.txt · Last modified: by admin