Instalación NetBox · 11 min read · Oct 31, 2025
Cómo instalar NetBox IRM en Debian 12

NetBox es un modelo 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.
En esta guía, te mostraremos cómo instalar el software NetBox IRM en un servidor Debian 12 paso a paso. Te mostraremos la instalación de NetBox con PostgreSQL como el servidor de base de datos y Apache2 como un proxy inverso. También asegurarás tu instalación de NetBox con certificados SSL/TLS.
Prerrequisitos
Antes de proceder, asegúrate de tener lo siguiente:
- Un servidor Debian 12.
- Un usuario no root con privilegios de administrador.
- Un nombre de dominio público o local apuntado a la dirección IP del servidor.
Instalación de Dependencias
NetBox es una aplicación web basada en el marco web Python Django. Se puede instalar con el servidor de base de datos PostgreSQL y el servidor Redis para la gestión de caché.
En el siguiente paso, instalarás esas dependencias que NetBox necesita, también instalarás el servidor web Apache2 que se utilizará como un proxy inverso para tu instalación de NetBox.
Para comenzar, ejecuta el siguiente comando apt para actualizar tu repositorio de Debian.
sudo apt update
Luego, instala las dependencias de paquetes para tu instalación de NetBox IRM.
sudo apt install apache2 postgresql postgresql-common libpq-dev redis-server git python3 python3-pip python3-venv python3-dev build-essential libxml2-dev libxslt1-dev libffi-dev libssl-dev zlib1g-devEscribe y para proceder con la instalación de dependencias como el servidor web Apache2, el servidor de base de datos PostgreSQL, Redis, Git, paquetes de Python3 y algunas bibliotecas del sistema adicionales.

Después de que se instalen las dependencias, verifica cada dependencia ejecutando el comando a continuación.
Verifica el servicio apache2 para asegurarte de que el servicio esté habilitado y en ejecución.
sudo systemctl is-enabled apache2
sudo systemctl status apache2Si apache2 está en ejecución y habilitado, deberías obtener una salida como la siguiente:

Verifica el servicio PostgreSQL para asegurarte de que el servicio esté en ejecución y habilitado.
sudo systemctl is-enabled postgresql
sudo systemctl status postgresqlEl servicio PostgreSQL debería estar en ejecución y habilitado como este:

Ahora verifica el servicio Redis para asegurarte de que el servicio esté en ejecución y habilitado.
sudo systemctl is-enabled redis
sudo systemctl status redisEl servicio Redis debería estar en ejecución y habilitado como el siguiente

Por último, verifica la versión de Python usando el comando a continuación. La última versión de NetBox IRM admite Python v3.9, 3.10 y 3.11.
python3 --versionDeberías ver Python 3.11 instalado en tu máquina Debian.
Configuración del Servidor PostgreSQL
Después de instalar las dependencias, crearás una nueva base de datos PostgreSQL y un usuario que NetBox utilizará. Para hacer eso, debes iniciar sesión en el servidor PostgreSQL a través de la línea de comandos psql.
Inicia sesión en el servidor PostgreSQL ejecutando el comando a continuación.
sudo -u postgres psqlEjecuta las siguientes consultas para crear un nuevo usuario netbox con la contraseña p4ssw0rd. Luego, crea una nueva base de datos netboxdb con el propietario netbox.
CREATE USER netbox LOGIN CREATEDB PASSWORD 'p4ssw0rd';
CREATE DATABASE netboxdb OWNER netbox;
Después de eso, verifica la lista de usuarios y bases de datos en tu PostgreSQL ejecutando el comando a continuación.
\l
\duDeberías ver la base de datos netboxdb y el usuario netbox creados en tu servidor PostgreSQL.

Escribe quit para salir del servidor PostgreSQL.
A continuación, inicia sesión en PostgreSQL usando el nuevo usuario netbox en la base de datos netboxdb. Esto asegurará que el usuario netbox pueda conectarse a la base de datos netboxdb.
sudo -u postgres psql --username netbox --password --host localhost netboxdbUna vez conectado, verifica tu conexión usando la siguiente consulta.
\conninfoEn la siguiente salida, deberías ver que te has conectado a la base de datos netboxdb a través del usuario netbox.

