Búsqueda de sitios web

Cómo instalar la herramienta de monitoreo LibreNMS en Debian 11


En esta página

  1. Requisitos previos
  2. Instalar y configurar la base de datos MariaDB
  3. Instalar Nginx, PHP y las dependencias requeridas
  4. Instalar y configurar LibreNMS
  5. Configurar Nginx para LibreNMS
  6. Acceda al asistente de instalación web de LibreNMS
  7. Conclusión

LibreNMS es una herramienta de monitoreo de red gratuita, de código abierto, basada en la web y de detección automática, escrita en PHP. Utiliza MySQL o MariaDB como base de datos y usa SNMP para descubrir los clientes remotos. Es compatible con una amplia gama de dispositivos de red, incluidos Linux, Cisco, Juniper, FreeBSD, HP, Windows y más. Admite múltiples métodos de autenticación, incluidos Radius, Active Directory, LDAP, MySQL y más. Es simple, fácil de usar y fácil de entender y usar para cualquier persona.

En este tutorial, explicaré cómo instalar LibreNMS con Nginx en Debian 11.

requisitos previos

  • Un servidor que ejecuta Debian 11.
  • Un nombre de dominio válido apuntado con la IP de su servidor.
  • Se configura una contraseña raíz en su servidor.

Instalar y configurar la base de datos MariaDB

Primero, deberá instalar el servidor de base de datos MariaDB en su servidor. Puedes instalarlo usando el siguiente comando:

apt-get install mariadb-server -y

Una vez que se complete la instalación, ejecute el siguiente script para asegurar la instalación de MariaDB y establezca una contraseña de root:

mysql_secure_installation

Responda todas las preguntas como se muestra a continuación:

Enter current password for root (enter for none): 
Switch to unix_socket authentication [Y/n] n
Change the root password? [Y/n] Y
New password: 
Re-enter new password: 
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] 
Reload privilege tables now? [Y/n] Y

Una vez que MariaDB esté asegurada, edite el archivo de configuración de MariaDB y modifique algunas configuraciones:

nano /etc/mysql/mariadb.conf.d/50-server.cnf

Agregue las siguientes líneas dentro de la sección [mysqld]:

innodb_file_per_table=1
lower_case_table_names=0

Guarde y cierre el archivo y luego reinicie MariaDB para aplicar los cambios:

systemctl restart mariadb

A continuación, inicie sesión en MariaDB con el siguiente comando:

mysql -u root -p

Una vez que haya iniciado sesión, cree una base de datos y un usuario para LibreNMS:

MariaDB [(none)]> CREATE DATABASE librenms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
MariaDB [(none)]> CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'securepassword';

A continuación, otorgue todos los privilegios a la base de datos LibreNMS utilizando el siguiente comando:

MariaDB [(none)]> GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';

Finalmente, elimine los privilegios y salga del shell de MariaDB usando el siguiente comando:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Una vez que haya terminado, puede continuar con el siguiente paso.

Instale Nginx, PHP y las dependencias requeridas

A continuación, deberá instalar el servidor web Nginx, PHP y otras dependencias requeridas por LibreNMS. Puede instalarlos todos ejecutando el siguiente comando:

apt-get install nginx-full nmap php-cli php-curl php-fpm php-gd php-json php-mbstring php-mysql php-snmp php-xml php-zip python3-dotenv python3-pip python3-pymysql python3-redis python3-setuptools python3-systemd rrdtool snmp snmpd whois acl curl composer fping git graphviz imagemagick mtr-tiny

Una vez que todos los paquetes estén instalados, edite el archivo php.ini y configure su zona horaria:

nano /etc/php/7.4/fpm/php.ini

Cambie la siguiente línea:

date.timezone = UTC

Guarde y cierre el archivo cuando haya terminado.

Instalar y configurar LibreNMS

Primero, cree un usuario dedicado para LibreNMS usando el siguiente comando:

useradd librenms -d /opt/librenms -M -r -s /bin/bash

A continuación, agregue el usuario de LibreNMS al grupo www-data con el siguiente comando:

usermod -a -G librenms www-data

A continuación, descargue la última versión de LibreNMS desde el repositorio de GitHub al directorio /opt:

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

A continuación, establezca la propiedad y el permiso del directorio LibreNMS:

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

A continuación, cambie el usuario a LibreNMS con el siguiente comando:

su - librenms

A continuación, instale PHP composer con el siguiente comando:

cd /opt/librenms
./scripts/composer_wrapper.php install --no-dev

Una vez que Composer y otras dependencias de PHP estén instaladas, debería ver el siguiente resultado:

