Cómo instalar la herramienta de supervisión de LibreNMS en Debian 11

16 dic 2021 6 min di lettura
Cómo instalar la herramienta de supervisión de LibreNMS en Debian 11
Tabla de contenidos

Introducción

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

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

Prerrequisitos

  • Un servidor que ejecuta Debian 11.
  • Un nombre de dominio válido apunta a la IP de su servidor.
  • Una contraseña de root está configurada en su servidor.

Instalar y configurar la base de datos MariaDB

Primero, necesitará 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é protegida, edite el archivo de configuración de MariaDB y cambie algunas configuraciones con su editor favorito:

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, 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:

CREATE DATABASE librenms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'securepassword';

Luego, otorgue todos los privilegios a la base de datos de LibreNMS usando el siguiente comando:

GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';

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

FLUSH PRIVILEGES;
EXIT;

Una vez hecho esto, puede continuar con el siguiente paso.

Instale Nginx, PHP y las dependencias necesarias

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

Edite la siguiente línea:

date.timezone = UTC

Guarde y cierre el archivo cuando termine.

Instalar y configurar LibreNMS

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

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

Luego, agregue el usuario de LibreNMS al grupo www-data con el siguiente comando usermod :

usermod -a -G librenms www-data

Luego, descargue la última versión de LibreNMS del repositorio de GitHub en el directorio /opt:

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

Luego, configure la propiedad y los permisos del directorio LibreNMS con los comandos chown y chmod :

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/

Luego, cambie el usuario a LibreNMS con el siguiente comando su :

su - librenms

A continuación, instale el compositor de PHP utilizando el siguiente comando cd :

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, cierre la sesión del usuario de LibreNMS usando el siguiente comando:

exit

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

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

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

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

Cambiar [www-data]a [librenms]y también actualizar el socket de escucha:

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

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

systemctl restart php7.4-fpm

Una vez hecho esto, 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

Agrega 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 Nginx en busca de errores de sintaxis con el siguiente comando:

nginx -t

Con suerte, 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.

Luego, 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

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

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

Una vez hecho esto, 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 verificación previa a la instalación.

Asegúrese de que todas las comprobaciones sean correctas 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 .

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

Proporcione el nombre de usuario y la contraseña del administrador, 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 del icono .

Ahora abra otra pestaña en su navegador web y escriba la URL https://libre.yourdomain.com/validate   para validar la instalación.

Proporcione su nombre de usuario y contraseña de administrador y haga clic en el botón Iniciar sesión .

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.

Únase a la conversación

Buy me a coffeeBuy me a coffee

Apóyenos si le gusta nuestro contenido. Gracias.

Genial! A continuación, complete el pago para obtener acceso completo a Noviello.it.
Bienvenido de nuevo! Has iniciado sesión correctamente.
Te has suscrito correctamente a Noviello.it.
Éxito! Su cuenta está completamente activada, ahora tiene acceso a todo el contenido.
Éxito! Su información de facturación ha sido actualizada.
Su facturación no se actualizó.