Cómo instalar LibreNMS en Debian 10

En este tutorial, le mostraremos cómo instalar LibreNMS en Debian 10. Para aquellos de ustedes que no lo sabían, LibreNMS es un sistema de monitoreo de red basado en PHP / MySQL / SNMP de autodescubrimiento que incluye soporte para una amplia gama de hardware de red. y sistemas operativos que incluyen Cisco, Linux, FreeBSD, Juniper, HP y muchos más. LibreNMS es una bifurcación de Observium respaldada por la comunidad.

Este artículo asume que tiene al menos conocimientos básicos de Linux, sabe cómo usar el shell y, lo más importante, aloja su sitio en su propio VPS. La instalación es bastante simple y asume que está ejecutando en la cuenta de root, de lo contrario, es posible que deba agregar ‘sudo‘a los comandos para obtener privilegios de root. Le mostraré paso a paso la instalación de LibreNMS en Debian 10 (Buster).

Instale LibreNMS en Debian 10 Buster

Paso 1. Antes de ejecutar el tutorial a continuación, es importante asegurarse de que su sistema esté actualizado ejecutando lo siguiente apt comandos en la terminal:

sudo apt update

Paso 2. Instalación de los paquetes necesarios.

Ejecute los siguientes comandos a continuación para instalar los paquetes requeridos de dependencia:

sudo apt install acl curl composer fping git graphviz imagemagick mariadb-client mariadb-server mtr-tiny nmap python-memcache python-mysqldb rrdtool snmp snmpd whois python3-pymysql python3-dotenv python3-redis python3-setuptools

Paso 3. Instale la pila LEMP.

Se requiere un servidor Debian 10 LEMP. Si no tiene LEMP instalado, puede seguir nuestra guía aquí.

Paso 4. Instalar LibreNMS en Debian 10.

Antes de la instalación, creamos un usuario para LibreNMS:

useradd librenms -d /opt/librenms -M -r
usermod -a -G librenms www-data

Ahora descargamos LibreNMS del sitio web oficial:

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

A continuación, cambie los permisos de propiedad de las carpetas:

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

Paso 4. Configurar MariaDB para LibreNMS.

De forma predeterminada, MariaDB no está reforzado. Puede proteger MariaDB usando el mysql_secure_installation texto. debe leer y debajo de cada paso cuidadosamente, lo que establecerá una contraseña de root, eliminará usuarios anónimos, no permitirá el inicio de sesión de root remoto y eliminará la base de datos de prueba y el acceso a MariaDB segura:

mysql_secure_installation

Configúrelo 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, tendremos que iniciar sesión en la consola 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 de root 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 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
MariaDB [(none)]> CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'password';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit

Una vez que haya creado con éxito las bases de datos, ahora abra el archivo de configuración MariaDB y agregue las siguientes líneas debajo [mysqld] sección:

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

Dentro de [mysqld] sección por favor agregue:

innodb_file_per_table=1
lower_case_table_names=0

Luego, reinicie MariaDB para que los cambios surtan efecto:

sudo systemctl restart mariadb

Paso 5. Configure Nginx.

Ahora creamos la definición de VirtualHost para Nginx para ser utilizada por LibreNMS:

rm /etc/nginx/sites-enabled/default
nano /etc/nginx/sites-available/librenms.vhost

Agregue la siguiente configuración, edite server_name según sea necesario:

server {listen80;server_name librenms.idroot.us;root/opt/librenms/html;indexindex.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;proxy_read_timeout 300;proxy_connect_timeout 300;proxy_send_timeout 300;location / {try_files $uri $uri/ /index.php?$query_string;}location /api/v0 {try_files $uri $uri/ /api_v0.php?$query_string;}location ~ .php {include fastcgi.conf;fastcgi_split_path_info ^(.+.php)(/.+)$;fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;}location ~ /.ht {deny all;}}

Save y close también reinicie el servidor web Nginx para que se realicen los cambios:

ln -s /etc/nginx/sites-available/librenms.vhost /etc/nginx/sites-enabled/librenms.vhost
sudo systemctl restart nginx

Paso 6. Configure snmpd.

Ahora edite la nueva configuración snmpd usando editores de texto nano:

cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
chmod 600 /etc/snmp/snmpd.conf
nano /etc/snmp/snmpd.conf

Edita el texto que dice RANDOMSTRINGGOESHERE y establezca su propia cadena de comunidad:

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

Paso 7. Configure el cortafuegos UFW.

Agregue nuevos puertos al firewall. Agregue un nuevo ssh, HTTP, HTTPS y el puerto utilizado por el tipo snmpd 161 udp al firewall ufw:

sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw allow 161/udp
sudo ufw enable

Paso 8. Acceder a la interfaz web de LibreNMS.

Una vez instalado correctamente, LibreNMS estará disponible en el puerto HTTP 80 de forma predeterminada. Abra su navegador favorito y navegue hasta https://librenms.idroot.us/ y complete los pasos necesarios para finalizar la instalación.

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