En esta guía, te mostraré cómo instalar y configurar NetBox, una poderosa herramienta de gestión de infraestructura IP y centros de datos de código abierto. Seguiremos los pasos detallados para instalar y configurar la base de datos PostgreSQL, Redis y luego procederemos con la instalación de NetBox.
Instalación de PostgreSQL
Antes de continuar con la instalación de NetBox, asegúrate de tener instalada una versión de PostgreSQL 12 o posterior. Si ya tienes PostgreSQL instalado, puedes omitir este paso.
Ubuntu
sudo apt update sudo apt install -y postgresql
CentOS
sudo yum install -y postgresql-server postgresql-contrib
Creación de la Base de Datos
Ahora vamos a crear una base de datos para NetBox y asignarle un nombre de usuario y contraseña para la autenticación.
- Inicia el shell de PostgreSQL como el usuario del sistema
postgres
:
sudo -u postgres psql
- Dentro del shell, ejecuta los siguientes comandos para crear la base de datos y el usuario, sustituyendo los valores por tu propia contraseña:
CREATE DATABASE netbox;
CREATE USER netbox WITH PASSWORD 'p4sSw0rd-000000001.';
ALTER DATABASE netbox OWNER TO netbox;
Si estás utilizando PostgreSQL 15 o posterior, ejecuta estos dos comandos adicionales:
\connect netbox;
GRANT CREATE ON SCHEMA public TO netbox;
Instalación de Redis
Ahora instalaremos Redis, que NetBox utiliza para almacenamiento en caché y encolado de tareas.
Ubuntu
sudo apt install -y redis-server
CentOS
sudo yum install -y redis
Verifica que Redis esté instalado ejecutando:
bashCopy code
redis-server -v
Instalación de NetBox
Ahora que hemos configurado nuestras bases de datos, podemos proceder a instalar NetBox.
Descarga de NetBox
Opción B: Clonar el Repositorio de Git
sudo mkdir -p /opt/netbox/
cd /opt/netbox/
sudo apt install -y git
sudo git clone -b master --depth 1 https://github.com/netbox-community/netbox.git .
Configuración de NetBox
Una vez descargado. cambia el directorio a Netbox y genera la llave SECRETA de Django con el siguiente comando:
/opt/netbox/netbox/generate_secret_key.py
Deberías ver el siguiente resultado:
bWgFVM-d#L77)4dxdx&DcWuJh34_9&sJjU)@Ve-BD$qOw+94*B
Configuración de Base de Datos y Secret ID
- Copia el archivo de configuración de ejemplo:
cd /opt/netbox/netbox/netbox/
sudo cp configuration_example.py configuration.py
- Abre
configuration.py
con tu editor de texto preferido y modifica la configuración de la base de datos y Redis según sea necesario.
ALLOWED_HOSTS = ['*']
DATABASE = {
'NAME': 'netbox', # Database name
'USER': 'netbox', # PostgreSQL username
'PASSWORD': 'p4sSw0rd-000000001.', # PostgreSQL password
'HOST': 'localhost', # Database server
'PORT': '', # Database port (leave blank for default)
'CONN_MAX_AGE': 300, # Max database connection age (seconds)
}
SECRET_KEY = 'bWgFVM-d#L77)4dxdx&DcWuJh34_9&sJjU)@Ve-BD$qOw+94*B'
Ejecutar el Script de Actualización
Una vez configurado, ejecuta el script de actualización para crear un entorno virtual, instalar paquetes requeridos, migrar la base de datos y realizar otras tareas de configuración:
sudo /opt/netbox/upgrade.sh
Crear un Superusuario
Crea un superusuario para NetBox utilizando el siguiente comando:
source /opt/netbox/venv/bin/activate
cd /opt/netbox/netbox
python3 manage.py createsuperuser
Programar la Tarea de Mantenimiento
Programa la tarea de mantenimiento de NetBox para realizar tareas de limpieza recurrentes:
sudo ln -s /opt/netbox/contrib/netbox-housekeeping.sh /etc/cron.daily/netbox-housekeeping
Ejecutar la Aplicación
Inicia el servidor de desarrollo de NetBox para probar la instalación:
python3 manage.py runserver 0.0.0.0:8000 --insecure
Configuración de Gunicorn
NetBox se ejecuta como una aplicación WSGI detrás de un servidor HTTP. Aquí está la configuración de Gunicorn:
- Copia el archivo de configuración de Gunicorn:
python3 manage.py runserver 0.0.0.0:8000 --insecure
- Edita
gunicorn.py
según sea necesario para cambiar la dirección IP y/o el número de puerto.
Configuración de systemd
Utilizaremos systemd para controlar tanto gunicorn como el proceso de trabajador de NetBox. Copia los archivos de servicio de contrib a /etc/systemd/system/
:
sudo cp -v /opt/netbox/contrib/*.service /etc/systemd/system/
sudo systemctl daemon-reload
Luego, inicia y habilita los servicios de NetBox y NetBox-RQ:
sudo systemctl enable --now netbox netbox-rq
¡Ahora has instalado y configurado NetBox con éxito en tu sistema!
:wq!