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 updateUna 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-devIngresa ‘ Y ‘ para confirmar la instalación.

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 apache2En la salida siguiente, puedes ver que Apache está en ejecución y habilitado.

Por último, verifica el estado del servidor PostgreSQL con lo siguiente:
sudo systemctl is-enabled postgresql
sudo systemctl status postgresqlEn 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).

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 psqlAhora 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
\duPuedes ver a continuación que la base de datos ‘ netboxdb ‘ y el usuario ‘ netbox ‘ están creados.
Escribe ‘ quit ‘ para salir del servidor PostgreSQL.


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 netboxAhora 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/netboxMué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.pyA 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.pyAgrega 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
A continuación, puedes ver la migración de la base de datos para Netbox.

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 ‘.

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/activateVe al directorio ‘ /opt/netbox/netbox ‘ y ejecuta el script ‘ manage.py ‘ como sigue:
cd /opt/netbox/netbox
python3 manage.py createsuperuserIngresa tu nombre de usuario, dirección de correo electrónico y contraseña para el administrador de Netbox.

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.pyAhora 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-reloadUna 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-housekeepingPor ú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-housekeepingEn la salida siguiente, puedes ver que el servicio ‘ netbox ‘ está en ejecución y habilitado.

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

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

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 apache2Ahora 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.localDespué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.confReemplaza 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.confDespué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 apache2Por ú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.

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

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.

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.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.