Instalación de Software · 11 min read · Nov 03, 2025

Cómo instalar la herramienta de monitoreo LibreNMS con Nginx en CentOS 7

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

En este tutorial, te mostraremos cómo instalar y configurar LibreNMS utilizando Nginx como servidor web y MariaDB como base de datos. Usaremos un servidor CentOS 7 como nuestro servidor principal.

Lo que haremos

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

Requisitos previos

  • Servidor CentOS 7
  • Privilegios de root

Paso 1 - Instalar paquetes requeridos

Antes de instalar LibreNMS en el servidor, necesitamos instalar algunos paquetes, incluyendo ImageMagick, rrdtool, SNMP, git, y más. El siguiente comando debería hacer lo necesario:

yum -y install net-snmp ImageMagick jwhois nmap mtr rrdtool MySQL-python net-snmp-utils cronie fping git

Si todo va bien, procede al siguiente paso.

Paso 2 - Instalar el servidor web Nginx

En este paso, instalaremos epel-repository para la instalación del servidor web nginx. El repositorio EPEL (Extra Packages for Enterprise Linux) es un repositorio adicional para sistemas operativos basados en rpm, incluyendo CentOS 7.

Instala el repositorio EPEL usando el comando yum a continuación.

yum -y install epel-release

Ahora instala nginx.

yum -y install nginx

Después de la instalación de nginx, inicia el servicio y habilítalo para que se ejecute automáticamente al iniciar el sistema usando los siguientes comandos systemctl.

systemctl start nginx  
systemctl enable nginx

Así que el servidor web Nginx ha sido instalado en el sistema desde el repositorio EPEL.

Iniciar y verificar el servidor web Nginx

Paso 3 - Instalar y configurar PHP-FPM

Antes de continuar, aquí hay información que vale la pena compartir:

Usaremos la versión PHP-FPM 7 para la instalación de LibreNMS. Todos los paquetes PHP 7 para CentOS 7 están disponibles en un repositorio de terceros, y usaremos la versión PHP 7 del repositorio ‘webtatic’.

Así que empecemos.

Agrega el repositorio webtatic de PHP 7 al sistema usando el siguiente comando rpm.

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Instala PHP 7 y todas las extensiones necesarias desde el repositorio wetatic usando yum.

yum -y install php70w php70w-cli php70w-gd php70w-mysql php70w-snmp php70w-pear php70w-curl php70w-common php70w-fpm php70w-mcrypt

Ahora actualiza el repositorio PEAR e instala algunas extensiones PEAR (PHP Extension and Application Repository) usando el comando pear.

pear channel-update pear.php.net  
pear install Net_IPv4-1.3.4  
pear install Net_IPv6-1.2.2b2

Instalar algunos paquetes pear

Así que de esta manera puedes instalar todos los paquetes PHP requeridos.

A continuación, configura PHP-FPM para la instalación de LibreNMS. 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. Puedes verificar la zona horaria actual utilizada por tu sistema a través del siguiente comando.

timedatectl

La siguiente captura de pantalla muestra el comando anterior en acción:

usar el comando timedatectl

Así que estamos usando la zona horaria ‘Europe/Paris‘.

Ahora, edita el archivo ‘/etc/php.ini’ usando vim.

vim /etc/php.ini

A continuación, descomenta la línea ‘date.timezone’ y dale un valor con la zona horaria del servidor ‘Europe/Paris’.

data.timezone = Europe/Paris

De manera similar, descomenta la línea cgi y cambia el valor a ‘0‘.

cgi.fix_pathinfo=0

Eso es todo. Ahora guarda los cambios y sal del editor.

A continuación, necesitamos definir cómo se está ejecutando PHP-FPM en el sistema. En nuestro caso, PHP-FPM se ejecutará bajo el archivo ‘sock’ en lugar del puerto del servidor.

Edita el archivo ‘www.conf’ con vim para configurar PHP-FPM.

vim /etc/php-fpm.d/www.conf

Cambia la línea del puerto ‘listen’ al archivo sock como se muestra a continuación.

listen = /var/run/php-fpm/php7.0-fpm.sock

Descomenta la línea ‘listen’ para el propietario, grupo y el permiso del archivo sock como configuración a continuación.

listen.owner = nginx  
listen.group = nginx  
listen.mode = 0660

Eso es todo. Ahora guarda los cambios y sal del editor.

Así que la configuración de PHP-FPM ahora está completa. Inicia el servicio y habilítalo para que se ejecute automáticamente al iniciar el sistema usando los siguientes comandos.

systemctl start php-fpm  
systemctl enable php-fpm

Ahora PHP-FPM se está ejecutando bajo el archivo sock. Puedes verificarlo con el comando netstat.

netstat -pl | grep php

Asegúrate de tener el resultado del archivo ‘/var/run/php-fpm/php7.0-fpm.sock’.

Paso 4 - Instalar y configurar MariaDB

LibreNMS utiliza la base de datos MySQL para almacenar todos los datos. Para esta guía, utilizaremos la versión de base de datos MariaDB. Está disponible en el repositorio, y necesitamos instalar y agregar algunas configuraciones para la instalación de LibreNMS, incluyendo agregar la base de datos y el usuario para LibreNMS.

Instala MariaDB usando el comando yum a continuación.

yum -y install mariadb mariadb-server

Inicia el servicio de MariaDB y habilítalo para que se inicie automáticamente al arrancar el sistema.

systemctl start mariadb  
systemctl enable mariadb

Configurar la base de datos MariaDB

Ahora configura la contraseña de root de MariaDB usando el comando ‘mysql_secure_installation’ a continuación.

mysql_secure_installation

Se te pedirá que ingreses la nueva contraseña de root para la base de datos MariaDB junto con algunas otras preguntas.

Escribe ‘Y’ y presiona Enter para confirmar.

¿Establecer contraseña de root? [Y/n] Y  
¿Eliminar usuarios anónimos? [Y/n] Y  
¿Deshabilitar el inicio de sesión remoto de root? [Y/n] Y  
¿Eliminar la base de datos de prueba y el acceso a ella? [Y/n] Y  
¿Recargar las tablas de privilegios ahora? [Y/n] Y

Así que MariaDB ha sido instalado. Ahora necesitamos crear una nueva base de datos y un nuevo usuario para LibreNMS. Inicia sesión en la línea de comandos de mysql usando el cliente mysql y con tu nueva contraseña.

mysql -u root -p

Crea una nueva base de datos llamada ‘librenms‘, un nuevo usuario ‘librenms‘ con la contraseña ‘hakase-labs123‘.

Crea todo esto usando las consultas MySQL a continuación.

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 un nuevo usuario y base de datos para la instalación de LibreNMS.

Agregar usuario MySQL librenms

Ahora necesitas editar el archivo my.cnf para agregar una nueva configuración de mysql. Edita el archivo ‘/etc/my.cnf’ usando vim.

vim /etc/my.cnf

Pega la siguiente configuración adicional en la sección ‘[mysqld]‘.

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

Guarda y sal de vim, y luego reinicia el servidor mariadb.

systemctl restart mariadb

Configurar la configuración de MariaDB

Paso 5 - Descargar y configurar LibreNMS

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

- Agregar usuario y descargar el código fuente de LibreNMS

Crea un nuevo usuario del sistema llamado ‘librenms’, luego define el directorio de inicio para el usuario en el directorio ‘/opt/librenms’, y finalmente agrega al usuario ‘librenms’ al grupo ‘nginx’.

useradd librenms -d /opt/librenms -M -r  
usermod -a -G librenms nginx

Ve al directorio ‘/opt/‘ y descarga el código fuente de LibreNMS usando el comando git clone como se muestra a continuación.

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

Instalar LibreNMS

Crea un nuevo directorio para los registros y archivos rrd de LibreNMS.

mkdir -p /opt/librenms/logs/  
mkdir -p /opt/librenms/rrd/  
chmod 775 /opt/librenms/rrd/

Ahora cambia la propiedad de todos los archivos y directorios bajo el directorio ‘/opt/librenms’ al usuario y grupo ‘librenms’.

chown -R librenms:librenms /opt/librenms/

- Configurar el host virtual de LibreNMS

LibreNMS es una aplicación basada en web y estamos usando un servidor web Nginx para alojarla.

Crea un nuevo archivo de host virtual ‘librenms.conf’ en el directorio ‘conf.d’ de nginx.

vim /etc/nginx/conf.d/librenms.conf

Pega la configuración a continuación.

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:/var/run/php-fpm/php7.0-fpm.sock;  
     }  
  
     location ~ /\.ht {  
         deny all;  
     }  
 }

Eso es todo. Ahora guarda y sal de Vim.

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

ginx -t  
systemctl restart nginx

- Configuración de firewalld

Asegúrate de que los paquetes firewalld estén instalados en tu sistema. Si no, puedes instalar firewalld usando el siguiente comando yum.

yum -y install firewalld

Inicia firewalld y habilítalo para que se ejecute al iniciar el sistema usando los siguientes comandos systemctl.

systemctl start firewalld  
systemctl enable firewalld

Configurar el Firewall

Abre nuevos puertos HTTP, HTTPS y SNMP 161/udp usando el comando firewall-cmd como se muestra a continuación.

firewall-cmd --add-service=http --permanent  
firewall-cmd --add-service=https --permanent  
firewall-cmd --add-port=161/udp --permanent

