Monitoreo · 10 min read · Nov 17, 2025

Cómo configurar la herramienta de monitoreo LibreNMS con Nginx en Ubuntu 16.04 LTS

LibreNMS es una herramienta de monitoreo de código abierto basada en PHP/MYSQL/SNMP. Es un sistema de monitoreo de red con características que proporciona soporte para una amplia gama de hardware de red y sistemas operativos, incluyendo FreeBSD, Cisco, Linux, HP, etc.

En este tutorial, te mostraré cómo instalar y configurar la herramienta de monitoreo de código abierto ‘LibreNMS’ usando Nginx como servidor web, MariaDB como base de datos y Ubuntu 16.04 como nuestro servidor principal. Te guiaremos paso a paso sobre cómo instalar y configurar ‘LibreNMS’ en el servidor Ubuntu 16.04 Xenial Xerus.

Lo que haremos

  1. Instalar paquetes
  2. Instalar el servidor web Nginx
  3. Instalar y configurar PHP-FPM
  4. Instalar y configurar MariaDB
  5. Descargar y configurar LibreNMS
  6. Instalador web de LibreNMS
  7. Configuración final

Requisitos previos

  • Servidor Ubuntu 16.04
  • Privilegios de root

Paso 1 - Instalar paquetes

El primer paso que debemos hacer para instalar las herramientas de monitoreo de LibreNMS es instalar algunos paquetes necesarios en el servidor. Conéctate a tu servidor y actualiza el repositorio.

ssh root@hakase-labs-server  
sudo apt update

Instala todos los paquetes requeridos para LibreNMS desde el repositorio de Ubuntu usando el siguiente comando.

apt install fping imagemagick whois mtr-tiny nmap python-mysqldb snmpd  rrdtool git snmp graphviz

Después de que la instalación esté completa, ve al siguiente paso.

Paso 2 - Instalar el servidor web Nginx

En este tutorial, ejecutaremos LibreNMS bajo el servidor web Nginx. Nginx es un poderoso servidor web que está disponible en los repositorios de Ubuntu.

Instala nginx usando el comando apt desde el repositorio de la siguiente manera.

apt install nginx

Cuando haya terminado, inicia el servicio y habilítalo para que se ejecute automáticamente cada vez que se inicie el sistema.

systemctl start nginx  
systemctl enable nginx

El servidor web Nginx se está ejecutando en el puerto 80 por defecto. Podemos verificar el puerto usando el comando netstat y verificar Nginx usando el comando curl para obtener el código de estado HTTP, como se muestra a continuación.

netstat -plntu | grep 80  
curl -I localhost

Verificar puertos con netstat

La instalación de Nginx se ha completado.

Paso 3 - Instalar y configurar PHP-FPM

LibreNMS es una herramienta de monitoreo de aplicaciones web basada en PHP. Ofrece soporte para la nueva versión de PHP 7.0, y la utilizaremos para esta guía.

Instala PHP, PHP-FPM y todas las extensiones/módulos necesarios para la instalación de LibreNMS usando el comando apt a continuación.

apt install php7.0-cli php7.0-mysql php7.0-gd php7.0-snmp php-pear php7.0-curl php7.0-fpm php7.0-mcrypt php7.0-json php-net-ipv4 php-net-ipv6

A continuación, necesitamos agregar algunas configuraciones a los archivos php.ini. Necesitamos definir la zona horaria predeterminada en el archivo php.ini y asegurarnos de que la zona horaria coincida con la zona horaria actual utilizada por el sistema.

Verifica la zona horaria actualmente utilizada por el sistema con el siguiente comando.

timedatectl

Deberías obtener un resultado similar al siguiente.

Verificar configuración de zona horaria

Puedes ver que el servidor está utilizando la zona horaria ‘Europe/Paris‘.

Ahora ve al directorio de configuración de PHP y edita los archivos php.ini para la configuración de cli y fpm.

cd /etc/php/7.0/  
vim fpm/php.ini  
vim cli/php.ini

Descomenta la línea ‘date.time‘ y cambia el valor a nuestra zona horaria del sistema ‘Europe/Paris‘.

date.time = Europe/Paris

Descomenta la configuración cgi a continuación, cambia el valor a 0.

cgi.fix_pathinfo = 0

Guarda y sal.

Toda la configuración está completa. Ahora inicia el servicio y habilítalo para que se inicie cada vez que se inicie el sistema usando los siguientes comandos systemctl.

systemctl start php7.0-fpm  
systemctl enable php7.0-fpm

PHP-FPM ahora se está ejecutando en el servidor ubuntu - se está ejecutando bajo el archivo sock. Verifícalo con el comando netstat.

netstat -pl | grep php

Verificar proceso PHP-FPM

Paso 4 - Instalar y configurar MariaDB

En este paso, instalaremos el mariadb-server para la base de datos de LibreNMS. Instalaremos, configuraremos y crearemos una nueva base de datos y un nuevo usuario para la instalación de LibreNMS.

Instala mariadb-server desde el repositorio de ubuntu usando el comando apt a continuación.

apt install mariadb-server mariadb-client mariadb

Cuando haya terminado, inicia el servicio y habilítalo para que se ejecute automáticamente al iniciar el sistema, algo que puedes hacer usando los siguientes comandos systemctl.

systemctl start mysql  
systemctl enable mysql

El servidor de base de datos mariadb ahora se está ejecutando. A continuación, necesitamos configurar la contraseña de root para mariadb. Podemos usar el comando ‘mysql_secure_installation’ a continuación para configurar la contraseña de root.

mysql_secure_installation

Se te preguntará sobre la nueva contraseña de root - escribe tu contraseña y presiona ‘Enter’ para continuar.

Set root password? [Y/n] Y  
Remove anonymous users? [Y/n] Y  
Disallow root login remotely? [Y/n] Y  
Remove test database and access to it? [Y/n] Y  
Reload privilege tables now? [Y/n] Y

La contraseña de root para mariadb ha sido configurada.

A continuación, debemos crear una nueva base de datos y un usuario para LibreNMS. Crearemos una nueva base de datos llamada ‘librenms’, un nuevo usuario llamado ‘librenms’ con la contraseña ‘hakase-labs123’.

Inicia sesión en el shell de mariadb usando el siguiente comando.

mysql -u root -p  
Type the ROOT Password:

Ejecuta las consultas de mariadb a continuación para crear una nueva base de datos y usuario, y otorgar todos los privilegios en la base de datos al nuevo usuario.

CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_unicode_ci;  
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'hakase-labs123';  
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';  
FLUSH PRIVILEGES;

Se ha creado una nueva base de datos y usuario para LibreNMS.

Agregar una base de datos

Para la instalación de LibreNMS, necesitamos agregar algunas configuraciones al archivo de configuración. Ve al directorio ‘/etc/mysql/‘ y edita el archivo de configuración de mariadb.

cd /etc/mysql/  
vim mariadb.conf.d/50-server.cnf

Pega la configuración a continuación bajo la sección ‘[mysqld]‘.

innodb_file_per_table=1  
sql-mode=""  
lower_case_table_names=0

Guarda y sal.

Cambiar configuraciones de MariaDB

Ahora aplica la nueva configuración reiniciando el servicio.

systemctl restart mysql

La configuración de la base de datos mariadb se ha completado.

Paso 5 - Descargar y configurar LibreNMS

En este paso, configuraremos el sistema para la instalación de LibreNMS.

- Agregar nuevo usuario y descargar LibreNMS

Crea un nuevo usuario del sistema llamado ‘librenms’, define ‘/opt/librenms’ como el directorio de inicio predeterminado para el usuario y asigna el nuevo usuario ‘librenms’ al grupo www-data.

Ejecuta el siguiente comando para hacerlo todo.

useradd librenms -d /opt/librenms -M -r  
usermod -a -G librenms www-data

Ahora ve al directorio ‘/opt/‘ y descarga el código fuente de LibreNMS usando el comando git.

cd /opt/  
git clone https://github.com/librenms/librenms.git librenms

Agregar usuario librenms

A continuación, crea un nuevo directorio para los archivos de registro de libreNMS y los archivos rrd.

mkdir -p /opt/librenms/{logs,rrd}

Cambia los permisos de propiedad para el directorio ‘rrd’ a ‘775’, y cambia el propietario del directorio ‘librenms’ al usuario y grupo ‘librenms’.

chmod -R 775 /opt/librenms/rrd/  
chown -R librenms:librenms /opt/librenms/

Se ha creado un nuevo ‘librenms’, y se ha descargado el código fuente de LibreNMS.

- Configurar el Virtualhost de LibreNMS

Ve al directorio de configuración de ‘nginx’ y crea un nuevo archivo de host virtual ‘librenms’ con vim.

cd /etc/nginx/  
vim sites-available/librenms

Pega la siguiente configuración del host virtual de LibreNMS allí.

server {  
    
    # Agrega tu propio nombre de dominio  
    listen      80;  
    server_name librenms.irsyadf.me;  
    
    # Directorio raíz de LibreNMS  
    root        /opt/librenms/html;  
    index       index.php;  
    
    # Registros de LibreNMS  
    access_log  /opt/librenms/logs/access_log;  
    error_log   /opt/librenms/logs/error_log;  
    
    # Habilitando la compresión Gzip en Nginx  
    charset utf-8;  
    gzip on;  
    gzip_types text/css application/javascript text/javascript application/x-javascript image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;  
    
    location / {  
        try_files $uri $uri/ /index.php?$query_string;  
    }  
    
    location /api/v0 {  
        try_files $uri $uri/ /api_v0.php?$query_string;  
    }  
    
    # PHP-FPM maneja todas las solicitudes de archivos .php  
    location ~ \.php {  
        include fastcgi.conf;  
        fastcgi_split_path_info ^(.+\.php)(/.+)$;  
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;  
    }  
  
    location ~ /\.ht {  
        deny all;  
    }  
}

Guarda y sal. Ahora, activa el virtualhost.

