Instalación NetBox · 16 min read · Oct 22, 2025

Cómo instalar la herramienta de documentación y gestión de redes NetBox en Ubuntu 22.04

NetBox es una aplicación web de gestión de direcciones IP (IPAM) y gestión de infraestructura de centros de datos (DCIM) de código abierto utilizada para gestionar y documentar redes informáticas y direcciones IP. El equipo de ingeniería de redes de DigitalOcean lo concibió inicialmente. Está escrito utilizando el marco Django de Python y utiliza la base de datos PostgreSQL para el almacenamiento de datos. También utiliza la base de datos Redis para almacenar en caché las consultas.

Este tutorial te enseñará cómo instalar la herramienta NetBox en un servidor Ubuntu 22.04 y Nginx como servidor proxy inverso.

Prerrequisitos

  • Un servidor que ejecute Ubuntu 22.04.
  • Un usuario no root con privilegios sudo.
  • Un nombre de dominio completamente calificado (FQDN) como netbox.example.com.
  • Asegúrate de que todo esté actualizado. $ sudo apt update $ sudo apt upgrade
  • Algunos paquetes que tu sistema necesita. $ sudo apt install wget curl nano software-properties-common dirmngr apt-transport-https gnupg2 ca-certificates lsb-release ubuntu-keyring unzip -y Algunos de estos paquetes pueden ya estar instalados en tu sistema.

Paso 1 - Configurar el Firewall

El primer paso es configurar el firewall. Ubuntu viene con ufw (Firewall poco complicado) por defecto.

Verifica si el firewall está en funcionamiento.

$ sudo ufw status

Deberías obtener la siguiente salida.

Estado: inactivo

Permite el puerto SSH para que el firewall no interrumpa la conexión actual al habilitarlo.

$ sudo ufw allow OpenSSH

Permite también los puertos HTTP y HTTPS.

$ sudo ufw allow http
$ sudo ufw allow https

Habilita el Firewall

$ sudo ufw enable
El comando puede interrumpir las conexiones ssh existentes. ¿Proceder con la operación (y|n)? y
El firewall está activo y habilitado al inicio del sistema

Verifica el estado del firewall nuevamente.

$ sudo ufw status

Deberías ver una salida similar.

Estado: activo

Para                         Acción      Desde
--                         ------      ----
OpenSSH                    PERMITIR    En cualquier lugar
80/tcp                     PERMITIR    En cualquier lugar
443                        PERMITIR    En cualquier lugar
OpenSSH (v6)               PERMITIR    En cualquier lugar (v6)
80/tcp (v6)                PERMITIR    En cualquier lugar (v6)
443 (v6)                   PERMITIR    En cualquier lugar (v6)

Paso 2 - Instalar y Configurar PostgreSQL

NetBox funciona con PostgreSQL 11 y superior. Ubuntu 22.04 incluye PostgreSQL 14 por defecto. Usaremos PostgreSQL 15 para nuestro tutorial.

Ejecuta el siguiente comando para agregar la clave GPG de PostgreSQL.

$ curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | sudo tee /usr/share/keyrings/postgresql-key.gpg >/dev/null

Agrega el repositorio APT a tu lista de fuentes.

$ sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/postgresql-key.gpg arch=amd64] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

Actualiza el repositorio del sistema.

$ sudo apt update

Ahora, puedes instalar PostgreSQL usando el siguiente comando.

$ sudo apt install postgresql postgresql-contrib

El paquete postgresql-contrib contiene algunas utilidades adicionales.

Verifica el estado del servicio PostgreSQL.

$ sudo systemctl status postgresql
? postgresql.service - PostgreSQL RDBMS
     Cargado: cargado (/lib/systemd/system/postgresql.service; habilitado; preestablecido por el proveedor: habilitado)
     Activo: activo (salió) desde mar 2022-11-27 9:10:35 UTC; hace 5s
    Proceso: 30544 ExecStart=/bin/true (código=salió, estado=0/ÉXITO)
   PID principal: 30544 (código=salió, estado=0/ÉXITO)
        CPU: 2ms

Dec 27 9:10:35 netbox systemd[1]: Iniciando PostgreSQL RDBMS...
Dec 27 9:10:35 netbox systemd[1]: Finalizó PostgreSQL RDBMS.

Puedes ver que el servicio está habilitado y en funcionamiento por defecto.

Lanza la consola de PostgreSQL.

$ sudo -i -u postgres psql

