Instalación de Software · 13 min read · Nov 06, 2025

Cómo instalar la herramienta de monitoreo LibreNMS en AlmaLinux 9

LibreNMS es una herramienta de monitoreo que admite el descubrimiento automático con múltiples protocolos, incluidos SNMP, ARP, OSPF y BGP. Para monitorear sistemas operativos, puedes usar el protocolo SNMP, que está disponible en la mayoría de los sistemas operativos, incluidos Linux, Windows y BSD.

Hay tres versiones del protocolo SNMP, v1 y v2 que están aseguradas solo con una contraseña de comunidad, y el protocolo v3 que admite contraseñas para autenticación y cifrado. Para el entorno de producción, se recomienda usar el protocolo SNMP v3, que es más seguro que v2 y v1.

En esta guía, te mostraré cómo instalar la herramienta de monitoreo LibreNMS en tu servidor AlmaLinux 9. Ejecutaré LibreNMS con PHP-FPM, el servidor web Nginx y la base de datos MariaDB.

Prerrequisitos

Para completar esta guía, debes tener lo siguiente:

  • Un servidor AlmaLinux 9 - Esta demostración utiliza un servidor con el nombre de host almalinux9.
  • Un usuario no root con privilegios de sudo/root.

Instalando Dependencias

Primero, agregarás los repositorios EPEL y Remi a tu sistema. Luego, instala las dependencias de paquetes para LibreNMS.

Ejecuta el siguiente comando dnf para agregar el repositorio EPEL y el repositorio PHP Remi a tu sistema.

sudo dnf install -y epel-release  
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm

Algunas de las dependencias están disponibles en el repositorio EPEL, por lo que debes agregar EPEL a tu sistema.

add epel repo

El repositorio PHP Remi se utilizará para instalar los paquetes PHP-FPM.

add remi repository

Ahora, ejecuta el siguiente comando para restablecer el módulo de repositorio predeterminado para PHP. Luego, habilita el repositorio PHP Remi para la versión PHP 8.1, que es requerida por LibreNMS.

sudo dnf module reset php  
sudo dnf module enable php:remi-8.1

enable php 8.1 remi repository

A continuación, ejecuta el comando dnf a continuación para instalar las dependencias de paquetes para LibreNMS. Esto incluye PHP-FPM, el servidor web Nginx, el servidor MariaDB, algunos paquetes de Python3 y utilidades del sistema como rrdtool, unzip, ImageMagick, git y fping.

sudo dnf install -y bash-completion cronie fping git ImageMagick mariadb-server mtr net-snmp net-snmp-utils nginx nmap php-fpm php-cli php-common php-curl php-gd php-gmp php-json php-mbstring php-process php-snmp php-xml php-zip php-mysqlnd python3 python3-PyMySQL python3-redis python3-memcached python3-pip python3-systemd rrdtool unzip

Una vez que la instalación haya finalizado, pasa al siguiente paso.

install dependencies

Creando Usuario del Sistema

En esta sección, crearás un nuevo usuario del sistema llamado librenms que se utilizará para ejecutar LibreNMS.

Ejecuta el siguiente comando para crear un nuevo usuario librenms.

sudo useradd librenms -d /opt/librenms -M -r -s "$(which bash)"

Opciones detalladas:

  • -d /opt/librenms: Especifica el directorio home para el nuevo usuario como /opt/librenms.
  • -M: No crear un directorio home para el nuevo usuario.
  • -r: Define al nuevo usuario como un usuario del sistema.
  • -s “$(which bash)”: Especifica el shell para el nuevo usuario como bash.

Configurando PHP-FPM

En esta siguiente sección, configurarás PHP-FPM para LibreNMS. Configurarás la zona horaria adecuada en tu sistema, luego agregarás un grupo específico de PHP-FPM que será utilizado por LibreNMS.

Primero, ejecuta el siguiente comando para configurar la zona horaria en tu servidor.

