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
- Instalar paquetes requeridos
- Instalar el servidor web Nginx
- Instalar y configurar PHP-FPM
- Instalar y configurar MariaDB
- Descargar y configurar LibreNMS
- Instalación basada en web de LibreNMS
- 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 gitSi 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-releaseAhora instala nginx.
yum -y install nginxDespué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 nginxAsí que el servidor web Nginx ha sido instalado en el sistema desde el repositorio EPEL.

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.rpmInstala 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-mcryptAhora 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
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.
timedatectlLa siguiente captura de pantalla muestra el comando anterior en acción:

Así que estamos usando la zona horaria ‘Europe/Paris‘.
Ahora, edita el archivo ‘/etc/php.ini’ usando vim.
vim /etc/php.iniA continuación, descomenta la línea ‘date.timezone’ y dale un valor con la zona horaria del servidor ‘Europe/Paris’.
data.timezone = Europe/ParisDe manera similar, descomenta la línea cgi y cambia el valor a ‘0‘.
cgi.fix_pathinfo=0Eso 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.confCambia la línea del puerto ‘listen’ al archivo sock como se muestra a continuación.
listen = /var/run/php-fpm/php7.0-fpm.sockDescomenta 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 = 0660Eso 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-fpmAhora PHP-FPM se está ejecutando bajo el archivo sock. Puedes verificarlo con el comando netstat.
netstat -pl | grep phpAsegú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-serverInicia el servicio de MariaDB y habilítalo para que se inicie automáticamente al arrancar el sistema.
systemctl start mariadb
systemctl enable mariadb
Ahora configura la contraseña de root de MariaDB usando el comando ‘mysql_secure_installation’ a continuación.
mysql_secure_installationSe 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] YAsí 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 -pCrea 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.

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.cnfPega la siguiente configuración adicional en la sección ‘[mysqld]‘.
innodb_file_per_table=1
sql-mode=""
lower_case_table_names=0Guarda y sal de vim, y luego reinicia el servidor mariadb.
systemctl restart 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 nginxVe 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
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.confPega 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 firewalldInicia firewalld y habilítalo para que se ejecute al iniciar el sistema usando los siguientes comandos systemctl.
systemctl start firewalld
systemctl enable firewalld
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 --permanentAplica la configuración recargando firewalld y verifica todos los servicios.
firewall-cmd --reload
firewall-cmd --list-allAsegú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.

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:
- Usuario DB: ‘librenms‘
- Nombre DB: ‘librenms‘
- Contraseña DB: ‘hakase-labs123‘

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.

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.

Haz clic en ‘Agregar Usuario’ para continuar con la instalación.
- Generar archivo de configuración

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

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.phpPega 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
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.

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.phpAgrega 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.confEdita la nueva configuración.
vim /etc/snmp/snmpd.confCambia el texto ‘RANDOMSTRINGGOESHERE’ por tu propio nombre de comunidad como se muestra a continuación.
com2sec readonly default hakaselabsEso es todo. Guarda y sal de Vim.

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/distroAhora 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/librenmsEspera 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.phpSuponiendo que no encuentres errores, deberías ver una salida similar a la siguiente:

Así que esto completa la instalación de LibreNMS con el servidor web Nginx en CentOS 7.
Referencia
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.