Escribe quit nuevamente para salir de tu servidor PostgreSQL.
Configuración del Servidor Redis
Con la base de datos y el usuario PostgreSQL creados, el siguiente paso es configurar tu servidor Redis que se utilizará como gestión de caché para NetBox. Para hacer eso, modificarás la configuración de Redis /etc/redis/redis.conf y verificarás tus cambios a través de redis-cli.
Abre la configuración predeterminada de Redis /etc/redis/redis.conf usando el siguiente comando del editor nano.
sudo nano /etc/redis/redis.confDescomenta la opción requirepass e ingresa tu contraseña que se utilizará para asegurar tu servidor Redis.
requirepass p4ssw0rdNetBoxCuando termines, guarda y sal del archivo.
Ahora ejecuta el siguiente comando systemctl para reiniciar el servicio redis y aplicar los cambios que has realizado.
sudo systemctl restart redisPara asegurarte de que todo esté funcionando, puedes verificar Redis a través de redis-cli. Accede a tu servidor Redis usando el comando redis-cli a continuación.
redis-cliAutentícate en el servidor Redis usando la siguiente consulta AUTH y asegúrate de cambiar la contraseña.
AUTH p4ssw0rdNetBoxUna vez autenticado, deberías obtener la salida OK.
Ahora ejecuta la consulta PING a continuación para asegurarte de que tu conexión sea exitosa.
PINGSi es exitoso, deberías obtener la salida PONG del servidor Redis.

Instalación de NetBox IRM
En la siguiente sección, descargarás e instalarás NetBox IRM en tu sistema. Descargarás el código fuente de NetBox a través de Git, luego lo configurarás modificando la configuración de NetBox, agregando el servidor de base de datos PostgreSQL y Redis, y luego también crearás un usuario administrador para NetBox.
Primero, ejecuta el comando a continuación para crear un nuevo usuario systemd netbox que se utilizará para ejecutar la instalación de NetBox.
sudo useradd -r -d /opt/netbox -s /usr/sbin/nologin netboxDescarga el código fuente de NetBox IRM a través de git y cambia la propiedad del directorio /opt/netbox al usuario netbox.
cd /opt; sudo git clone -b master --depth 1 https://github.com/netbox-community/netbox.git
sudo chown -R netbox:netbox /opt/netbox
A continuación, mueve tu directorio de trabajo a /opt/netbox y genera la clave secreta de NetBox a través del script generate_secret_key.py. Asegúrate de copiar la clave secreta generada que se utilizará para tu instalación de NetBox.
cd /opt/netbox/netbox/netbox
sudo -u netbox python3 ../generate_secret_key.pyCopia la configuración predeterminada configuration_example.py a configuration.py, luego abre el nuevo archivo configuration.py usando el siguiente comando del editor nano.
sudo -u netbox cp configuration_example.py configuration.py
sudo -u netbox nano configuration.pyDentro de la sección ALLOWED_HOSTS, agrega tu nombre de dominio o la dirección IP de tu servidor.
ALLOWED_HOSTS = ['netbox.howtoforge.local', '192.168.10.15']Ingresa los detalles de tu base de datos PostgreSQL en la sección DATABASE, incluyendo el nombre de la base de datos, usuario, contraseña, host y puerto.
# configuración de la base de datos
DATABASE = {
'NAME': 'netboxdb', # Nombre de la base de datos
'USER': 'netbox', # Nombre de usuario de PostgreSQL
'PASSWORD': 'p4ssw0rd', # Contraseña de PostgreSQL
'HOST': 'localhost', # Servidor de base de datos
'PORT': '', # Puerto de base de datos (dejar en blanco para predeterminado)
'CONN_MAX_AGE': 300, # Edad máxima de conexión a la base de datos (segundos)
}Dentro de la sección REDIS, ingresa los detalles de tu servidor Redis tanto para tareas como para opciones de caché.
# configuración de caché Redis
REDIS = {
'tasks': {
'HOST': 'localhost', # Servidor Redis
'PORT': 6379, # Puerto Redis
'PASSWORD': 'p4ssw0rdNetBox', # Contraseña de Redis (opcional)
'DATABASE': 0, # ID de base de datos
'SSL': False, # Usar SSL (opcional)
},
'caching': {
'HOST': 'localhost',
'PORT': 6379,
'PASSWORD': 'p4ssw0rdNetBox',
'DATABASE': 1, # ID único para la segunda base de datos
'SSL': False,
}
}Por último, ingresa tu clave secreta en la sección SECRET_KEY.
# Clave secreta
SECRET_KEY = 'ZjYbgz$)j!NnqJcZLR!NB2BCz4(Yyk=o^Xr(1sTIrM)ZyiE%nk'Cuando termines, guarda y sal del archivo.
A continuación, ejecuta el script /opt/netbox/upgrade.sh para iniciar tu instalación de NextBox. Esto creará un nuevo entorno virtual de Python, instalará algunos paquetes y bibliotecas de Python, ejecutará la migración de la base de datos a tu servidor PostgreSQL, también generará archivos estáticos para NextBox.
sudo -u netbox /opt/netbox/upgrade.shA continuación se muestra la salida similar que obtendrás durante el proceso.

El proceso de migración de la base de datos.

Generando archivos estáticos.

A continuación se muestra la salida cuando la instalación ha finalizado.

Después de que NetBox esté configurado, crearás un usuario administrador para NetBox. Para hacer eso, inicia sesión en el entorno virtual de Python que se creó usando el siguiente comando.
source /opt/netbox/venv/bin/activateMuévete al directorio /opt/netbox/netbox y ejecuta el script manage.py para crear un usuario administrador de NetBox.
cd /opt/netbox/netbox
python3 manage.py createsuperuserCuando se te pida, ingresa tu dirección de correo electrónico de administrador, nombre de usuario y detalles de contraseña.

A continuación, ejecuta nuevamente manage.py para verificar tu instalación de NetBox. Con esto, ejecutarás NetBox en tu dirección IP local con el puerto 8000.
python3 manage.py runserver 0.0.0.0:8000 --insecure
Abre tu navegador web y visita la dirección IP de tu servidor seguida del puerto 8000, como http://192.168.10.15:8000/. Si tu instalación es exitosa, deberías obtener la página de índice de NetBox IRM, y desde allí, haz clic en el botón Iniciar sesión en la parte superior derecha.

Ingresa tu usuario administrador y la contraseña que has creado, luego haz clic en Iniciar sesión.

Si todo va bien, deberías obtener el panel de control de NetBox como el siguiente:

Regresa a tu terminal y presiona Ctrl+c para terminar el proceso.
Ejecutando NetBox como un Servicio Systemd
En este punto, has instalado NetBox IRM en tu máquina Debian. Para facilitar la gestión de NetBox, lo ejecutarás como un servicio systemd, lo que te permitirá controlar NetBox a través de la utilidad systemctl.
Copia el archivo /opt/netbox/contrib/gunicorn.py a /opt/netbox/gunicorn.py, luego abre el archivo gunicorn.py usando el comando del editor nano a continuación.
sudo -u netbox cp /opt/netbox/contrib/gunicorn.py /opt/netbox/gunicorn.py
sudo -u netbox nano /opt/netbox/gunicorn.pyCambia la opción bind a lo siguiente. Esto ejecutará tu instalación de NetBox en el puerto 8001 de localhost a través de gunicorn.
bind = '127.0.0.1:8001'Guarda y cierra el archivo cuando termines.
A continuación, copia los archivos de servicio systemd para NetBox al directorio /etc/systemd/system/. Esto copiará el archivo de servicio netbox, netbox-rq y netbox-housekeeping al directorio /etc/systemd/system/. Luego, recarga el administrador de systemd para aplicar los nuevos cambios en tu sistema.
sudo cp -v /opt/netbox/contrib/*.service /etc/systemd/system/
sudo systemctl daemon-reloadAhora puedes iniciar y habilitar tanto el servicio netbox como el servicio netbox-rq usando el comando systemctl a continuación. Después de ejecutar el comando, tu instalación de NetBox se ejecutará en segundo plano como un servicio systemd.
sudo systemctl start netbox netbox-rq netbox-housekeeping
sudo systemctl enable netbox netbox-rq netbox-housekeepingPor último, verifica ambos servicios netbox y netbox-rq usando el siguiente comando.
sudo systemctl status netbox
sudo systemctl status netbox-rqLa siguiente salida indica que el servicio netbox está en ejecución y habilitado.

La salida a continuación confirma que el servicio netbox-rq está en ejecución y habilitado.

Configuración de Apache como un Proxy Inverso
En el siguiente paso, configurarás Apache2 como un proxy inverso. Antes de eso, asegúrate de tener un nombre de dominio apuntado a la dirección IP de tu servidor, también puedes usar un nombre de dominio local.
Si estás usando un dominio local, puedes ejecutar el siguiente comando openssl para generar certificados SSL. Si estás usando el dominio público, puedes usar Certbot para generar certificados SSL de Letsencrypt.
openssl req -x509 -newkey rsa:4096 -sha256 -days 365 \
-nodes -keyout /etc/ssl/private/netbox.key -out /etc/ssl/certs/netbox.crt -subj "/CN=netbox.howtoforge.local" \
-addext "subjectAltName=DNS:netbox.howtoforge.local,IP:192.168.10.15"Ahora copia el ejemplo de configuración del host virtual de Apache para NetBox a /etc/apache2/sites-available/netbox.conf. Luego, modifica el archivo /etc/apache2/sites-available/netbox.conf usando el siguiente comando del editor nano.
sudo cp /opt/netbox/contrib/apache.conf /etc/apache2/sites-available/netbox.conf
sudo nano /etc/apache2/sites-available/netbox.confCambia el nombre de dominio por tu dominio y cambia la ruta de los certificados SSL/TLS por la ruta de archivo adecuada.
# CAMBIA ESTO POR EL NOMBRE DE TU SERVIDOR
ServerName netbox.howtoforge.local
...
ProxyPreserveHost On
# CAMBIA ESTO POR EL NOMBRE DE TU SERVIDOR
ServerName netbox.howtoforge.local
SSLEngine on
SSLCertificateFile /etc/ssl/certs/netbox.crt
SSLCertificateKeyFile /etc/ssl/private/netbox.key
...
Guarda y cierra el archivo cuando termines.
Ahora ejecuta el siguiente comando para habilitar algunos módulos de Apache2 que son necesarios para NetBox.
sudo a2enmod ssl proxy proxy_http headers rewriteDespués de eso, ejecuta el siguiente comando para activar el archivo del host virtual netbox.conf y verificar tus configuraciones de Apache2 para asegurarte de que tienes la sintaxis adecuada.
sudo a2ensite netbox.conf
sudo apachectl configtestSi tienes la sintaxis adecuada de Apache2, deberías obtener la salida Syntax OK.

Ahora ejecuta el siguiente comando para reiniciar el servicio Apache2 y aplicar los cambios que has realizado.
sudo systemctl restart apache2Tu instalación de NetBox debería ser accesible a través del nombre de dominio.
Abre tu navegador web y visita el nombre de dominio de tu instalación de NetBox, como https://netbox.howtoforge.local/. Si todo va bien, deberías ver la página de índice de NetBox como la siguiente:

Después de iniciar sesión, deberías ver el panel de control de NetBox IRM ejecutándose con el nombre de dominio bajo el proxy inverso de Apache2.

Conclusión
En conclusión, ahora has instalado NetBox IRM en el servidor Debian 12 con el servidor de base de datos PostgreSQL y el servidor web Apache2 utilizado como un proxy inverso. También has asegurado tu instalación de NetBox a través de certificados SSL/TLS.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.