sudo timedatectl set-timezone Europe/Stockholm  
sudo ln -s /usr/share/zoneinfo/Europe/Stockholm /etc/localtime

setup php-fpm sock

Luego, abre el archivo /etc/php.ini usando el siguiente editor nano.

sudo nano /etc/php.ini

Descomenta el parámetro date.timezone y cambia el valor con la zona horaria adecuada así:

date.timezone=Europe/Stockholm

Guarda y cierra el archivo cuando termines.

Ahora, ejecuta el siguiente comando para copiar la configuración de grupo PHP-FPM predeterminada a /etc/php-fpm.d/librenms.conf y ábrelo usando el editor nano.

sudo cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/librenms.conf  
sudo nano /etc/php-fpm.d/librenms.conf

Cambia el nombre del grupo PHP-FPM de www a librenms.

[librenms]

Cambia el usuario y grupo predeterminados a librenms.

user = librenms  
group = librenms

Cambia el archivo sock predeterminado para el nuevo grupo PHP-FPM a /run/php-fpm/librenms.sock.

listen = /run/php-fpm/librenms.sock

Guarda el archivo y cierra el editor cuando termines.

Ahora, ejecuta el siguiente comando para iniciar y habilitar el servicio PHP-FPM.

sudo systemctl start php-fpm  
sudo systemctl enable php-fpm

Luego verifica el servicio PHP-FPM usando el siguiente comando para asegurarte de que el servicio esté en ejecución.

sudo systemctl status php-fpm

Si está en ejecución, la siguiente salida se mostrará en tu terminal:

start verify php-fpm

Además, también puedes verificar el archivo sock de PHP-FPM para LibreNMS usando el siguiente comando.

ss -pl | grep php-fpm

Si tu configuración es exitosa, deberías recibir el archivo sock de PHP-FPM /run/php-fpm/librenms.sock disponible.

Configurando el Servidor MariaDB

Después de configurar PHP-FPM, configurarás el servidor MariaDB. Agregarás configuraciones adicionales al servidor MariaDB y asegurarás MariaDB a través de la utilidad mariadb-secure-installation.

Abre la configuración predeterminada del servidor MariaDB /etc/my.cnf.d/mariadb-server.cnf usando el siguiente editor nano.

sudo nano /etc/my.cnf.d/mariadb-server.cnf

Inserta las siguientes configuraciones bajo la sección ‘[mysqld]‘.

innodb_file_per_table=1  
lower_case_table_names=0

Guarda el archivo y cierra el editor cuando termines.

Ahora ejecuta el siguiente comando para iniciar y habilitar el servicio MariaDB.

sudo systemctl start mariadb  
sudo systemctl enable mariadb

A continuación, ejecuta el siguiente comando para asegurar la instalación de tu servidor MariaDB.

sudo mariadb-secure-installation

Se te preguntará sobre algunas configuraciones a continuación:

  • Cambia el método de autenticación para el usuario root de MariaDB a unix_socket. Ingresa n para No.
  • Configura la contraseña de root de MariaDB. Ingresa y para confirmar y escribe la nueva contraseña de root de MariaDB y repite.
  • Deshabilita el inicio de sesión remoto para el usuario root de MariaDB. Ingresa y para confirmar.
  • Elimina la base de datos predeterminada de prueba de MariaDB. Ingresa y para confirmar.
  • Elimina el usuario anónimo de MariaDB. Ingresa y para confirmar.
  • Por último, ingresa y nuevamente para recargar los privilegios de la tabla para aplicar los cambios.

Crear Base de Datos y Usuario de MariaDB para LibreNMS

Con el servidor MariaDB configurado, a continuación crearás una nueva base de datos y un usuario que serán utilizados por LibreNMS.

Inicia sesión en el servidor MariaDB usando el siguiente comando.

sudo mariadb -u root -p

Ejecuta las siguientes consultas para crear una nueva base de datos y un usuario para LibreNMS. En esta demostración, crearás una nueva base de datos y un usuario librenms con la contraseña librenmspassword. Además, debes asegurarte de que el carácter predeterminado para la base de datos LibreNMS sea utf8mb4.

CREATE DATABASE librenms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;  
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'librenmspassword';  
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';  
FLUSH PRIVILEGES;

create database and user

Ahora, ejecuta la consulta a continuación para verificar los privilegios para el nuevo usuario librenms, luego escribe exit para salir de MariaDB.

SHOW GRANTS FOR 'librenms'@'localhost';  
exit

La salida mostrada a continuación te muestra que el usuario librenms puede acceder a la base de datos librenms.

check user permission to database

Descargando e Instalando LibreNMS

En esta sección, descargarás el código fuente de LibreNMS, configurarás la propiedad y los permisos adecuados, luego instalarás las dependencias de PHP a través del script composer_wrapper que está incluido en el código fuente.

Ejecuta el comando git a continuación para descargar el código fuente de LibreNMS al directorio /opt/librenms.

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

Ahora cambia la propiedad del directorio /opt/librenms al usuario librenms y cambia los permisos a 771.

sudo chown -R librenms:librenms /opt/librenms  
sudo chmod 771 /opt/librenms

download librenms

Después de eso, ejecuta el siguiente comando para configurar listas de control de acceso y asegurarte de que los permisos de lectura, escritura y ejecución para algunos directorios de LibreNMS estén configurados.

sudo setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/  
sudo setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/

A continuación, inicia sesión como el usuario librenms usando el siguiente comando. Deberías estar en el directorio /opt/librenms.

su - librenms  
pwd

Ejecuta el siguiente comando para instalar las dependencias de PHP para LibreNMS. Cuando la instalación haya finalizado, escribe exit para cerrar sesión del usuario librenms.

./scripts/composer_wrapper.php install --no-dev  
exit

install librenms dependencies

Configurando SELinux

Si tienes SELinux habilitado con modo de aplicación en tu servidor AlmaLinux 9, entonces debes configurarlo para LibreNMS. En esta sección, instalarás el paquete policycoreutils-python-utils para configurar SELinux para LibreNMS.

Ejecuta el siguiente comando para instalar el paquete policycoreutils-python-utils.

sudo dnf install -y policycoreutils-python-utils

A continuación, ejecuta el siguiente comando para configurar el etiquetado para el código fuente de LibreNMS, permitir que el servidor web envíe un correo electrónico y ejecute programas que requieren direcciones de memoria.

semanage fcontext -a -t httpd_sys_content_t '/opt/librenms/html(/.*)?'  
semanage fcontext -a -t httpd_sys_rw_content_t '/opt/librenms/(rrd|storage)(/.*)?'  
semanage fcontext -a -t httpd_log_t "/opt/librenms/logs(/.*)?"  
semanage fcontext -a -t bin_t '/opt/librenms/librenms-service.py'  
restorecon -RFvv /opt/librenms  
setsebool -P httpd_can_sendmail=1  
setsebool -P httpd_execmem 1  
chcon -t httpd_sys_rw_content_t /opt/librenms/.env

Ahora crea un nuevo archivo http_fping.tt usando el siguiente comando del editor nano.

sudo nano http_fping.tt

Inserta la siguiente configuración en el archivo. Esto permitirá el comando fping a través de SELinux.

module http_fping 1.0;  
  
require {  
type httpd_t;  
class capability net_raw;  
class rawip_socket { getopt create setopt write read };  
}  
  
#============= httpd_t ==============  
allow httpd_t self:capability net_raw;  
allow httpd_t self:rawip_socket { getopt create setopt write read };

Guarda el archivo y cierra el editor cuando termines.

Por último, ejecuta el siguiente comando para compilar el archivo http_fping.tt y agregarlo a SELinux.

checkmodule -M -m -o http_fping.mod http_fping.tt  
semodule_package -o http_fping.pp -m http_fping.mod  
semodule -i http_fping.pp

Configurando Firewalld

Después de configurar SELinux, configurarás firewalld para abrir tanto los protocolos HTTP como HTTPS.

Ejecuta los comandos firewall-cmd a continuación para abrir los puertos HTTP y HTTPS, luego recarga el firewalld para aplicar los cambios.

sudo firewall-cmd --add-service={http,https} --permanent  
sudo firewall-cmd --reload

Ahora verifica la lista de reglas de firewalld usando el siguiente comando. Si es exitoso, deberías ver tanto los protocolos HTTP como HTTPS en la lista de reglas.

sudo firewall-cmd --list-all

configure firewalld

Configurar Servicio SNMP

SNMP o Protocolo Simple de Administración de Red es un protocolo utilizado más ampliamente por dispositivos de red como módems, conmutadores y enrutadores. En esta sección, configurarás el servicio snmpd en tu instalación de LibreNMS que se utilizará para monitorear dispositivos de red.

Copia la configuración SNMP predeterminada a /etc/snmp/snmpd.conf y ábrelo usando el comando del editor nano a continuación.

sudo cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf  
sudo nano /etc/snmp/snmpd.conf

Cambia la contraseña SNMP predeterminada RANDOMSTRINGGOESHERE por la nueva contraseña.

# Cambia RANDOMSTRINGGOESHERE por tu cadena de comunidad SNMP preferida  
com2sec readonly  default        RANDOMSTRINGGOESHERE

Guarda el archivo y cierra el editor cuando termines.

A continuación, descarga el archivo binario de la herramienta agente de LibreNMS para detectar sistemas operativos Linux y UNIX y hazlo ejecutable.

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

configure snmpd

Ahora inicia y habilita el servicio snmpd usando el siguiente comando.

sudo systemctl start snmpd  
sudo systemctl enable snmpd

Por último, verifica el servicio snmpd usando el comando systemctl a continuación.

sudo systemctl status snmpd

Si el servicio snmpd está en ejecución, deberías obtener una salida como ‘active (running)‘.

verify snmpd

Configuraciones Adicionales de LibreNMS

La siguiente sección son algunas configuraciones adicionales para LibreNMS. Configurarás la siguiente configuración:

  • Configurar el comando binario de LibreNMS ‘lnms’ y su bash_completion.
  • Configurar cron para el sondeo de LibreNMS.
  • Configurar el programador de LibreNMS a través del temporizador systemd.
  • Configurar logrotate para los registros de LibreNMS.

Primero, crea un enlace simbólico para el comando de línea de comandos de LibreNMS lnms a /usr/bin/lnms. Luego, copia la finalización de bash para el comando lnms al directorio /etc/bash_completion.d/.

sudo ln -s /opt/librenms/lnms /usr/bin/lnms  
sudo cp /opt/librenms/misc/lnms-completion.bash /etc/bash_completion.d/

Ahora, inicia sesión como usuario librenms y ejecuta el comando lnms, luego presiona TAB para obtener la lista de parámetros disponibles del comando lnms.

su - librenms  
lnms TAB

Una salida similar a esta se mostrará en tu terminal.

lnms command completion

A continuación, ejecuta el siguiente comando para copiar la configuración de cron de LibreNMS a /etc/cron.d/librenms.

cp /opt/librenms/dist/librenms.cron /etc/cron.d/librenms

Luego, copia la configuración de logrotate para LibreNMS usando el siguiente comando.

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

Después de eso, copia el servicio y el temporizador del programador de LibreNMS al directorio /etc/systemd/system/ y recarga el administrador de systemd para aplicar los cambios.

sudo cp /opt/librenms/dist/librenms-scheduler.service /opt/librenms/dist/librenms-scheduler.timer /etc/systemd/system/  
sudo systemctl daemon-reload

Por último, inicia y habilita el servicio del programador de LibreNMS.

