Instalación NetBox · 8 min read · Sep 12, 2025

Cómo instalar NetBox IRM (Herramienta de Modelado de Recursos de Infraestructura) en el servidor Ubuntu 24.04

NetBox es un Modelado de Recursos de Infraestructura (IRM) diseñado para la automatización de redes y la ingeniería de infraestructura. Inicialmente, fue creado por el equipo de DigitalOcean y ahora se ha convertido en un proyecto de código abierto lanzado bajo la Licencia Apache 2.

NetBox fue creado en el marco web Python Django con PostgreSQL como la base de datos predeterminada, y la instalación de NetBox es bastante similar a otras aplicaciones web de Python Django.

Este tutorial te mostrará cómo instalar Netbox IRM en el servidor Ubuntu 24.04 con PostgreSQL como base de datos y Apache como proxy inverso. También asegurarás Netbox con HTTPS a través de Certbot y Letsencrypt.

Requisitos previos

Antes de continuar, asegúrate de tener lo siguiente:

  • Un servidor Ubuntu 24.04
  • Un usuario no root con privilegios de administrador
  • Un nombre de dominio apuntando a la dirección IP del servidor

Instalando dependencias

Para instalar Netbox, debes asegurarte de que las dependencias estén instaladas en tu servidor Ubuntu. Esto incluye Python3, servidor PostgreSQL, servidor web Apache, Redis y bibliotecas del sistema. En esta sección, instalarás esos paquetes con el gestor de paquetes APT.

Primero, ejecuta el siguiente comando para actualizar el índice de paquetes de Ubuntu.

sudo apt update

Una vez actualizado, instala las dependencias para Netbox con el siguiente comando. En este ejemplo, instalarás PostgreSQL, Apache, Python, Redis, Certbot, dependencias de construcción y algunas bibliotecas.

sudo apt install apache2 postgresql postgresql-common libpq-dev redis-server git certbot python3 python3-pip python3-venv python3-dev build-essential libxml2-dev libxslt1-dev libffi-dev libssl-dev zlib1g-dev

Ingresa ‘ Y ‘ para confirmar la instalación.

install deps

Después de que la instalación haya finalizado, ejecuta el comando ‘systemctl’ a continuación para verificar el estado del servidor web Apache.

sudo systemctl is-enabled apache2  
sudo systemctl status apache2

En la salida siguiente, puedes ver que Apache está en ejecución y habilitado.

check apache2

Por último, verifica el estado del servidor PostgreSQL con lo siguiente:

sudo systemctl is-enabled postgresql  
sudo systemctl status postgresql

En la salida a continuación, puedes ver que PostgreSQL está habilitado y en ejecución con el estado salido (el systemd no puede encontrar el servicio para monitorear).

check service postgresql

Configurando PostgreSQL

Después de que las dependencias estén instaladas, necesitas configurar el servidor PostgreSQL creando un nuevo usuario y base de datos que Netbox utilizará.

Inicia sesión en el servidor PostgreSQL usando el siguiente comando.

sudo -u postgres psql

Ahora ejecuta las siguientes consultas para crear un nuevo usuario ‘ netbox ‘ con la contraseña ‘ netboxpassword ‘ y la nueva base de datos ‘ netboxdb ‘.

CREATE USER netbox LOGIN CREATEDB PASSWORD 'netboxpassword';  
CREATE DATABASE netboxdb OWNER netbox;

Una vez que la base de datos y el usuario estén creados, verifica la lista de bases de datos y usuarios en PostgreSQL con lo siguiente.

\l  
\du

Puedes ver a continuación que la base de datos ‘ netboxdb ‘ y el usuario ‘ netbox ‘ están creados.

Escribe ‘ quit ‘ para salir del servidor PostgreSQL.

list databases

list users

Descargando y configurando Netbox

Ahora que la base de datos PostgreSQL está lista, descargarás e instalarás Netbox en tu máquina Ubuntu. Configurarás el nombre de dominio, la clave secreta y la base de datos para Netbox.

