Netbox es una herramienta para administrar y documentar equipos y redes informáticas. Creada por el personal de DigitalOcean, es una herramienta INDISPENSABLE para administrar Datacenters, salas de IT de empresas o incluso nuestro lab casero. Os mostraré como Instalar netbox en CentOS 7 y para qué nos puede ser útil.
¿Cómo instalar Netbox?
Vamos a instalar la aplicación en un servidor Linux CentOS 7 y necesitaremos lo siguiente:
PostgreSQL, Python y Webserver (Nginx o Apache).
Mediante Git descargaremos la última versión de Netbox.
Empezamos instalando PostGreSQL descargando el repositorio
yum install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
Seguidamente instalamos PostgreSQL
yum install postgresql96 postgresql96-server postgresql96-devel
Y procedemos a inicializar la base de datos.
/usr/pgsql-9.6/bin/postgresql96-setup initdb
Ahora procedemos a cambiar la configuración del password de postgreSQL.
vi /var/lib/pgsql/9.6/data/pg_hba.conf
Tendremos que modificar lo que pone ident por md5.
A continuación levantamos el servicio de PostgreSQL y lo hacemos persistente al inicio.
systemctl start postgresql-9.6
systemctl enable postgresql-9.6
Ahora vamos a crear la base de datos para netbox, el usuario y credenciales.
sudo -u postgres psql psql (9.6.12) Type "help" for help. postgres=# CREATE DATABASE netbox; CREATE DATABASE postgres=# CREATE USER netbox WITH PASSWORD 'UN_PASSWORD'; CREATE ROLE postgres=# GRANT ALL PRIVILEGES ON DATABASE netbox TO netbox; GRANT postgres=# \q
A continuación instalaremos Python.
# yum install -y epel-release # yum install -y gcc python36 python36-devel python36-setuptools libxml2-devel libxslt-devel libffi-devel graphviz openssl-devel redhat-rpm-config # easy_install-3.6 pip # ln -s /usr/bin/python36 /usr/bin/python3
Finalmente creamos un enlace simbolico.
Procedemos ahora a crear una carpeta para netbox donde lo descargaremos usango GIT.
mkdir -p /opt/netbox/ && cd /opt/netbox/
Comprobamos tener git instalado, sino lo instalamos.
Usango git, descargamos el paquete de netbox.
git clone -b master https://github.com/digitalocean/netbox.git .
Ahora vamos a crear un usuario para netbox.
useradd netbox passwd netbox
Vemos todo lo que se nos ha descargado con git.
A continuación instalamos los paquetes necesarios para python usando pip.
pip3 install -r requirements.txt
Copiamos la configuración básica a nuestro nuevo archivo de configuración.
cp configuration.example.py configuration.py
En la configuración, podemos especificar detalles de la base de datos, los usuarios administradores, el banner con el nombre de la empresa, configuración de email para notificaciones o el tipo de formato de fecha y hora.
Ahora importamos el schema de la base de datos.
python3 manage.py migrate
Creamos el usuario superuser ( administrador ).
python3 manage.py createsuperuser
Ahora vamos a comprobar que la apliación carga y podemos usarla. Esto nos sirve a modo de test.
python3 manage.py runserver 0.0.0.0:8000 --insecure
A continuación instalaremos nuestro webserver, en esta ocasión usaré Apache. Os dejo un artículo dónde explico cómo instalarlo.
Una vez tenemos nuestro webserver instalado, instalaremos gunicorn.
pip3 install gunicorn
Y modificamos el archivo de configuración:
/opt/netbox/gunicorn_config.py
Una vez modificado el archivo de configuación de gunicorn, instalamos supervisor.
yum install -y supervisor
Ahora configuramos la configuración de supervisor.
vi /etc/supervisor.d/netbox.ini
Reiniciamos el servicio de supervisor con systemctl restart supervisord
Finalmente, si vamos a la IP o la URL de nuestra aplicación, hacemos login y ya podremos trabajar con netbox.
Entrando en http://url/admin podremos gestionar los usuarios, grupos, permisos, etc…
Ahora ya sólo nos quedará agregar equipos, rangos de IP, servidores, etc…
Os dejo la configuración de apache por si os sirve de referencia.
Norman trabaja como Administrador de Sistemas con más de 12 años de experiencia en entornos Windows, Linux, VMware, SAN, Redes. | MCSA | CCNA | VCP-DCV | vExpert