> @php artisan optimize
Configuration cache cleared!
Configuration cached successfully!
Route cache cleared!
Routes cached successfully!
Files cached successfully!
> @php artisan config:clear
Configuration cache cleared!
> scripts/dynamic_check_requirements.py || pip3 install --user -r requirements.txt || :
Requirement already satisfied: PyMySQL!=1.0.0 in /usr/lib/python3/dist-packages (from -r requirements.txt (line 1)) (0.9.3)
Requirement already satisfied: python-dotenv in /usr/lib/python3/dist-packages (from -r requirements.txt (line 2)) (0.15.0)
Requirement already satisfied: redis>=3.0 in /usr/lib/python3/dist-packages (from -r requirements.txt (line 3)) (3.5.3)
Requirement already satisfied: setuptools in /usr/lib/python3/dist-packages (from -r requirements.txt (line 4)) (52.0.0)
Collecting psutil>=5.6.0
  Downloading psutil-5.8.0-cp39-cp39-manylinux2010_x86_64.whl (293 kB)
Collecting command_runner>=1.3.0
  Downloading command_runner-1.3.0-py3-none-any.whl (17 kB)
Installing collected packages: psutil, command-runner
Successfully installed command-runner-1.3.0 psutil-5.8.0

Luego, salga del usuario de LibreNMS usando el siguiente comando:

exit

A continuación, deberá crear un archivo de configuración independiente para PHP-FPM. Puedes crearlo con el siguiente comando:

cp /etc/php/7.4/fpm/pool.d/www.conf /etc/php/7.4/fpm/pool.d/librenms.conf

A continuación, edite el archivo de configuración librenms.conf con su editor favorito:

nano /etc/php/7.4/fpm/pool.d/librenms.conf

Cambie [www-data] a [librenms] y también actualice el conector de escucha:

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

Guarde y cierre el archivo y luego reinicie el servicio PHP-FPM para aplicar los cambios de configuración:

systemctl restart php7.4-fpm

Una vez que haya terminado, puede continuar con el siguiente paso.

Configurar Nginx para LibreNMS

A continuación, deberá crear un archivo de configuración de host virtual Nginx para LibreNMS. Puedes crearlo con el siguiente comando:

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

Agregue las siguientes líneas:

server {
  listen 80;
  server_name libre.yourdomain.com;
  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;
  }
}

Guarde y cierre el archivo, luego verifique el Nginx para cualquier error de sintaxis con el siguiente comando:

nginx -t

Si todo está bien, obtendrá el siguiente resultado:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Finalmente, reinicie Nginx para aplicar los cambios.

systemctl restart nginx php7.4-fpm

También puede verificar el estado de Nginx usando el siguiente comando:

systemctl status nginx

Debería ver el siguiente resultado:

? nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-12-03 14:39:18 UTC; 18s ago
       Docs: man:nginx(8)
    Process: 39888 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 39892 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 39893 (nginx)
      Tasks: 2 (limit: 2341)
     Memory: 2.7M
        CPU: 42ms
     CGroup: /system.slice/nginx.service
             ??39893 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ??39894 nginx: worker process

Dec 03 14:39:18 debian11 systemd[1]: Starting A high performance web server and a reverse proxy server...
Dec 03 14:39:18 debian11 systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
Dec 03 14:39:18 debian11 systemd[1]: Started A high performance web server and a reverse proxy server.

A continuación, copie el archivo de configuración del trabajo cron para habilitar la detección y el sondeo automáticos de los dispositivos recién agregados.

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

A continuación, copie el archivo de configuración logrotate para rotar los registros antiguos.

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

Una vez que haya terminado, puede continuar con el siguiente paso.

Acceda al asistente de instalación web de LibreNMS

En este punto, LibreNMS está instalado y configurado con Nginx. Ahora puede acceder a la configuración basada en web de LibreNMS utilizando la URL http://libre.yourdomain.com. Debería ver la página de comprobación previa a la instalación:

Asegúrese de que todas las comprobaciones se realicen correctamente y luego haga clic en el icono de la base de datos. Debería ver la página de configuración de la base de datos:

Proporcione la información de su base de datos y haga clic en Verificar credenciales. Deberías ver la siguiente página:

Ahora, haga clic en el icono de la llave para configurar un usuario administrador:

Proporcione su nombre de usuario y contraseña de administrador y luego haga clic en el botón Agregar usuario. Una vez creado el usuario, debería ver la siguiente página:

Haga clic en el botón Sí icono . Debería ver la siguiente página:

Ahora, abra otra pestaña en su navegador web y escriba la URL https://libre.yourdomain.com/validate para validar la instalación. Deberías ver la siguiente página:

Proporcione su nombre de usuario y contraseña de administrador y haga clic en el botón Iniciar sesión. Deberías ver la siguiente página:

Conclusión

¡Felicidades! ha instalado con éxito LibreNMS con Nginx en Debian 11. Ahora puede comenzar a agregar dispositivos remotos a LibreNMS y comenzar a monitorearlos desde la ubicación central. No dude en preguntarme si tiene alguna pregunta.

Artículos relacionados: