LibreNMS es una herramienta de monitoreo de red de descubrimiento automático de código abierto para servidores y hardware de red. Admite una amplia gama de hardware de red como Cisco, Juniper, Brocade, Foundry, HP y sistemas operativos, incluidos Linux y Windows. LibraNMS es una bifurcación basada en la comunidad de la herramienta de monitoreo de red "Observium", lanzada bajo GPLv3.
Aquí en LinuxAPT, como parte de nuestros Servicios de administración de servidores, ayudamos regularmente a nuestros clientes a realizar consultas relacionadas con la instalación del software del sistema Linux.
En este contexto, veremos cómo instalar LibreNMS en Ubuntu 20.04 LTS.
Pasos para instalar LibreNMS en Ubuntu 20.04 LTS Focal Fossa
1. Realice la actualización del sistema
Primero, asegúrese de que todos los paquetes de su sistema estén actualizados ejecutando los siguientes comandos apt en la terminal:
$ sudo apt update
$ sudo apt upgrade
2. Instale Nginx en el sistema
Nginx es un servidor web de alto rendimiento y muy popular en estos días. También se puede utilizar como proxy inverso y servidor de almacenamiento en caché. Ejecute el siguiente comando desde la Terminal para instalar el servidor web Nginx:
$ sudo apt install nginx
Una vez instalado, verifique si el servicio Nginx se está ejecutando:
$ sudo systemctl start nginx
$ sudo systemctl status nginx
Ahora, si tiene su firewall UFW ejecutándose, deberá permitir las conexiones a Nginx:
$ sudo ufw allow OpenSSH
$ sudo ufw allow 'Nginx Full'
A continuación, compruebe el estado del cortafuegos:
$ sudo ufw status
El resultado que obtendrá se indica a continuación:
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Nginx Full ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx Full (v6) ALLOW Anywhere (v6)
3. Instale MariaDB en el sistema
MariaDB es un reemplazo directo para MySQL. Está desarrollado por antiguos miembros del equipo de MySQL que están preocupados de que Oracle pueda convertir a MySQL en un producto de código cerrado.
Ejecute el siguiente comando para instalar MariaDB:
$ sudo apt install mariadb-server mariadb-client
Una vez completado, puede verificar que MariaDB esté instalado ejecutando el siguiente comando:
$ sudo systemctl status mariadb
De forma predeterminada, MariaDB no está reforzado. Puede asegurar MariaDB utilizando el script mysql_secure_installation. debe leer y debajo de cada paso cuidadosamente 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 accederá a MariaDB seguro:
$ mysql_secure_installation
Luego, 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
Para iniciar sesión en MariaDB, use el siguiente comando (tenga en cuenta que es el mismo comando que usaría para iniciar sesión en una base de datos MariaDB):
$ mysql -u root -p
4. Instalar PHP en el sistema
A diferencia de Apache, Nginx no contiene procesamiento de PHP nativo. Para eso, tenemos que instalar PHP-FPM (FastCGI Process Manager).
Ejecute el siguiente comando para instalar PHP7.4 y algunas extensiones comunes:
$ sudo apt install php7.4 php7.4-fpm php7.4-mysql php-common php7.4-cli php7.4-common php7.4-json php7.4-opcache php7.4-readline php7.4-mbstring php7.4-xml php7.4-gd php7.4-curl
Una vez instalado, verifique la versión de PHP:
$ php --version
5. Instale LibreNMS en el sistema
Puede instalar los paquetes necesarios para LibreNMS:
$ sudo install apt install curl composer fping git graphviz imagemagick rrdtool snmp snmpd whois unzip python python3-pip
Ahora tomaremos la fuente de LibreNMS del repositorio de GitHub:
$ cd /opt
$ git clone https://github.com/librenms/librenms.git
A continuación, cree un usuario que administrará LibreNMS y agregará Nginx al grupo LibreNMS:
$ useradd librenms -d /opt/librenms -M -r
$ usermod -a -G librenms www-data
Tendremos que cambiar algunos permisos de 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/
Después de eso, se nos proporciona un script PHP que instalará las dependencias del compositor. Para ejecutar eso usaremos el siguiente comando. Para ejecutar este script, debemos cambiar al usuario de LibreNMS:
$ su - librenms
$ cd /opt/librenms
$./scripts/composer_wrapper.php install --no-dev
$ exit
6. Configurar MariaDB para LibreNMS
Aquí, necesitaremos 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 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 CHARACTER SET utf8 COLLATE utf8_unicode_ci;
MariaDB [(none)]> CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'YOUR-PASSWD';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit
Una vez hecho esto, abra el archivo de configuración de MariaDB y agregue las siguientes líneas en la sección [mysqld]:
$ nano /etc/mysql/mariadb.conf.d/50-server.cnf
Dentro de la sección [mysqld], agregue:
innodb_file_per_table=1
lower_case_table_names=0
Luego, reinicie MariaDB para que los cambios surtan efecto:
$ sudo systemctl restart mariadb
7. Configurar Nginx para LibreNMS
Cree la definición de VirtualHost para que Nginx la utilice LibreNMS:
$ nano /etc/nginx/conf.d/librenms.conf
Agregue lo siguiente al archivo de configuración:
server {
listen 80;
server_name librenms.linuxapt.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 /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.4-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
Ahora, podemos reiniciar el servidor web Nginx para que se produzcan los cambios:
$ sudo systemctl restart nginx
8. Configurar cortafuegos
Permita que Nginx atraviese el firewall para que el usuario pueda acceder al portal de LibreNMS desde una máquina externa:
$ ufw allow 80/tcp
$ ufw allow 443/tcp
$ ufw reload
¿Cómo acceder a la interfaz web de LibreNMS?
LibreNMS estará disponible en el puerto HTTP 80 de forma predeterminada.
Abra su navegador favorito y vaya a http://su-dominio.com/ o http://dirección-ip-del-servidor/ y complete los pasos requeridos para finalizar la instalación.
También puede realizar las siguientes acciones:
- Haga clic en Base de datos.
- Proporcione el nombre de la base de datos, el nombre de usuario y la contraseña.
- Haga clic en Verificar credenciales.
- Haga clic en Crear base de datos.
- Una vez que se haya realizado la compilación.
- Haga clic en Agregar usuario.
- Proporcione un nombre de usuario, contraseña y dirección de correo electrónico.
- Haga clic en Agregar usuario.
- Una vez que el usuario se haya agregado correctamente.
- Haga clic en la siguiente suma de comprobación.
- Haga clic en Validar su opción de instalación.
- Proporcione el nombre de usuario y la contraseña.
- Haga clic en Iniciar sesión.