sudo systemctl enable librenms-scheduler.timer  
sudo systemctl start librenms-scheduler.timer

additional librenms configuration

Configurando Nginx

Con todas las configuraciones terminadas, ahora configurarás el bloque del servidor Nginx para LibreNMS.

Crea una nueva configuración de bloque de servidor Nginx /etc/nginx/conf.d/librenms.conf usando el siguiente comando del editor nano.

sudo nano /etc/nginx/conf.d/librenms.conf

Inserta la siguiente configuración y asegúrate de cambiar el nombre de dominio en la opción server_name.

server {  
    listen      80;  
    server_name librenms.howtoforge.local;  
    root        /opt/librenms/html;  
    index       index.php;  
  
    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 ~ [^/]\.php(/|$) {  
        fastcgi_pass unix:/run/php-fpm/librenms.sock;  
        fastcgi_split_path_info ^(.+\.php)(/.+)$;  
        include fastcgi.conf;  
    }  
  
    location ~ /\.(?!well-known).* {  
        deny all;  
    }  
}

Guarda el archivo y cierra el editor cuando termines.

Ahora ejecuta el comando a continuación para verificar la configuración de Nginx. Si es exitoso, deberías ver una salida como ‘test is successful - syntax is ok‘.

sudo nginx -t

A continuación, inicia y habilita el servicio Nginx usando el siguiente comando.

sudo systemctl start nginx  
sudo systemctl enable nginx

configure nginx

Luego, ingresa el siguiente comando para verificar el estado del servicio Nginx y asegurarte de que el servicio esté en ejecución.

sudo systemctl status nginx

Si es exitoso, deberías obtener la siguiente salida:

verify nginx

Instalando LibreNMS a través del Navegador Web

Después de crear la configuración del bloque del servidor Nginx, estás listo para comenzar la instalación de LibreNMS desde el navegador web.

Lanza tu navegador web y visita el nombre de dominio de tu instalación de LibreNMS, es decir: http://librenms.howtoforge.local.

En la primera página, LibreNMS verificará y comprobará tu entorno actual. Asegúrate de pasar la verificación de prerrequisitos, luego haz clic en el ícono de base de datos para continuar.

librenms system checks

Ahora ingresa los detalles de la base de datos que has creado y haz clic en Verificar Credenciales.

setup database

Luego, haz clic en Construir Base de Datos para migrar la base de datos de LibreNMS.

build the database

A continuación, haz clic en el ícono de clave para configurar el usuario administrador y la contraseña de LibreNMS. Ingresa los detalles del usuario administrador, la contraseña y el correo electrónico, luego haz clic en Agregar Usuario.

setup admin user

Ahora haz clic en Finalizar Instalación para completar la instalación de LibreNMS.

complete the installation

Una vez que la instalación de LibreNMS haya finalizado, serás redirigido a la página de inicio de sesión de LibreNMS. Ingresa tu usuario y contraseña de administrador, luego haz clic en Iniciar Sesión.

librenms login page

Si es exitoso, deberías ver el panel de control de LibreNMS así. Puedes crear y organizar el panel de control de LibreNMS como necesites.

librenms dashboard

Por último, puedes usar el script validate.php para asegurarte de que tienes la configuración adecuada de LibreNMS. Ejecuta el siguiente comando para iniciar sesión como usuario librenms y ejecutar el script validate.php.

su - librenms  
./validate.php

Si tienes la configuración adecuada de LibreNMS, todo debería tener el estado OK como el siguiente:

validate LibreNMS installation

Conclusión

Felicidades, ahora has instalado con éxito la herramienta de monitoreo LibreNMS en AlmaLinux 9. Has instalado y configurado LibreNMS con el servidor de base de datos MariaDB y el servidor web Nginx. Y también configurado SELinux y firewalld para LibreNMS.

Además, visita la documentación de LibreNMS para agregar nuevos hosts o dispositivos a monitorear.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

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