Primero, ejecuta el comando a continuación para crear un nuevo usuario ‘netbox’ en tu máquina Ubuntu.

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

Ahora ejecuta el comando a continuación para descargar el código fuente de Netbox con el comando ‘ git ‘, y cambia la propiedad al usuario ‘ netbox ‘.

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

Muévete al directorio ‘ /opt/netbox/netbox/netbox ‘ y ejecuta el archivo ‘ generate_secret_key.py ‘. Copia la clave secreta en tus notas.

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

A continuación, copia el archivo ‘ configuration.py ‘ y modifícalo usando el editor ‘ nano ‘.

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

Agrega tu dirección IP local y el nombre de dominio a ‘ ALLOWED_HOSTS ‘.

ALLOWED_HOSTS = ['netbox.howtoforge.local', '192.168.10.60']

Ingresa el nombre de tu base de datos PostgreSQL, usuario y contraseña en la sección ‘ DATABASE ‘.

# configuración de la base de datos  
DATABASE = {  
'NAME': 'netboxdb', # Nombre de la base de datos  
'USER': 'netbox', # Nombre de usuario de PostgreSQL  
'PASSWORD': 'netboxpassword', # Contraseña de PostgreSQL  
'HOST': 'localhost', # Servidor de base de datos  
'PORT': '', # Puerto de la base de datos (dejar en blanco para predeterminado)  
'CONN_MAX_AGE': 300, # Edad máxima de conexión a la base de datos (segundos)  
}

Pega tu clave secreta en la sección ‘ SECRET_KEY ‘.

SECRET_KEY = '98%D9uh8S%)T0QhQ@Z3zYf%Hik^CqWJ)Uwz%0J7TZUztmNiitG'

Guarda el archivo y sal del editor cuando termines.

Migrando Netbox y configurando el administrador

Ahora que has configurado Netbox con el servidor PostgreSQL, estás listo para migrar la base de datos y crear un usuario administrador para la instalación de Netbox.

Ejecuta el script ‘ upgrade.sh ‘ usando el siguiente comando. Esto creará un entorno de Python, instalará dependencias para Netbox, migrará la base de datos de Netbox, se conectará a Redis y luego generará archivos estáticos.

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

netbox configure

A continuación, puedes ver la migración de la base de datos para Netbox.

migrate

Y a continuación cuando ‘ manage.py ‘ genera archivos estáticos.

Después de que el proceso haya finalizado, necesitas crear un nuevo usuario administrador para Netbox a través del script ‘ manage.py ‘.

static files

Ejecuta el siguiente comando para activar el entorno virtual de Netbox. Una vez activado, tu shell se verá como ‘ (venv) user@hostname ‘.

source /opt/netbox/venv/bin/activate

Ve al directorio ‘ /opt/netbox/netbox ‘ y ejecuta el script ‘ manage.py ‘ como sigue:

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

Ingresa tu nombre de usuario, dirección de correo electrónico y contraseña para el administrador de Netbox.

create admin

Una vez completado, ejecuta el comando ‘ deactivate ‘ para salir del entorno virtual de Netbox.

Ejecutando Netbox como un servicio

En esta sección, copiarás las configuraciones de Netbox que se utilizarán para ejecutar Netbox como un servicio systemd. Debes asegurarte de que Netbox se ejecute bajo Gunicorn, y luego copiar los archivos de servicio de Netbox al directorio ‘ /etc/systemd/system ‘.

Primero, copia el script ‘ gunicorn.py ‘ al directorio ‘ /opt/netbox ‘. Este script contiene la configuración para que Netbox se ejecute bajo el servidor WSGI de Python.

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

Ahora ejecuta el comando a continuación para copiar los archivos de servicio para Netbox al directorio ‘ /etc/systemd/system ‘ y recargar el gestor systemd.

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

