Cómo instalar la herramienta de gestión y documentación de red NetBox en Ubuntu 22.04
NetBox es una aplicación web de código abierto de gestión de direcciones IP (IPAM) y gestión de infraestructuras de centros de datos (DCIM) que se utiliza para gestionar y documentar redes informáticas y direcciones IP. Fue concebida inicialmente por el equipo de ingeniería de redes de DigitalOcean. Está escrita utilizando el framework Django 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á a instalar la herramienta NetBox en un servidor Ubuntu 22.04 y Nginx como servidor proxy inverso.
Requisitos previos
- Un servidor con Ubuntu 22.04.
- Un usuario no root con privilegios sudo.
- Un nombre de dominio completo (FQDN) como
netbox.example.com
. - Asegúrate de que todo está actualizado.
$ sudo apt update $ sudo apt upgrade
- Pocos paquetes que necesite tu sistema.
$ sudo apt install wget curl nano software-properties-common dirmngr apt-transport-https gnupg2 ca-certificates lsb-release ubuntu-keyring unzip -y
Puede que algunos de estos paquetes ya estén instalados en tu sistema.
Paso 1 – Configurar el Cortafuegos
El primer paso es configurar el cortafuegos. Ubuntu viene con ufw (Uncomplicated Firewall) por defecto.
Comprueba si el cortafuegos se está ejecutando.
$ sudo ufw status
Deberías obtener la siguiente salida.
Status: inactive
Permite el puerto SSH para que el cortafuegos no rompa la conexión actual al activarlo.
$ sudo ufw allow OpenSSH
Permite también los puertos HTTP y HTTPS.
$ sudo ufw allow http $ sudo ufw allow https
Habilita el cortafuegos
$ sudo ufw enable Command may disrupt existing ssh connections. Proceed with operation (y|n)? y Firewall is active and enabled on system startup
Comprueba de nuevo el estado del cortafuegos.
$ sudo ufw status
Deberías ver un resultado similar.
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere 80/tcp ALLOW Anywhere 443 ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) 80/tcp (v6) ALLOW Anywhere (v6) 443 (v6) ALLOW Anywhere (v6)
Paso 2 – Instalar y configurar PostgreSQL
NetBox funciona con PostgreSQL 11 y versiones superiores. Ubuntu 22.04 viene con PostgreSQL 14 por defecto. Nosotros utilizaremos PostgreSQL 15 para nuestro tutorial.
Ejecuta el siguiente comando para añadir 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
Añade 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 utilizando el comando siguiente.
$ sudo apt install postgresql postgresql-contrib
El paquete postgresql-contrib
contiene algunas utilidades adicionales.
Comprueba el estado del servicio PostgreSQL.
$ sudo systemctl status postgresql ? postgresql.service - PostgreSQL RDBMS Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled) Active: active (exited) since Tue 2022-11-27 9:10:35 UTC; 5s ago Process: 30544 ExecStart=/bin/true (code=exited, status=0/SUCCESS) Main PID: 30544 (code=exited, status=0/SUCCESS) CPU: 2ms Dec 27 9:10:35 netbox systemd[1]: Starting PostgreSQL RDBMS... Dec 27 9:10:35 netbox systemd[1]: Finished PostgreSQL RDBMS.
Verás que el servicio está activado y en ejecución por defecto.
Inicia el intérprete de comandos 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 segura.
postgres-# CREATE USER netbox WITH PASSWORD 'Your_Password';
Cambia el propietario de la base de datos por el usuario NetBox.
postgres-# ALTER DATABASE netbox OWNER TO netbox;
Sal del intérprete de comandos.
postgres-# \q
Comprueba que tus credenciales funcionan.
$ psql --username netbox --password --host localhost netbox Password for user netbox: psql (15.1 (Ubuntu 15.1-1.pgdg22.04+1)) SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off) Type "help" for help. netbox=>
Sal del intérprete de comandos escribiendo \q
.
Paso 3 – Instalar y configurar Redis
Ubuntu incluye Redis 6.0.16. Para nuestro tutorial, instalaremos la última versión desde el 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
Añade 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
Ejecuta el siguiente comando para instalar el servidor Redis.
$ sudo apt install redis
Confirma la versión de Redis.
$ redis-server -v Redis server v=7.0.7 sha=00000000:0 malloc=jemalloc-5.2.1 bits=64 build=2260280010e18db8
Verifiquemos la conexión al servicio mediante el siguiente comando.
$ redis-cli
Pasarás a la shell de Redis.
El primer paso es establecer la contraseña para el usuario Redis por defecto. Sustituye Your_Redis_Password
por una contraseña segura 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
Haz ping al servicio.
127.0.0.1:6379> ping PONG
Sal del servicio escribiendo exit
.
Paso 4 – Descarga NetBox
NetBox requiere Python Django para funcionar. El primer paso para instalar NetBox es instalar los paquetes de Python necesarios. Ejecuta el siguiente comando para instalar los paquetes Python necesarios.
$ 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
Comprueba 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/
Cambia al directorio.
$ cd /opt/netbox
Clona la rama maestra del repositorio GitHub de NetBox en el directorio actual.
$ sudo git clone -b master --depth 1 https://github.com/netbox-community/netbox.git .
La bandera --depth 1
sólo recupera la confirmación más reciente del repositorio. Si quieres descargar todo el historial de confirmaciones, puedes omitir la bandera.
Consulta la última versión de NetBox en la página de versiones y compruébala utilizando Git. En el momento de escribir el 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 comprobarla, tienes que añadir el directorio a la lista de directorios seguros de Git. Se trata de una nueva función de seguridad disponible en las versiones recientes de Git.
El siguiente paso es crear un usuario y un grupo de sistema para NetBox.
$ sudo adduser --system --group netbox
Da permiso al usuario sobre el directorio multimedia de NetBox.
$ sudo chown --recursive netbox /opt/netbox/netbox/media/
Paso 5 – Configurar NetBox
Cambia 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 a la configuración, necesitamos crear una clave secreta para NetBox. Anota la clave porque la necesitamos 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
Busca la variable ALLOWED_HOSTS
y establece sus valores como se indica a continuación. Esta variable contiene una lista de los nombres de host y direcciones IP válidos con los que se puede acceder a este servidor.
ALLOWED_HOSTS = ['netbox.example.com', '<yourserverIP>']
El siguiente paso es editar los detalles de la base de datos. Configura los detalles de la base de datos como se indica a continuación.
DATABASE = { 'NAME': 'netbox', # Database name 'USER': 'netbox', # PostgreSQL username 'PASSWORD': 'Your_Password', # PostgreSQL password 'HOST': 'localhost', # Database server 'PORT': '', # Database port (leave blank for default) 'CONN_MAX_AGE': 300, # Max database connection age }
Configura la configuración de Redis como se muestra. Introduce la contraseña de Redis que estableciste en el paso 3.
REDIS = { 'tasks': { 'HOST': 'localhost', 'PORT': 6379, # Comment out `HOST` and `PORT` lines and uncomment the following if using Redis Sentinel # 'SENTINELS': [('mysentinel.redis.example.com', 6379)], # 'SENTINEL_SERVICE': 'netbox', 'PASSWORD': 'Your_Redis_Password', 'DATABASE': 0, 'SSL': False, # Set this to True to skip TLS certificate verification # This can expose the connection to attacks, be careful # 'INSECURE_SKIP_TLS_VERIFY': False, }, 'caching': { 'HOST': 'localhost', 'PORT': 6379, # Comment out `HOST` and `PORT` lines and uncomment the following if using Redis Sentinel # 'SENTINELS': [('mysentinel.redis.example.com', 6379)], # 'SENTINEL_SERVICE': 'netbox', 'PASSWORD': 'Your_Redis_Password', 'DATABASE': 1, 'SSL': False, # Set this to True to skip TLS certificate verification # This can expose the connection to attacks, be careful # 'INSECURE_SKIP_TLS_VERIFY': False, } }
Añade 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 los archivos subidos. Puedes almacenar archivos en un sistema de archivos remoto instalando la biblioteca django-storages
. Ejecuta el siguiente comando para añadir el paquete django-storages
a requirements.txt
de NetBox, que se instalará en un paso posterior. También tenemos que configurar los parámetros de almacenamiento. Descomenta la sección de almacenamiento del archivo de configuración y procede como se indica a continuación.
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, como FTP, SFTP, Dropbox y otros proveedores de S3. Para saber cómo configurarlos, puedes leer la página de ayudadjango-storages
.
Guarda el archivo pulsando Ctrl + X e introduciendo Y cuando se te solicite.
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 Python
- Instala todos los paquetes Python necesarios
- Ejecuta las migraciones del esquema de la base de datos
- Construye la documentación localmente (para su uso sin conexión)
- Agrega los 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 antes, pasa al directorio necesario.
(venv) $ cd /opt/netbox/netbox
Crea el superusuario.
(venv) $ python3 manage.py createsuperuser
Obtendrás la siguiente salida.
Username (leave blank to use 'navjot'): Email address: [email protected] Password: Password (again): Superuser created successfully.
NetBox incluye un comando de gestión housekeeping
que se encarga de las tareas recurrentes de limpieza, como borrar las sesiones antiguas y los registros de cambios caducados. Puedes ejecutar el comando manualmente o utilizar 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 suave para el script en el directorio diario de Cron. Esto garantizará que el comando se ejecute diariamente.
(venv) $ sudo ln -s /opt/netbox/contrib/netbox-housekeeping.sh /etc/cron.daily/netbox-housekeeping
El último paso es probar si la aplicación NetBox funciona. Pero antes, tenemos que abrir el puerto 8000 para las pruebas. Aunque puedes utilizar 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 funciona, obtendrás la siguiente salida.
Performing system checks... System check identified no issues (0 silenced). December 27, 2022 - 09:27:37 Django version 4.1.4, using settings 'netbox.settings' Starting development server at http://0.0.0.0:8000/ Quit the server with CONTROL-C.
Deberías poder acceder a NetBox a través de la URL http://<yourserverIP>:8000/
. Obtendrás la siguiente pantalla.
Haz clic en el botón Iniciar sesión para abrir la página de inicio de sesión e introduce las credenciales de superusuario creadas anteriormente.
Volverás al panel de NetBox.
Pulsa la tecla Ctrl + C para detener el servidor. Desactiva el entorno virtual 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, de modo que pueda ejecutarse en segundo plano y a través de los reinicios del sistema.
NetBox incluye un archivo de configuración de Gunicorn por defecto. Crea una copia del mismo.
$ sudo cp /opt/netbox/contrib/gunicorn.py /opt/netbox/gunicorn.py
La configuración por defecto debería ser suficiente para nuestros propósitos. Dependiendo de tus necesidades, puedes editar el archivo para cambiar el nombre de host y el número de puerto o mejorar el rendimiento cambiando los hilos, los trabajadores y el número de peticiones.
El siguiente paso es copiar los archivos de servicio de NetBox y Gunicorn en el directorio /etc/systemd/system
.
$ sudo cp -v /opt/netbox/contrib/*.service /etc/systemd/system/
Recarga el demonio de servicio.
$ sudo systemctl daemon-reload
Inicia y activa los servicios netbox
y netbox-rq
.
$ sudo systemctl start netbox netbox-rq $ sudo systemctl enable netbox netbox-rq
Comprueba el estado del servicio WSGI.
$ sudo systemctl status netbox
Obtendrás una salida similar.
? netbox.service - NetBox WSGI Service Loaded: loaded (/etc/systemd/system/netbox.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2022-12-27 09:28:23 UTC; 17s ago Docs: https://docs.netbox.dev/ Main PID: 4180 (gunicorn) Tasks: 6 (limit: 1030) Memory: 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]: Started NetBox WSGI Service. Dec 27 09:28:24 netbox gunicorn[4180]: [2022-12-27 09:28:24 +0000] [4180] [INFO] Starting gunicorn 20.1.0 Dec 27 09:28:24 netbox gunicorn[4180]: [2022-12-27 09:28:24 +0000] [4180] [INFO] Listening at: http://127.0.0.1:8001 (4180) Dec 27 09:28:24 netbox gunicorn[4180]: [2022-12-27 09:28:24 +0000] [4180] [INFO] Using worker: gthread Dec 27 09:28:24 netbox gunicorn[4181]: [2022-12-27 09:28:24 +0000] [4181] [INFO] Booting worker with pid: 4181 Dec 27 09:28:24 netbox gunicorn[4182]: [2022-12-27 09:28:24 +0000] [4182] [INFO] Booting worker with pid: 4182 Dec 27 09:28:24 netbox gunicorn[4183]: [2022-12-27 09:28:24 +0000] [4183] [INFO] Booting worker with pid: 4183 Dec 27 09:28:24 netbox gunicorn[4184]: [2022-12-27 09:28:24 +0000] [4184] [INFO] Booting worker with pid: 4184 Dec 27 09:28:24 netbox gunicorn[4185]: [2022-12-27 09:28:24 +0000] [4185] [INFO] Booting worker with pid: 4185
Como puedes ver, Gunicorn escucha en el puerto 8001 por defecto. Esta información te será útil cuando configures Nginx como servidor proxy inverso.
Paso 8 – Instalar Nginx
Ubuntu 22.04 viene con una versión 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
Añade el repositorio de 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 nginx version: nginx/1.22.1
Iniciar el servidor Nginx.
$ sudo systemctl start nginx
Paso 9 – Instalar SSL
Necesitamos instalar Certbot para generar el certificado SSL. Puedes instalar Certbot utilizando el repositorio de Ubuntu o descargar la última versión utilizando la herramienta Snapd. Nosotros utilizaremos la versión 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
Utiliza el siguiente comando para asegurarte de que se ejecuta el comando Certbot 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
de tu servidor.
Genera un certificado de grupo Diffie-Hellman.
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
Para comprobar si la renovación SSL funciona correctamente, realiza una ejecución en seco del proceso.
$ sudo certbot renew --dry-run
Si no ves ningún error, ya está todo 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
Añade la siguiente línea antes de la línea include /etc/nginx/conf.d/*.conf;
.
server_names_hash_bucket_size 64;
Guarda el archivo pulsando Ctrl + X e introduciendo Y cuando se te solicite.
Crea y abre el archivo /etc/nginx/conf.d/netbox.conf
para editarlo.
$ sudo nano /etc/nginx/conf.d/netbox.conf
Pega en él el siguiente código.
server { # Redirect any http requests to 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; # TLS configuration 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 --- # fetch OCSP records from URL in ssl_certificate and cache them ssl_stapling on; ssl_stapling_verify on; ssl_dhparam /etc/ssl/certs/dhparam.pem; client_max_body_size 25m; # Proxy everything over to the netbox server 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 pulsando Ctrl + X e introduciendo Y cuando se te solicite una vez hayas terminado.
Comprueba la sintaxis del archivo de configuración de Nginx.
$ sudo nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Reinicia el servicio Nginx.
$ sudo systemctl restart nginx
Ahora puedes acceder al Panel de NetBox a través de la URL https://netbox.example.com
.
Paso 11 – Actualizar NetBox
Actualizar NetBox es bastante sencillo. Los pasos consisten en consultar la rama maestra del repositorio Git, extraer los últimos commits y, a continuación, consultar la nueva versión estable.
Cambia al directorio NetBox.
$ cd /opt/netbox
Comprueba la rama maestra.
$ sudo git checkout master
Extrae los últimos commits del repositorio.
$ sudo git pull origin master
Comprueba la nueva versión. Si la versión 3.4.2 es la más reciente, puedes comprobarla.
$ 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 necesarios (enumerados en
requirements.txt
) - Instala cualquier paquete adicional de
local_requirements.txt
- Aplica las migraciones de bases de datos incluidas en la versión.
- Construye la documentación localmente (para su uso sin conexión)
- Recoge todos los archivos estáticos que debe servir el servicio HTTP
- Elimina los tipos de contenido obsoletos de la base de datos
- Elimina todas las sesiones de usuario caducadas de la base de datos
Reinicia el servicio Gunicorn y NetBox.
$ sudo systemctl restart netbox netbox-rq
Conclusión
Con esto concluye nuestro tutorial sobre la instalación de la Herramienta de Gestión y Documentación de Red NetBox en un servidor Ubuntu 22.04 junto con NGinx como servidor proxy inverso. Si tienes alguna pregunta, publícala en los comentarios a continuación.