ln -s /etc/nginx/sites-available/librenms /etc/nginx/sites-enabled/

Prueba la configuración de nginx y asegúrate de que no haya errores. Luego reinicia el servicio.

ginx -t  
systemctl restart nginx

- Configurar el firewall UFW

Agrega nuevos puertos al firewall. Agrega nuevo ssh, http, https y el puerto utilizado por snmpd 161 tipo udp al firewall ufw.

Ejecuta los siguientes comandos ufw.

ufw allow ssh  
ufw allow http  
ufw allow https  
ufw allow 161/udp

Configurar firewall UFW

Inicia el firewall ufw con el comando ufw enable como se muestra a continuación.

ufw enable

Escribe ‘y’ y presiona ‘Enter’ para confirmar. Inicia y habilítalo para que se inicie cada vez que se inicie el sistema.

Si deseas ver el estado del firewall, ejecuta el comando ‘ufw status’.

ufw status

Obtendrás el estado del firewall - activo o inactivo - y la lista de puertos y servicios agregados al firewall.

Lista de configuración del firewall

Paso 6 - Instalador web de LibreNMS

Después de que todos los pasos anteriores estén completos, necesitamos instalar LibreNMS a través del navegador web. Abre tu navegador web, escribe el nombre de dominio de LibreNMS ‘librenms.hakase-labs.co’ en la barra de direcciones y presiona Enter.

- Verificando módulos de PHP

Serás redirigido a la página install.php que muestra el resultado de las verificaciones de soporte de módulos de PHP. Asegúrate de que todo el estado esté en verde como se muestra a continuación.

Instalador web de LibreNMS

Haz clic en ‘Siguiente etapa‘ para continuar.

- Configuración de la base de datos

Completa toda la información de la base de datos con tu propia base de datos.

  • Usuario de DB: librenms
  • Contraseña de DB: hakase-labs123
  • Nombre de DB: librenms

Establecer detalles de la base de datos

Y haz clic en ‘Siguiente etapa‘.

- Importando base de datos MySQL

Espera a que el script del instalador importe una muestra de la base de datos a nuestra base de datos - no cierres la pestaña del navegador durante este proceso.

Etapa 2 completada

Después de que toda la base de datos se importe, haz clic en ‘Ir a agregar usuario‘.

- Agregar usuario administrador

Aquí, escribe tu usuario administrador, correo electrónico y contraseña.

Agregar el usuario administrador

Haz clic en ‘Agregar usuario‘.

- Generar configuración de LibreNMS

Generar configuración de LibreNMS

Haz clic en el botón ‘Generar configuración‘.

Y obtendrás un archivo de configuración similar al que se muestra a continuación.

Guardar configuración en archivo

Copia el script de configuración php y vuelve a tu sesión ssh. Ve al directorio ‘/opt/librenms’ y crea el archivo ‘config.php’ manualmente usando vim.

cd /etc/librenms/  
vim config.php

Pega la configuración allí y cambia la propiedad del archivo al usuario y grupo librenms.

chown librenms:librenms config.php

Vuelve a tu navegador web y haz clic en el botón ‘Finalizar instalación‘.

Ahora llegas a la última página del instalador web de librenms - ver a continuación.

Instalación finalizada

Paso 7 - Configuración final

Después de que la instalación a través del navegador web esté completa, necesitamos hacer algunos otros pasos.

- Configurar SNMP

Haz una copia de seguridad del archivo de configuración predeterminado y copia la configuración de muestra al directorio ‘/etc/snmp/‘.

mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.aseli  
cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf

Edita la nueva configuración con vim.

vim /etc/snmp/snmpd.conf

Reemplaza la línea ‘RANDOMSTRINGGOESHERE’ con tu propio nombre de comunidad ‘hakaselabs’, como se muestra a continuación.

com2sec readonly  default         hakaselabs

Guarda y sal.

Archivo de configuración SNMP

A continuación, necesitamos descargar el script de detección de distribución. Descárgalo usando curl, luego haz que el script sea ejecutable y, finalmente, reinicia el servicio snmp.

curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro  
chmod +x /usr/bin/distro  
systemctl restart snmpd

- Configuración de Crontab y Logrotate

Ve al directorio librenms y copia la configuración de muestra para Crontab y Logrotate.

cd /opt/librenms/

Copia la configuración.

cp librenms.nonroot.cron /etc/cron.d/librenms  
cp misc/librenms.logrotate /etc/logrotate.d/librenms

Ahora reinicia el servicio cron y recarga la configuración de logrotate.

systemctl restart cron  
logrotate -f /etc/logrotate.conf

- Validar configuración

Espera un tiempo hasta que el script cron se esté ejecutando en el sistema. Una vez que eso esté hecho, valida con el script ‘validate.php’.

Ve al directorio librenms y ejecuta el script de validación.

cd /opt/librenms/  
./validate.php

Si tu instalación es correcta, obtendrás el resultado como se muestra a continuación.

Validar configuración de LibreNMS

La instalación de LibreNMS con el servidor web Nginx en Ubuntu 16.04 está completa.

Referencia

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.