Com Instal·lar NetBox en Debian 10

NetBox és una eina de codi obert que serveix per administrar xarxes informàtiques. Està escrita en el framework Django Python.

Amb NetBox pots monitoritzar i administrar adreces IP, racks, dispositius, xarxes, consoles, connexions de xarxa, màquines virtuals, clústers i secrets des de la interfície web.

En aquest tutorial us expliquem com instal·lar i configurar NetBox en Debian 10. 

Requisits

  • Un servidor corrent amb Debian 10.
  • Una contrasenya de root establerta en el teu servidor.
  • Una IP estàtica 192.168.0.2 configurada en el teu servidor.

Instal·la les Dependències requerides

Abans de començar, et caldrà instal·lar algunes de les dependències requerides per NetBox. Pots instal·lar-les amb la següent comanda:

# apt-get install -y 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-de

Després d’instal·lar totes les dependències, pots procedir a instal·lar el servidor PostgreSQL.

Instal·la i Configura PostgreSQL

NetBox utilitza PostgreSQL per emmagatzemar les seves dades. Així que necessitaràs instal·lar en el teu servidor. Pots fer-ho executant la següent comanda:

# apt-get install postgresql postgresql-contrib -y

Un cop instal·lat, entra al shell de PostgreSQL i crea una base de dades i un usuari per NetBox:

su - postgres
[email protected]:~$ psql
postgres=# CREATE DATABASE netboxdb;
postgres=# CREATE USER netboxuser WITH PASSWORD 'password';

Després, concedeix tots els privilegis a la base de dades de NetBox i sal de PostgreSQL amb la següent comanda:

# postgres=# GRANT ALL PRIVILEGES ON DATABASE netboxdb TO netboxuser;
postgres=# exit

Instal·la i Configura NetBox

Primer, et caldrà descarregar-te la última versió de NetBox del repositori de Git.

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

Un cop descarregat, canvia el directori a NetBox i genera la clau SECRETA Django amb la següent comanda:

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

Hauries de veure el següent resultat:

 YS-&Jt%X6LOkDMhw8IKxpbe(NEjBT5nyUiGF1c0v_u4)saHR29

Després, canvia el directori a NetBox i canvia el nom del fitxer de l’exemple de configuració:

cd netbox
mv configuration.example.py configuration.py

A continuació, obre el fitxer de configuració  de Netbox i defineix els detalls de la base de dades:

 nano configuration.py

Canvia les següents línies:

# Example: ALLOWED_HOSTS = ['netbox.example.com', 'netbox.internal.local']
ALLOWED_HOSTS = ['192.168.0.2']

# PostgreSQL database configuration.
DATABASE = {
'NAME': 'netboxdb', # Database name
'USER': 'netboxuser', # PostgreSQL username
'PASSWORD': 'password', # PostgreSQL password
'HOST': 'localhost', # Database server
'PORT': '', # Database port (leave blank for default)
}

SECRET_KEY = 'YS-&Jt%X6LOkDMhw8IKxpbe(NEjBT5nyUiGF1c0v_u4)saHR29'

Guarda i tanca el fitxer quan hagis acabat. A les hores, instal·la totes les depèndencies requerides per NetBox amb la següent comanda:

# pip3 install -r /opt/netbox/requirements.txt

Després, migra la base de dades amb la següent comanda:

# cd /opt/netbox/netbox/
python3 manage.py migrate

Després, crea un usuari Admin per NetBox amb la següent comanda:

# python3 manage.py createsuperuser

Proporciona el nom d’usuari i la contrasenya desitjats per crear un usuari Admin com es mostra més avall:

Username (leave blank to use 'root'): netboxuser
Email address: [email protected]
Password:
Password (again):
Superuser created successfully.

Després, carrega les dades inicials i mou el fitxer estàtic amb la següent comanda:

# python3 manage.py collectstatic
# python3 manage.py loaddata initial_data

Instal·la i Configura Gunicorn i Supervisor

Primer, instal·la Gunicorn utilitzant la següent comanda:

# pip3 install gunicorn

Un cop instal·lat, crea un nou fitxer de configuració per NetBox:

nano /opt/netbox/gunicorn_config.py
Add the following lines:

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

Guarda i tanca el fitxer. Després, crea un fitxer de configuració Supervisor per gestionar el servei NetBox:

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

Afegeix les següents línies:

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

Guarda el fitxer. Després, reinicia el servei Supervidor amb la següent comanda:

# systemctl restart supervisor

Després, habilita el servei Supervisor per encendre en cas d’arrencada amb la següent comanda:

# systemctl enable supervisor

Configura Nginx com Reverse Proxy per NetBox

NetBox està ja configurat i actiu al port 8001. Ara et caldrà configurar Nginx com reverse proxy per passar les peticions que vinguin del port 80 al 8001.

Per aconseguir aixó, crea un arxiu hoste virtual Nginx amb la següent comanda:

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

Afegeix les següents línies:

server {
listen 80;
server_name 192.168.0.2;
client_max_body_size 25m;

location /static/ {
alias /opt/netbox/netbox/static/;
}

location / {
proxy_pass http://192.168.0.2:8001;
}
}

Guarda l’arxiu. Després comprova Nginx per qualsevol error de sintaxi amb la següent comanda:

# nginx -t

Després habilita l’arxiu hoste virtual Nginx amb la següent comanda:

# ln -s /etc/nginx/sites-available/netbox.conf /etc/nginx/sites-enabled/

Després, reinicia Nginx per aplicar tots els canvis de configuració:

 systemctl restart nginx 

Accedeix a NetBox Web UI

Ara, obre el teu navegador i visita la URL http://192.168.0.2. Seràs redirigit a la següent pàgina:

 

Fes clic al botó de Login. Hauries de veure la pàgina de login de NetBox:

 

Proporciona el teu nom d’usuari i la contrasenya de NetBox. Després fes clic al botó de Login. Hauries de veure la següent pàgina:f

Felicitats! Ja en tens instal·lat Netbox i llest per a ser usat 🙂

To write a comment on this article, fill out the form below. Fields marked with an asterisk (*) are required.