[How-To] Instalacja Netbox! Dokumentacja do naszej sieci

Netbox jest aplikacją webową która przygotował zespół z Digital Ocean, pomaga ona w zarządzaniu oraz tworzeniu dokumentacji sieci. Poniższy tutorial przeprowadzi nas przez instalacje Netbox na Ubuntu 20.04 wraz z Nginx

Sama aplikacja na pierwszy rzut oka może wydawać się dla niektórych niepotrzebna ze względu iż główne zastosowanie to duże data center i szafy rack. Zapewniam iż aplikacja daje takie możliwości że nawet w domowej sieci nada się doskonale do dokumentacji połączeń kabli, adresów IP oraz przypisanie portów wirtualnych maszyn do odpowiedniego gniazda, może służyć jako dokumentacja komputerów znajdujących się w sieci, zastosowań masa. Moim zdaniem aplikacja niezbędna dla każdego kto posiada mały homelab – router, switch, mały serwer z kilkoma VM’kami czy też mase kontenerów, nie wspominając o tych osobach co posiadają szafy.

Ok dość tego pisania, przechodzimy do instalacji


(1) Krok pierwszy aktualizacja repozytoriów

sudo apt update

(2) Instalacja oraz konfiguracja Postgresql

  • zwróć uwagę że postgres=# nie kopiujemy, podałem go jako prompt dla postgresql
  • wielkość liter ma znaczenie
  • musisz użyć ; na końcu linijki
  • \q wychodzimy z wiersza poleceń Postgresql
sudo apt-get install -y postgresql libpq-dev
sudo -u postgres psql
postgres=# CREATE DATABASE netbox;
postgres=# CREATE USER netbox WITH PASSWORD 'ENTER YOUR PASSWORD';
postgres=# GRANT ALL PRIVILEGES ON DATABASE netbox TO netbox;
postgres=# \q

(3) Instalacja wymaganych aplikacji do działania Netbox

sudo apt-get install -y python3 python3-pip python3-dev build-essential libxml2-dev libxslt1-dev libffi-dev libpq-dev libssl-dev redis-server zlib1g-dev

(4) Instalacja Netbox używając Git

Tworzymy katalog Netbox oraz przechodzimy do niego /opt/netbox następnie instalacja Git oraz klonowanie repozytorium Netbox

sudo mkdir -p /opt/netbox/ && cd /opt/netbox/
sudo apt-get install -y git
sudo git clone -b master https://github.com/netbox-community/netbox.git .

(5) Jako root zainstaluj dodatkowe wymagane aplikacje oraz gunicorn

sudo su - root
pip3 install -r /opt/netbox/requirements.txt
pip3 install gunicorn
exit

(6) Konfiguracja oraz modyfikacja pliku konfiguracyjnego

Przechodzimy do katalogu Netbox, zmieniamy nazwę pliku configuration.example.py na configuration.py oraz edytujemy go.

cd /opt/netbox/netbox/netbox
sudo cp configuration.example.py configuration.py
sudo nano configuration.py

w pliku znajdziemy różne parametry, tych które szukamy to:

ALLOWED_HOSTS = ['Enter your Server IP/Hostname']
USER 'your_username'
PASSWORD 'your_password'
SECRET_KEY - 'a minimum 50 char alphanumeric string of your choice'

(7) Instalacja oraz konfiguracja serwera Nginx

Instalacja serwera web Nginx oraz edytujemy plik konfiguracyjny według własnych potrzeb pamiętając żeby zmienić adres IP/hostname (server_name)

sudo apt install -y nginx
sudo nano /etc/nginx/sites-available/netbox
server {
    listen 80;
    server_name 10.10.10.1;
    client_max_body_size 25m;
    location /static/ {
        alias /opt/netbox/netbox/static/;
    }
    location / {
        proxy_pass http://127.0.0.1:8001;
        proxy_set_header X-Forwarded-Host $server_name;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
        add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"';
    }
}

(9) Usuwamy oryginalny plik konfiguracyjny i tworzymy link z naszym plikiem

cd /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default
sudo ln -s /etc/nginx/sites-available/netbox

(10) Konfiguracja Gunicorn

sudo nano /opt/netbox/gunicorn_config.py

Skopiuj i wklej poniższy kod do pliku gunicorn_config.py

command = '/usr/bin/gunicorn'
pythonpath = '/opt/netbox/netbox'
bind = '127.0.0.1:8001'
workers = 3
user = 'www-data'

(11) Instalacja oraz konfiguracja Supervisor

sudo apt install -y supervisor
sudo nano /etc/supervisor/conf.d/netbox.conf

Kopiujemy i wklejamy poniższy kod do pliku netbox.conf

[program:netbox]
command = gunicorn -c /opt/netbox/gunicorn_config.py netbox.wsgi
directory = /opt/netbox/netbox/
user = www-data
[program:netbox-rqworker]
command = python3 /opt/netbox/netbox/manage.py rqworker
directory = /opt/netbox/netbox/
user = www-data

(12) Restart usług i logowanie na stronie

service nginx restart
service supervisor restart

Możemy zalogować się na stronie http://10.10.10.1

Źródło :
Podziel się:

Leave a Reply

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.