Está en la página 1de 6

7/1/2020 LibreNMS

LibreNMS

1 Instalar y configurar LIbreNMS


1.1 Metas
Aprender como configurar el sistema de Gestión de Redes LibreNMS

1.2 Notas
Los comandos precedidos por el signo de pesos "$", deben ser ejecutados como un usuario general - y no
como superusuario (root).
Los comandos precedidos por el signo de número "#", deben ser ejecutados por el superusuario (root).
Los comandos precedidos por lineas de comando más específicas (e.g. "rtrX>" or "mysql>") deben ser
ejecutados en equipos remotos, dentro de otras aplicaciones.
Si la línea de comandos termina con una barra invertida "", quiere decir que el comando continua en la
próxima línea y todas líneas deben ser tratadas como un comando de sola línea.
Referencias a "N", representan su número de grupo.

2 Crear base de datos


NOTA: Estas instrucciones estan basadas en Instrucciones oficial de LibreNMS
(http://docs.librenms.org/Installation/Installation-(Debian-Ubuntu)/) y fueron probadas con una instalación nueva de
Ubuntu 14.04.

Vamos a trabajar como el usuario root:

$ sudo bash

Ahora instala mysql y configurarlo:

# apt-get install mysql-server mysql-client


# mysql -uroot -p

Si te pide una contraseña por el usuario root de mysql elige que quieres, pero tiene que estar 100% seguro que se
la recuerdas. Si ya tiene una contraseña de usuario root de mysql usala ahora.

Crear el base de datos:

CREATE DATABASE librenms;


GRANT ALL PRIVILEGES ON librenms.*
TO 'librenms'@'localhost'
IDENTIFIED BY '<CLASS_PASSWORD>'
;
FLUSH PRIVILEGES;
exit

https://nsrc.org/workshops/2016/walc/gestion/exercises/librenms-install.htm 1/6
7/1/2020 LibreNMS

POR FAVOR NOTA

Estamos usando <CLASS PASSWORD> como la contraseña para LibreNMS para darlo acceso MySQL. Por favor
reemplaze <CLASS PASSWORD> con la contraseña del taller.

3 Instalar LibreNMS
Instalar todo el software requerido para que LibreNMS puede correr:

apt-get install libapache2-mod-php5 php5-cli php5-mysql php5-gd php5-snmp \


php-pear php5-curl snmp graphviz php5-mcrypt php5-json apache2 fping \
imagemagick whois mtr-tiny nmap python-mysqldb snmpd mysql-client \
php-net-ipv4 php-net-ipv6 rrdtool git

Aquí tenemos el comando arriba en una solo línea que puede ser mas facíl para copiar y pegar en su
terminal.

apt-get install libapache2-mod-php5 php5-cli php5-mysql php5-gd php5-snmp php-pear php5-curl snmp
graphviz php5-mcrypt php5-json apache2 fping imagemagick whois mtr-tiny nmap python-mysqldb snmpd
mysql-client php-net-ipv4 php-net-ipv6 rrdtool git

Tiene que tener snmpd configurado so no ha hecho este antes. Una configuración minima por snmpd es:

rocommunity NetManage 127.0.0.1

Se puede poner esta línea en el archivo /etc/snmp/snmpd.conf y ejecutando el comando service snmpd
restart para activar la configuración, pero por favor "NO haz esto si ya tiene configurado SNMP!

3.1 Fijar la Zona Horaria


# editor /etc/php5/apache2/php.ini

Busqua la línea que dice date.timezone y se ajusta a su zona horaria preferida. Puede ver
http://php.net/manual/en/timezones.php (http://php.net/manual/en/timezones.php) o los archivos debajo
/usr/share/zoneinfo por una lista de zonas horarias permitidas. Por este taller todo tiene que estar en la
misma zona horaria, así vamos a usar UTC - POR FAVOR no elige otra zona horaria, porque causará problemas
mas adelante.

En el archivo encontrar la linea:

;date.timezone =

Y cambiala a:

date.timezone = Etc/UTC

Graba y salga del archivo.

https://nsrc.org/workshops/2016/walc/gestion/exercises/librenms-install.htm 2/6
7/1/2020 LibreNMS

Después que cambia la zona horaria graba el archivo y abre:

# editor /etc/php5/cli/php.ini

y hacer el mismo cambio.

3.2 Clonación del código fuente LibreNMS con git


Instalamos LibreNMS usando el software git. Si Ud. no conoce git, puede leer el libro git (http://git-scm.com/book)
o las pistas a git ready (http://gitready.com/) (estan en Inglés). La instalación inicial se lo hace usando el comando
git clone . Las proxímas actualizaciones de LibreNMS se lo hace usando el comando git pull .

El git clone inicial puede demorar bastane, así tenmos una copia de repositorio git de LibreNMS en nuestra
maquína local de noc.ws.nsrc.org.

Para instalar LibreNMS ejecuta el siguiente:

# cd /opt
# git clone http://noc.ws.nsrc.org/git/librenms.git librenms

3.3 Interfaz Web


Para prepara el interfaz web tiene que crear y cambiar los privilegios de dos directorios y, tambien, crear una
definición de una host virtual por el servidor de Web Apache.

Primero creamos y cambianos los privilegios de los directorios:

# cd /opt/librenms
# mkdir rrd logs
# chown www-data:www-data logs/ rrd/

Ahora creamos un archivo de configuración:

# editor /etc/apache2/sites-available/librenms.conf

añadir las siguientes líneas:

<VirtualHost *:80>
DocumentRoot /opt/librenms/html/
ServerName librenmsN.ws.nsrc.org
CustomLog /opt/librenms/logs/access_log combined
ErrorLog /opt/librenms/logs/error_log
AllowEncodedSlashes NoDecode
<Directory "/opt/librenms/html/">
Require all granted
AllowOverride All
Options FollowSymLinks MultiViews
</Directory>
</VirtualHost>

OJO! - Cambia el "N" en librenmsN.ws.nsrc.org al número de su PC.

En Ubuntu 14.04 necesitamos un programa de php llamada mcrypt . Haz lo siguiente:


https://nsrc.org/workshops/2016/walc/gestion/exercises/librenms-install.htm 3/6
7/1/2020 LibreNMS

# php5enmod mcrypt

Ahora habilitar el host virtual y reinicializar el servidor web Apache:

# a2ensite librenms
# a2enmod rewrite
# service apache2 restart

3.4 Instalador Web


Se puede elegir de instalar a través la Web o en forma manual usando la línea de comandos. Vamos a usar el
instalador web, que es mas facíl.

Para hacer la instalación mas facíl damos acceso al usuario www-data (que usa el servidor Web Apache) para
que se puede escribir en el directorio /opt/librenms para crear el archivo de configuración.

Ejecute el siguiente comando

# chown www-data /opt/librenms

Cambiaremos esta al usuario root mas adelante cuando terminamos (es más seguro).

Ahora puede empezar con el instalador Web llendo a:

http://librenmsN.ws.nsrc.org/install.php (http://librenmsN.ws.nsrc.org/install.php)

Sigue las instrucciones en la pantalla (en Inglés):

Etapa 1 le pide por su configuración de base de datos. Tecla


DB Host: localhost
DB User: librenms
DB Pass: <CLASS_PASSWORD>
DB Name: librenms
Etapa 3: tecla un usuario, contraseña y dirección de correo. Esto será el usuario que usa para entrar el
interfaz web.

Sugerimos que usa sysadm , y la contraseña del taller y su propio dirección de correo electrónico.

Etapa 5: ahora el interfaz web debería mostrar:

"The config file has been created"

Nota: SI programa de instalación le dice que no se puede escribir al archivo de configuración puede ser que Ud.
olvdio de correr chown www-data /opt/librenms .

Intenta de reparar el problema y recarga: http://librenmsX.ws.nsrc.org/install.php


(http://librenmsX.ws.nsrc.org/install.php) .

Si todavía no funciona va a necesitar copiar la configuración generada desde la ventana de su navegador de web
a un archivo nuevo /opt/librenms/config.php .

Ahora podemos asegurar el directorio /opt/librenms de nuevo:

https://nsrc.org/workshops/2016/walc/gestion/exercises/librenms-install.htm 4/6
7/1/2020 LibreNMS

# chown root /opt/librenms

3.5 Configuración Básica


Ahora haremos algunos cambios al archivo de configuración:

Cambiar la comunidad por defecto de SNMP


Permitir detección automática xDP (CDP/LLDP) de la red
Decir a LibreNMS cual redes se puede escanear y/o descubrir

3.5.1 Configurando la comunidad de SNMP


Cambiamos la comunidad que LibreNMS intenta de usar cuando se descubre dispositivos nuevos.

Editar el archivo /opt/librenms/config.php , y encontrar la línea:

$config['snmp']['community'] = array("public");

Y cambiarla a:

$config['snmp']['community'] = array("NetManage");

3.5.2 Habilitando detección automática de xDP

Todavía en el archivo /opt/librenms/config.php , y debajo la línea:

$config['snmp']['community'] = array("NetManage");

... añadir el siguiente:

$config['autodiscovery']['xdp'] = TRUE;

Esto dice a LibreNMS usar CDP y LLDP para encontrar y descubri dispositivos vecinos automáticamente.

Tenemos un cambio más...

3.5.3 Decirle a LibreNMS cuales subredes se puede escanear automáticamente.

Para ser seguro y no escanear el Internet por error, LibreNMS necesitar saber cuales subredes se puede escanear
por dispositivos nuevos.

Todavía en el archivo /opt/librenms/config.php , encuentra la línea:

#$config['nets'][] = "10.0.0.0/8";

... y remover el # al principo de la línea para que se vea así:

$config['nets'][] = "10.0.0.0/8";

https://nsrc.org/workshops/2016/walc/gestion/exercises/librenms-install.htm 5/6
7/1/2020 LibreNMS

Graba el archivo y sale - casí terminamos!

3.5.4 Agrega un host


Agregamos localhost (su servidor virtual) usando los siguientes comandos. Más tarde lo haremos usando el
interfax web:

# cd /opt/librenms
# php addhost.php localhost NetManage v2c

Notar que explícitamente decimos a LibreNMS cual comunidad de SNMP uar. Además asumimo que es SNMP
versión v2c. Si tiene sus dispositivos configurado con snmp versión 3 hay pasos adicionales que no hemos
incluido.

3.6 Configuración Final


3.6.1 Prueba el poller

Tenemos que decir a LibreNMS descubrir a localhost y "poll" (preguntalo) por la primera vez. Puede hacer esto
en la línea de comando para ver si esta funcionando bien.

# cd /opt/librenms
# php discovery.php -h all && php poller.php -h all

3.6.2 Crear el cronjob


Crear el cronjob que va a correr las tareas periódicas que son requeridos por LibreNMS:

# cd /opt/librenms
# cp librenms.cron /etc/cron.d/librenms

3.7 Instalación completada


Esto es todo! Ahora puede ir a http://librenmsN.ws.nsrc.org/ (http://librenmsN.ws.nsrc.org/) y hacer un login. Por
favor, nota que no hemos hablado de configuración de HTTPS - así su instalación de LibreNMS no es seguro.
Por favor que no lo expone al Internet público hasta que configura HTTPS y tiene su servidor configurado en
forma segura.

https://nsrc.org/workshops/2016/walc/gestion/exercises/librenms-install.htm 6/6