Crea la base de datos NetBox.

postgres=# CREATE DATABASE netbox;

Crea el usuario NetBox y elige una contraseña fuerte.

postgres-# CREATE USER netbox WITH PASSWORD 'Your_Password';

Cambia el propietario de la base de datos al usuario NetBox.

postgres-# ALTER DATABASE netbox OWNER TO netbox;

Sal de la consola.

postgres-# \q

Verifica que tus credenciales funcionen.

$ psql --username netbox --password --host localhost netbox
Contraseña para el usuario netbox:
psql (15.1 (Ubuntu 15.1-1.pgdg22.04+1))
Conexión SSL (protocolo: TLSv1.3, cifrado: TLS_AES_256_GCM_SHA384, bits: 256, compresión: apagada)
Escribe "help" para ayuda.

netbox=>

Sal de la consola escribiendo \q.

Paso 3 - Instalar y Configurar Redis

Ubuntu incluye Redis 6.0.16. Para nuestro tutorial, instalaremos la última versión del repositorio oficial.

Importa la clave GPG oficial de Redis.

$ curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg

Agrega el repositorio APT a tu lista de fuentes.

echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list

Actualiza la lista de repositorios del sistema.

$ sudo apt update

Emite el siguiente comando para instalar el servidor Redis.

$ sudo apt install redis

Confirma la versión de Redis.

$ redis-server -v
Servidor Redis v=7.0.7 sha=00000000:0 malloc=jemalloc-5.2.1 bits=64 build=2260280010e18db8

Verifiquemos la conexión del servicio utilizando el siguiente comando.

$ redis-cli

Serás cambiado a la consola de Redis.

El primer paso es establecer la contraseña para el usuario predeterminado de Redis. Reemplaza Your_Redis_Password con una contraseña fuerte de tu elección.

127.0.0.1:6379> acl setuser default >Your_Redis_Password

Prueba la autenticación de Redis.

127.0.0.1:6379> AUTH Your_Redis_Password
OK

Envía un ping al servicio.

127.0.0.1:6379> ping
PONG

Sal del servicio escribiendo exit.

Paso 4 - Descargar NetBox

NetBox requiere Python Django para funcionar. El primer paso en la instalación de NetBox es instalar los paquetes de Python requeridos. Ejecuta el siguiente comando para instalar los paquetes de Python requeridos.

$ sudo apt install -y python3 python3-pip python3-venv python3-dev build-essential libxml2-dev libxslt1-dev libffi-dev libpq-dev libssl-dev zlib1g-dev

Verifica la versión de Python.

$ python3 -V
Python 3.10.6

Crea el directorio base para la instalación de NetBox.

$ sudo mkdir -p /opt/netbox/

Cámbiate al directorio.

$ cd /opt/netbox

Clona la rama maestra del repositorio de GitHub de NetBox en el directorio actual.

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

La opción --depth 1 recupera solo el commit más reciente del repositorio. Si deseas descargar todo el historial de commits, puedes omitir la opción.

Verifica la última versión de NetBox en la página de lanzamientos y revisa usando Git. En el momento de escribir este tutorial, 3.4.1 es la última versión disponible.

$ git config --global --add safe.directory /opt/netbox
$ sudo git checkout v3.4.1

Antes de revisarlo, necesitas agregar el directorio a la lista de directorios seguros de Git. Esta es una nueva característica de seguridad disponible en las versiones recientes de Git.

El siguiente paso es crear un usuario y grupo del sistema para NetBox.

$ sudo adduser --system --group netbox

Dale al usuario permiso en el directorio de medios de NetBox.

$ sudo chown --recursive netbox /opt/netbox/netbox/media/

Paso 5 - Configurar NetBox

Cámbiate al directorio de configuración de NetBox.

$ cd /opt/netbox/netbox/netbox/

Copia el archivo de configuración de ejemplo para crear el archivo real.

$ sudo cp configuration_example.py configuration.py

Antes de proceder con la configuración, necesitamos crear una clave secreta para NetBox. Anota la clave porque la necesitaremos para la configuración.

