Cómo instalar LibreNMS en Debian 11

En este tutorial, le mostraremos cómo instalar LibreNMS en Debian 11. Para aquellos de ustedes que no lo sabían, LibreNMS es un sistema de monitoreo de red basado en PHP/MySQL de descubrimiento automático que incluye soporte para una amplia gama de hardware de red y sistemas operativos, incluidos Cisco, Linux, FreeBSD, Juniper, Brocade, HP y muchos más.

Este artículo asume que tiene al menos un conocimiento básico de Linux, sabe cómo usar el shell y, lo que es más importante, aloja su sitio en su propio VPS. La instalación es bastante simple y se supone que está ejecutando en la cuenta raíz, si no, es posible que deba agregar ‘sudo‘ a los comandos para obtener privilegios de root. Le mostraré la instalación paso a paso del sistema de monitoreo de red LibreNMS en un Debian 11 (Bullseye).

Instalar LibreNMS en Debian 11 Bullseye

Paso 1. Antes de instalar cualquier software, es importante asegurarse de que su sistema esté actualizado ejecutando lo siguienteaptcomandos en la terminal:

sudo apt update
sudo apt upgrade
sudo apt install acl curl composer fping git graphviz imagemagick mtr-tiny python3-dotenv python3-pymysql python3-redis python3-setuptools python3-systemd rrdtool snmp snmpd whois

Paso 2. Instalación de la pila LAMP.

Se requiere un servidor Debian 11 LEMP. Si no tiene LAMP instalado, lea nuestro tutorial anterior para instalar LEMP Server en Debian 11.

Paso 3. Cree una cuenta de usuario para LibreNMS.

Ahora agregamos el usuario de LibreNMS:

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

Paso 4. Instalar LibreNMS en Debian 11.

Ahora clonamos el repositorio de LibreNMS para/optdirectorio usandogitmando:

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

Tendremos que cambiar algunos permisos de carpeta:

sudo chown -R librenms:librenms /opt/librenms
sudo chmod 771 /opt/librenms
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/

Paso 5. Instalación de dependencias de PHP.

Ejecute los siguientes comandos para instalar todas las dependencias requeridas por PHP en su sistema Debian:

sudo -u librenms bash
./scripts/composer_wrapper.php install --no-dev
exit

Paso 6. Configuración de MariaDB.

De forma predeterminada, MariaDB no está reforzado. Puede asegurar MariaDB usando elmysql_secure_installationtexto. Debe leer y seguir cada paso cuidadosamente, que establecerá la contraseña raíz, eliminará a los usuarios anónimos, no permitirá el inicio de sesión raíz remoto y eliminará la base de datos de prueba y accederá a MariaDB segura:

mysql_secure_installation

Configúralo así:

- Set root password? [Y/n] y
- Remove anonymous users? [Y/n] y
- Disallow root login remotely? [Y/n] y
- Remove test database and access to it? [Y/n] y
- Reload privilege tables now? [Y/n] y

A continuación, debemos iniciar sesión en la consola de MariaDB y crear una base de datos para LibreNMS. Ejecute el siguiente comando:

mysql -u root -p

Esto le pedirá una contraseña, así que ingrese su contraseña raíz de MariaDB y presione Enter. Una vez que haya iniciado sesión en su servidor de base de datos, debe crear una base de datos para la instalación de LibreNMS:

MariaDB [(none)]> CREATE DATABASE librenms_db;
MariaDB [(none)]> CREATE USER 'librenms_user'@'localhost' IDENTIFIED BY 'your-strong-password';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON librenms_db.* to librenms_user@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit

Después de eso, edite la configuración de MariaDB:

echo 'innodb_file_per_table=1' >> /etc/mysql/mariadb.conf.d/50-server.cnf
echo 'lower_case_table_names=0' >> /etc/mysql/mariadb.conf.d/50-server.cnf

Paso 7. Configurar Nginx.

Cree un archivo de host virtual Nginx para la instalación de LibreNMS:

sudo nano /etc/nginx/sites-enabled/librenms.vhost

Agregue el siguiente archivo:

server {
  listen 80;
  server_name librenms.your-domain.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;
  }
}

Guardar y close el archivo, luego reinicie el servidor web Nginx para que se realicen los cambios:

sudo systemctl restart nginx

A continuación, habilite el autocompletado de comandos para LibreNMS:

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

Después de eso, copie la información del trabajo cron para habilitar el descubrimiento automático y copie el archivo de configuración logrotate para rotar los registros antiguos:

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

Paso 8. Acceso a la interfaz web de LibreNMS.

Una vez instalado correctamente, abra un navegador web y vaya ahttps://librenms.your-domain.comy verás la siguiente pantalla:

¡Felicidades! Has instalado LibreNMS con éxito. Gracias por usar este tutorial para instalar la última versión del sistema de monitoreo de red LibreNMS en Debian 11 Bullseye. Para obtener ayuda adicional o información útil, le recomendamos que consulteel sitio web oficial de LibreNMS.

Actualizaciones del boletín

Ingrese su dirección de correo electrónico a continuación para suscribirse a nuestro boletín