NOTA: Estas instrucciones estan basadas en Instrucciones oficial de LibreNMS 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
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.
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!
# 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 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.
Después que cambia la zona horaria graba el archivo y abre:
# editor /etc/php5/cli/php.ini
y hacer el mismo cambio.
Instalamos LibreNMS usando el software git. Si Ud. no conoce git, puede leer el libro git o las pistas a git ready (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
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:
# php5enmod mcrypt
Ahora habilitar el host virtual y reinicializar el servidor web Apache:
# a2ensite librenms
# a2enmod rewrite
# service apache2 restart
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
Sigue las instrucciones en la pantalla (en Inglés):
<CLASS_PASSWORD>
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.
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:
# chown root /opt/librenms
Ahora haremos algunos cambios al archivo de configuración:
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");
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...
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";
Graba el archivo y sale - casí terminamos!
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.
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
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
Esto es todo! Ahora puede ir a 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.