$ python3 ../generate_secret_key.py
dSSWi$Ar2cVvu1)V!B82sY1tJAQK9r)vzM8ReQRF7@C^+$=1+(

Abre el archivo de configuración para editarlo.

$ sudo nano configuration.py

Encuentra la variable ALLOWED_HOSTS y establece sus valores de la siguiente manera. Esta variable contiene una lista de los nombres de host y direcciones IP válidos por los cuales se puede acceder a este servidor.

ALLOWED_HOSTS = ['netbox.example.com', '']

El siguiente paso es editar los detalles de la base de datos. Configura los detalles de la base de datos de la siguiente manera.

DATABASE = {
    'NAME': 'netbox',              # Nombre de la base de datos
    'USER': 'netbox',              # Nombre de usuario de PostgreSQL
    'PASSWORD': 'Your_Password',   # 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
}

Configura la configuración de Redis como se muestra. Ingresa la contraseña de Redis que estableciste en el paso 3.

REDIS = {
    'tasks': {
        'HOST': 'localhost',
        'PORT': 6379,
        # Comenta las líneas `HOST` y `PORT` y descomenta lo siguiente si usas Redis Sentinel
        # 'SENTINELS': [('mysentinel.redis.example.com', 6379)],
        # 'SENTINEL_SERVICE': 'netbox',
        'PASSWORD': 'Your_Redis_Password',
        'DATABASE': 0,
        'SSL': False,
        # Establece esto en True para omitir la verificación del certificado TLS
        # Esto puede exponer la conexión a ataques, ten cuidado
        # 'INSECURE_SKIP_TLS_VERIFY': False,
    },
    'caching': {
        'HOST': 'localhost',
        'PORT': 6379,
        # Comenta las líneas `HOST` y `PORT` y descomenta lo siguiente si usas Redis Sentinel
        # 'SENTINELS': [('mysentinel.redis.example.com', 6379)],
        # 'SENTINEL_SERVICE': 'netbox',
        'PASSWORD': 'Your_Redis_Password',
        'DATABASE': 1,
        'SSL': False,
        # Establece esto en True para omitir la verificación del certificado TLS
        # Esto puede exponer la conexión a ataques, ten cuidado
        # 'INSECURE_SKIP_TLS_VERIFY': False,
    }
}

Agrega el valor de la clave secreta a la variable.

SECRET_KEY = 'dSSWi$Ar2cVvu1)V!B82sY1tJAQK9r)vzM8ReQRF7@C^+$=1+('

Por defecto, NetBox utiliza el sistema de archivos local para almacenar archivos subidos. Puedes almacenar archivos en un sistema de archivos remoto instalando la biblioteca django-storages. Ejecuta el siguiente comando para agregar el paquete django-storages al requirements.txt de NetBox, que luego se instalará en un paso posterior. También necesitamos configurar los parámetros de almacenamiento. Descomenta la sección de almacenamiento del archivo de configuración y procede de la siguiente manera.

STORAGE_BACKEND = 'storages.backends.s3boto3.S3Boto3Storage'
STORAGE_CONFIG = {
    'AWS_ACCESS_KEY_ID': 'Key ID',
    'AWS_SECRET_ACCESS_KEY': 'Secret',
    'AWS_STORAGE_BUCKET_NAME': 'netbox',
    'AWS_S3_REGION_NAME': 'eu-west-1',
}

También se admiten otros tipos de almacenamiento, incluidos FTP, SFTP, Dropbox y otros proveedores de S3. Para aprender a configurarlos, puedes leer la página de ayuda de django-storages.

Guarda el archivo presionando Ctrl + X y entrando Y cuando se te pida.

Paso 6 - Instalar NetBox

Ejecuta el script de actualización de NetBox.

$ sudo /opt/netbox/upgrade.sh

El script de actualización realiza las siguientes tareas.

  • Crea un entorno virtual de Python
  • Instala todos los paquetes de Python requeridos
  • Ejecuta migraciones del esquema de la base de datos
  • Construye la documentación localmente (para uso sin conexión)
  • Agrega archivos de recursos estáticos en el disco

Activa el entorno virtual creado por el script de actualización.

$ source /opt/netbox/venv/bin/activate

El siguiente paso es crear un superusuario para acceder a NetBox. Pero primero, cámbiate al directorio requerido.

(venv) $ cd /opt/netbox/netbox

Crea el superusuario.

(venv) $ python3 manage.py createsuperuser

Obtendrás la siguiente salida.

Nombre de usuario (dejar en blanco para usar 'navjot'):
Dirección de correo electrónico: [email protected]
Contraseña:
Contraseña (de nuevo):
Superusuario creado con éxito.

NetBox incluye un comando de gestión housekeeping que maneja tareas de limpieza recurrentes, como eliminar sesiones antiguas y registros de cambios expirados. Puedes ejecutar el comando manualmente o usar cron para ejecutarlo a intervalos regulares. NetBox proporciona un script de shell para ejecutar las tareas de limpieza. Ejecuta el siguiente comando para crear un enlace simbólico para el script en el directorio diario de Cron. Esto asegurará que el comando se ejecute diariamente.

(venv) $ sudo ln -s /opt/netbox/contrib/netbox-housekeeping.sh /etc/cron.daily/netbox-housekeeping

El paso final es probar si la aplicación NetBox funciona. Pero primero, necesitamos abrir el puerto 8000 para la prueba. Puedes usar cualquier puerto.

(venv) $ sudo ufw allow 8000

Inicia una instancia de desarrollo de NetBox.

(venv) $ python3 manage.py runserver 0.0.0.0:8000 --insecure

Si es exitoso, obtendrás la siguiente salida.

Realizando verificaciones del sistema...

La verificación del sistema no identificó problemas (0 silenciados).
27 de diciembre de 2022 - 09:27:37
Versión de Django 4.1.4, usando configuraciones 'netbox.settings'
Iniciando servidor de desarrollo en http://0.0.0.0:8000/
Sal del servidor con CONTROL-C.

Deberías poder acceder a NetBox a través de la URL http://:8000/. Obtendrás la siguiente pantalla.

Página de inicio de NetBox

Haz clic en el botón Iniciar sesión para abrir la página de inicio de sesión e ingresa las credenciales del superusuario creadas anteriormente.

Página de inicio de sesión de NetBox

Serás llevado de regreso al panel de control de NetBox.

Presiona la tecla Ctrl + C para detener el servidor. Desactiva el entorno virtual de Python.

(venv) $ deactivate

Paso 7 - Configurar Gunicorn y Crear un Archivo de Servicio

NetBox se ejecuta como una aplicación WSGI detrás de un servidor HTTP. NetBox instala automáticamente el servidor Gunicorn. En este paso, configuraremos Gunicorn y crearemos un archivo de servicio para NetBox para que pueda ejecutarse en segundo plano y a través de reinicios del sistema.

NetBox incluye un archivo de configuración predeterminado de Gunicorn. Crea una copia de él.

$ sudo cp /opt/netbox/contrib/gunicorn.py /opt/netbox/gunicorn.py

La configuración predeterminada debería ser suficiente para nuestros propósitos. Dependiendo de tus necesidades, puedes editar el archivo para cambiar el nombre de host, el número de puerto o hacer mejoras de rendimiento cambiando hilos, trabajadores y el número de solicitudes.

El siguiente paso es copiar ambos archivos de servicio de NetBox y Gunicorn al directorio /etc/systemd/system.

$ sudo cp -v /opt/netbox/contrib/*.service /etc/systemd/system/

Recarga el demonio del servicio.

$ sudo systemctl daemon-reload

Inicia y habilita los servicios netbox y netbox-rq.

$ sudo systemctl start netbox netbox-rq
$ sudo systemctl enable netbox netbox-rq

Verifica el estado del servicio WSGI.

$ sudo systemctl status netbox

Obtendrás una salida similar.

? netbox.service - Servicio WSGI de NetBox
     Cargado: cargado (/etc/systemd/system/netbox.service; habilitado; preestablecido por el proveedor: habilitado)
     Activo: activo (en ejecución) desde mar 2022-12-27 09:28:23 UTC; hace 17s
       Docs: https://docs.netbox.dev/
   PID principal: 4180 (gunicorn)
      Tareas: 6 (límite: 1030)
     Memoria: 357.9M
        CPU: 7.747s
     CGroup: /system.slice/netbox.service
             ??4180 /opt/netbox/venv/bin/python3 /opt/netbox/venv/bin/gunicorn --pid /var/tmp/netbox.pid --pythonpath /opt/netbox/netbox --config /opt/netbox/gunicorn.py netbox.wsgi
             ??4181 /opt/netbox/venv/bin/python3 /opt/netbox/venv/bin/gunicorn --pid /var/tmp/netbox.pid --pythonpath /opt/netbox/netbox --config /opt/netbox/gunicorn.py netbox.wsgi
             ??4182 /opt/netbox/venv/bin/python3 /opt/netbox/venv/bin/gunicorn --pid /var/tmp/netbox.pid --pythonpath /opt/netbox/netbox --config /opt/netbox/gunicorn.py netbox.wsgi
             ??4183 /opt/netbox/venv/bin/python3 /opt/netbox/venv/bin/gunicorn --pid /var/tmp/netbox.pid --pythonpath /opt/netbox/netbox --config /opt/netbox/gunicorn.py netbox.wsgi
             ??4184 /opt/netbox/venv/bin/python3 /opt/netbox/venv/bin/gunicorn --pid /var/tmp/netbox.pid --pythonpath /opt/netbox/netbox --config /opt/netbox/gunicorn.py netbox.wsgi
             ??4185 /opt/netbox/venv/bin/python3 /opt/netbox/venv/bin/gunicorn --pid /var/tmp/netbox.pid --pythonpath /opt/netbox/netbox --config /opt/netbox/gunicorn.py netbox.wsgi

Dec 27 09:28:23 netbox systemd[1]: Servicio WSGI de NetBox iniciado.
Dec 27 09:28:24 netbox gunicorn[4180]: [2022-12-27 09:28:24 +0000] [4180] [INFO] Iniciando gunicorn 20.1.0
Dec 27 09:28:24 netbox gunicorn[4180]: [2022-12-27 09:28:24 +0000] [4180] [INFO] Escuchando en: http://127.0.0.1:8001 (4180)
Dec 27 09:28:24 netbox gunicorn[4180]: [2022-12-27 09:28:24 +0000] [4180] [INFO] Usando trabajador: gthread
Dec 27 09:28:24 netbox gunicorn[4181]: [2022-12-27 09:28:24 +0000] [4181] [INFO] Iniciando trabajador con pid: 4181
Dec 27 09:28:24 netbox gunicorn[4182]: [2022-12-27 09:28:24 +0000] [4182] [INFO] Iniciando trabajador con pid: 4182
Dec 27 09:28:24 netbox gunicorn[4183]: [2022-12-27 09:28:24 +0000] [4183] [INFO] Iniciando trabajador con pid: 4183
Dec 27 09:28:24 netbox gunicorn[4184]: [2022-12-27 09:28:24 +0000] [4184] [INFO] Iniciando trabajador con pid: 4184
Dec 27 09:28:24 netbox gunicorn[4185]: [2022-12-27 09:28:24 +0000] [4185] [INFO] Iniciando trabajador con pid: 4185

Como puedes ver, Gunicorn escucha en el puerto 8001 por defecto. Esta información será útil al configurar Nginx como servidor proxy inverso.

Paso 8 - Instalar Nginx

Ubuntu 22.04 incluye una versión más antigua de Nginx. Para instalar la última versión, necesitas descargar el repositorio oficial de Nginx.

Importa la clave de firma de Nginx.

$ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
    | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null

Agrega el repositorio para la versión estable de Nginx.

$ echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg arch=amd64] \
http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \
    | sudo tee /etc/apt/sources.list.d/nginx.list

Actualiza los repositorios del sistema.

$ sudo apt update

Instala Nginx.

$ sudo apt install nginx

Verifica la instalación.

$ nginx -v
versión de nginx: nginx/1.22.1

Inicia el servidor Nginx.

$ sudo systemctl start nginx

Paso 9 - Instalar SSL

Necesitamos instalar Certbot para generar el certificado SSL. Puedes instalar Certbot usando el repositorio de Ubuntu o obtener la última versión usando la herramienta Snapd. Usaremos la versión de Snapd.

Ubuntu 22.04 viene con Snapd instalado por defecto. Ejecuta los siguientes comandos para asegurarte de que tu versión de Snapd esté actualizada. Asegúrate de que tu versión de Snapd esté actualizada.

$ sudo snap install core
$ sudo snap refresh core

Instala Certbot.

$ sudo snap install --classic certbot

Usa el siguiente comando para asegurarte de que el comando Certbot se ejecute creando un enlace simbólico al directorio /usr/bin.

$ sudo ln -s /snap/bin/certbot /usr/bin/certbot

Ejecuta el siguiente comando para generar un certificado SSL.

$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d netbox.example.com

El comando anterior descargará un certificado en el directorio /etc/letsencrypt/live/netbox.example.com en tu servidor.

Genera un certificado de grupo Diffie-Hellman.

$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096

Para verificar si la renovación de SSL está funcionando bien, haz una prueba en seco del proceso.

$ sudo certbot renew --dry-run

Si no ves errores, estás listo. Tu certificado se renovará automáticamente.

Paso 10 - Configurar Nginx

Abre el archivo /etc/nginx/nginx.conf para editarlo.

$ sudo nano /etc/nginx/nginx.conf

Agrega la siguiente línea antes de la línea include /etc/nginx/conf.d/*.conf;.

server_names_hash_bucket_size  64;

Guarda el archivo presionando Ctrl + X y entrando Y cuando se te pida.

Crea y abre el archivo /etc/nginx/conf.d/netbox.conf para editarlo.

$ sudo nano /etc/nginx/conf.d/netbox.conf

Pega el siguiente código en él.

server {
  # Redirigir cualquier solicitud http a https
  listen         80;
  listen         [::]:80;
  server_name    netbox.example.com;
  return 301     https://$host$request_uri;
}

server {
  listen                    443 ssl http2;
  listen                    [::]:443 ssl http2;
  server_name               netbox.example.com;

  access_log                /var/log/nginx/netbox.access.log;
  error_log                 /var/log/nginx/netbox.error.log;

  # Configuración de TLS
  ssl_certificate           /etc/letsencrypt/live/netbox.example.com/fullchain.pem;
  ssl_certificate_key       /etc/letsencrypt/live/netbox.example.com/privkey.pem;
  ssl_trusted_certificate   /etc/letsencrypt/live/netbox.example.com/chain.pem;
  ssl_protocols             TLSv1.2 TLSv1.3;

  ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384';
  ssl_prefer_server_ciphers on;
  ssl_session_cache         shared:SSL:50m;
  ssl_session_timeout       1d;

  # OCSP Stapling ---
  # obtener registros OCSP de la URL en ssl_certificate y almacenarlos en caché
  ssl_stapling on;
  ssl_stapling_verify on;
  ssl_dhparam /etc/ssl/certs/dhparam.pem;

  client_max_body_size 25m;

  # Proxy todo hacia el servidor netbox
  location /static/ {
    alias /opt/netbox/netbox/static/;
  }

  location / {
    proxy_set_header        X-Real-IP $remote_addr;
    proxy_set_header        X-Forwarded-Proto $scheme;
    proxy_set_header        X-Forwarded-Host $http_host;
    proxy_pass              http://127.0.0.1:8001;
  }
}

Guarda el archivo presionando Ctrl + X y entrando Y cuando se te pida una vez que termines.

Verifica la sintaxis del archivo de configuración de Nginx.

$ sudo nginx -t
nginx: el archivo de configuración /etc/nginx/nginx.conf tiene una sintaxis correcta
nginx: la prueba del archivo de configuración /etc/nginx/nginx.conf fue exitosa

Reinicia el servicio Nginx.

$ sudo systemctl restart nginx

Ahora puedes acceder al panel de control de NetBox a través de la URL https://netbox.example.com.

Paso 11 - Actualizar NetBox

Actualizar NetBox es bastante fácil. Los pasos implican revisar la rama maestra del repositorio de Git, extraer los últimos commits y luego revisar la nueva versión estable.

Cámbiate al directorio de NetBox.

$ cd /opt/netbox

Revisa la rama maestra.

$ sudo git checkout master

Extrae los últimos commits del repositorio.

$ sudo git pull origin master

Revisa la nueva versión. Si 3.4.2 es la versión más nueva, puedes revisarla.

$ sudo git checkout v3.4.2

Ejecuta el script de actualización.

$ sudo ./upgrade.sh

Para el proceso de actualización, el script realiza las siguientes funciones.

  • Destruye y reconstruye el entorno virtual de Python
  • Instala todos los paquetes de Python requeridos (listados en requirements.txt)
  • Instala cualquier paquete adicional de local_requirements.txt
  • Aplica cualquier migración de base de datos que se incluyó en la versión
  • Construye la documentación localmente (para uso sin conexión)
  • Recoge todos los archivos estáticos que serán servidos por el servicio HTTP
  • Elimina tipos de contenido obsoletos de la base de datos
  • Elimina todas las sesiones de usuario expiradas de la base de datos

Reinicia los servicios Gunicorn y NetBox.

$ sudo systemctl restart netbox netbox-rq

Conclusión

Esto concluye nuestro tutorial sobre la instalación de la herramienta de documentación y gestión de redes NetBox en un servidor Ubuntu 22.04 junto con Nginx como servidor proxy inverso. Si tienes alguna pregunta, publícalas en los comentarios a continuación.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

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