Una vez que systemd se haya recargado, ejecuta el comando ‘ systemctl ‘ a continuación para iniciar y habilitar los servicios de Netbox.

sudo systemctl enable --now netbox netbox-rq netbox-housekeeping

Por último, verifica los servicios de Netbox para asegurarte de que esté en ejecución con el siguiente comando.

sudo systemctl status netbox netbox-rq netbox-housekeeping

En la salida siguiente, puedes ver que el servicio ‘ netbox ‘ está en ejecución y habilitado.

netbox

Para el servicio ‘ netbox-rq ‘, deberías obtener una salida como esta:

netbox-rq

Por último, el ‘ netbox-housekeeping ‘ con el estado ‘ dead ‘ porque se ejecutará como un temporizador.

netbox-housekeeping

Configurando Apache como un proxy inverso

En este punto, Netbox se está ejecutando en segundo plano como un servicio bajo el servidor WSGI de Python. Para hacerlo accesible desde el exterior, necesitas configurar Apache como un proxy inverso. Antes de eso, también necesitas generar certificados SSL para asegurar la instalación de Netbox.

Primero, ejecuta el comando a continuación para detener el servicio ‘ apache2 ‘.

sudo systemctl stop apache2

Ahora genera certificados SSL de Letsencrypt con el comando ‘ certbot ‘ a continuación. Asegúrate de cambiar el nombre de dominio y la dirección de correo electrónico con tu información.

sudo certbot certonly --standalone --preferred-challenges http -d netbox.howtoforge.local

Después de que el proceso haya finalizado, tus certificados SSL estarán disponibles en el directorio ‘ /etc/letsencrypt/live/domain.com ‘.

A continuación, copia la configuración de Apache para Netbox al archivo ‘ /etc/apache2/sites-available/netbox.conf ‘ y modifícalo usando el editor ‘ nano ‘.

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

Reemplaza el nombre de dominio dentro de la opción ‘ ServerName ‘ y cambia la ruta de tus certificados SSL.

  
# CAMBIA ESTO AL NOMBRE DE TU SERVIDOR  
ServerName netbox.howtoforge.local  
  
...  
  
  
  
ProxyPreserveHost On  
  
# CAMBIA ESTO AL NOMBRE DE TU SERVIDOR  
ServerName netbox.howtoforge.local  
  
SSLEngine on  
SSLCertificateFile /etc/letsencrypt/live/netbox.howtoforge.local/fullchain.pem  
SSLCertificateKeyFile /etc/letsencrypt/live/netbox.howtoforge.local/privkey.pem  
...  

Guarda el archivo y sal del editor cuando termines.

Ahora ejecuta el comando a continuación para activar los módulos de Apache y el archivo de host virtual ‘ netbox.conf ‘.

sudo a2enmod ssl proxy proxy_http headers rewrite  
sudo a2ensite netbox.conf

Después de que el host virtual esté activado, ejecuta el siguiente comando para reiniciar Apache y aplicar tus cambios. Con esto, tu instalación de Netbox debería estar funcionando bajo el proxy inverso de Apache con HTTPS habilitado.

sudo systemctl restart apache2

Por último, visita https://netbox.howtoforge.local/ con tu navegador web y serás redirigido a la página de inicio de sesión de Netbox. Ingresa tu nombre de usuario y contraseña de administrador, luego haz clic en Iniciar sesión.

login

Verás el siguiente panel de control de Netbox si tienes las credenciales de administrador adecuadas.

dashboard

Haz clic en el menú Admin > System para ver información sobre tu instalación de Netbox. En la salida siguiente, puedes ver que Netbox v4.1.7 está instalado con la base de datos PostgreSQL.

dashboard

Conclusión

¡Felicidades! Has terminado la instalación de Netbox IRM en el servidor Ubuntu 24.04. Tienes Netbox en funcionamiento con PostgreSQL como servidor de base de datos y Apache como proxy inverso. También has asegurado Netbox con HTTPS a través de Certbot.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.