Aplica la configuración recargando firewalld y verifica todos los servicios.

firewall-cmd --reload  
firewall-cmd --list-all

Asegúrate de que los servicios HTTP y HTTPS estén en la lista.

Paso 6 - Instalación basada en web de LibreNMS

Abre tu navegador web y escribe la URL de LibreNMS en la barra de direcciones.

http://librenms.hakase-labs.me/

Serás redirigido a la página de instalación ‘install.php’.

- Verificar soporte de módulos PHP

Asegúrate de que todos los módulos y extensiones de php requeridos estén instalados en el sistema.

Instalador basado en web de LibreNMS

Luego haz clic en ‘Siguiente etapa’ para continuar.

- Configuración de la base de datos

Escribe los detalles de la base de datos a continuación:

  1. Usuario DB: ‘librenms
  2. Nombre DB: ‘librenms
  3. Contraseña DB: ‘hakase-labs123

Configurar la base de datos

Y haz clic en ‘Siguiente etapa’ para continuar.

- Importar base de datos MySQL

No cierres la página de instalación ya que mostrará la importación de la base de datos. Asegúrate de que no haya errores.

Importar esquema de base de datos MySQL

Cuando el proceso esté completo, haz clic en ‘Ir a Agregar Usuario’ para agregar un nuevo usuario administrador.

- Agregar Usuario Administrador

Escribe tu usuario administrador, correo electrónico y contraseña.

Agregar el usuario administrador

Haz clic en ‘Agregar Usuario’ para continuar con la instalación.

- Generar archivo de configuración

Generar el archivo de configuración

Haz clic en el botón ‘Generar Config’, y verás una página similar a la siguiente.

Configuración del archivo

Copia el código php que está en la caja, y crea un nuevo archivo ‘config.php’ en el directorio ‘/opt/librenms/‘.

cd /opt/librenms/  
vim config.php

Pega en el nuevo archivo el código que acabas de copiar, y luego guarda y sal del editor. Ahora cambia los permisos de propiedad del archivo config.php al usuario y grupo ‘librenms’.

chown librenms:librenms config.php

Guardar el archivo de configuración en la terminal

Regresa a tu navegador y haz clic en el botón ‘Finalizar Instalación’ presente en la parte inferior de la página. Verás un mensaje de bienvenida similar al siguiente.

La herramienta de monitoreo LibreNMS ha sido instalada

En esta etapa, hemos terminado con la instalación basada en web. Regresa a la terminal/shell y agrega más configuraciones.

Paso 7 - Configuración final

En este paso, agregaremos algunas configuraciones para nuestra instalación de LibreNMS.

- Definir comando fping

Define el comando ‘fping’ editando el archivo de configuración de LibreNMS. Ve al directorio ‘/opt/librenms/‘ y edita el archivo config.php usando el editor vim.

cd /opt/librenms/  
vim config.php

Agrega la siguiente línea al final del archivo.

$config['fping'] = "/usr/sbin/fping";

Guarda y sal del editor.

- Configuración de SNMP

Haz una copia de seguridad del archivo snmp.conf predeterminado en el directorio ‘/etc/snmp/‘ y copia uno nuevo desde el directorio librenms.

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

Edita la nueva configuración.

vim /etc/snmp/snmpd.conf

Cambia el texto ‘RANDOMSTRINGGOESHERE’ por tu propio nombre de comunidad como se muestra a continuación.

com2sec readonly  default         hakaselabs

Eso es todo. Guarda y sal de Vim.

Establecer cadena aleatoria

A continuación, descarga el script librenms-agent para detectar qué sistema operativo has agregado. Si agregas un sistema operativo Linux, el script detectará la distribución específica de Linux también.

Descarga el script usando curl y hazlo ejecutable.

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

Ahora reinicia el servicio SNMP usando el siguiente comando systemctl.

systemctl restart snmpd

- Configurar Logrotate para LibreNMS

LibreNMS proporciona configuración para la configuración de logrotate, y está en el directorio ‘/opt/librenms/misc’.

Copia la muestra de configuración al directorio ‘/etc/logrotate.d’.

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

- Configuración de cronjob de LibreNMS

Ve al directorio ‘opt/librenms’ y copia el script crontab ‘librenms.nonroot.cron’ al directorio ‘cron.d’.

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

Espera unos minutos para que el script se ejecute automáticamente.

- Validar la configuración de LibreNMS

Para verificar la instalación, usa el script validate.php. Ve al directorio ‘/opt/librenms/‘ y ejecuta el script.

cd /opt/librenms/  
./validate.php

Suponiendo que no encuentres errores, deberías ver una salida similar a la siguiente:

Validar la configuración

Así que esto completa la instalación de LibreNMS con el servidor web Nginx en CentOS 7.

Referencia

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

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