Monitoraggio · 13 min read · Nov 16, 2025

Come installare la soluzione di monitoraggio LibreNMS su Rocky Linux

LibreNMS è uno strumento di monitoraggio che supporta l’auto-scoperta con più protocolli, tra cui SNMP, ARP, OSPF e BGP. Per monitorare i sistemi operativi, puoi utilizzare il protocollo SNMP, disponibile sulla maggior parte dei sistemi operativi, tra cui Linux, Windows e BSD.

Ci sono tre versioni del protocollo SNMP, v1 e v2 che sono sicure solo con una password di comunità, e il protocollo v3 che supporta le password per l’autenticazione e la crittografia. Per l’ambiente di produzione, si consiglia di utilizzare il protocollo SNMP v3, che è più sicuro rispetto a v2 e v1.

In questa guida, imparerai come installare lo strumento di monitoraggio LibreNMS sul server Rocky Linux. Questa guida include l’installazione dello stack LEMP (Nginx, MariaDB e PHP-FPM) e la configurazione di base del servizio SNMP.

Alla fine, avrai la soluzione di monitoraggio LibreNMS pronta per la produzione e potrai semplicemente aggiungere un nuovo host o server, o dispositivo da monitorare con LibreNMS.

Requisiti

Per completare questa guida, avrai bisogno dei seguenti requisiti:

  • Un server Rocky Linux - Questo esempio utilizza Rocky Linux 8.
  • Un utente non root con privilegi sudo di root/amministratore.
  • Un nome di dominio locale per il deployment locale.

Configurazione dei repository

Prima di iniziare a installare i pacchetti, dovrai configurare i repository sul tuo sistema Rocky Linux. Dovrai aggiungere il repository EPEL (Extra Packages for Enterprise Linux) e il repository PHP Remi.

Esegui il seguente comando dnf per aggiungere il repository EPEL al tuo sistema.

sudo dnf install epel-release

Inserisci Y quando richiesto per la conferma e premi INVIO per procedere.

install epel

Successivamente, esegui il seguente comando dnf per aggiungere il repository PHP Remi. Questo repository fornisce più versioni di PHP, che include l’ultima versione PHP 8.1 necessaria per l’installazione di LibreNMS.

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm

Ora inserisci Y e premi INVIO per procedere.

add remi repo

Dopo aver aggiunto i repository EPEL e Remi, verifica utilizzando il comando dnf qui sotto.

sudo dnf repolist

Dovresti vedere che il repository EPEL e Remi è stato aggiunto e disponibile sul tuo sistema Rocky Linux.

Installazione delle dipendenze dei pacchetti

Dopo aver aggiunto i repository EPEL e Remi, ora inizierai a installare le dipendenze dei pacchetti per LibreNMS. Questo include lo stack LEMP, i pacchetti SNMP e alcune dipendenze di base di Python.

Prima di iniziare l’installazione, esegui il seguente comando per abilitare il modulo del repository PHP ‘remi-8.1‘. L’ultima versione di LibreNMS richiede almeno PHP 8.

sudo dnf reset php  
sudo dnf module enable php:remi-8.1

Inserisci y per confermare e abilitare il repository PHP Remi 8.1.

reset php modules

Successivamente, esegui il seguente comando dnf per installare le dipendenze dei pacchetti per LibreNMS. Quando richiesto di confermare l’installazione, inserisci y e premi INVIO per procedere, e l’installazione inizierà.

sudo dnf install bash-completion cronie fping git ImageMagick mariadb-server mtr net-snmp net-snmp-utils nginx nmap php-fpm php-cli php-common php-curl php-gd php-gmp php-json php-mbstring php-process php-snmp php-xml php-zip php-mysqlnd python3 python3-PyMySQL python3-devel python3-redis python3-memcached python3-pip python3-systemd rrdtool unzip

install dependencies

Dopo che le dipendenze sono state installate, esegui il seguente comando per avviare e abilitare alcuni servizi come Nginx, MariaDB, PHP-FPM e snmpd.

sudo systemctl enable nginx php-fpm mariadb snmpd  
sudo systemctl start nginx php-fpm mariadb snmpd

A questo punto, alcuni servizi di base Nginx, MariaDB, PHP-FPM e snmpd verranno avviati automaticamente all’avvio del sistema. E tutti questi servizi sono in esecuzione.

start enable services

Configurazione di Firewalld

Per questo esempio, stiamo utilizzando Rocky Linux con firewalld abilitato. Ora aggiungerai sia il protocollo HTTP che HTTPS al firewalld.

Esegui il seguente comando firewall-cmd per aggiungere i servizi HTTP e HTTPS al firewalld. Dovresti ricevere il messaggio di output ‘success‘ che significa che la nuova regola è stata aggiunta.

sudo firewall-cmd --permanent --zone public --add-service http  
sudo firewall-cmd --permanent --zone public --add-service https

Successivamente, ricarica il firewalld per applicare le nuove modifiche. Quindi, verifica lo stato del firewalld utilizzando il seguente comando.

sudo firewall-cmd --reload  
sudo firewall-cmd --list-all

Riceverai l’output di entrambi i protocolli HTTP e HTTPS aggiunti al firewalld.

setup firewalld

Download del codice sorgente di LibreNMS

In questo passaggio, scaricherai il codice sorgente di LibreNMS da GitHub. Ma prima di ciò, creerai anche un nuovo utente dedicato ‘librenms‘ che verrà utilizzato per eseguire l’applicazione LibreNMS.

Esegui il seguente comando per creare un nuovo utente di sistema ‘librenms’. Questo utente verrà utilizzato per eseguire l’applicazione LibreNMS.

sudo useradd librenms -d /opt/librenms -M -r -s "$(which bash)"

Ora sposta la tua directory di lavoro in ‘/opt’ e scarica il codice sorgente di LibreNMS tramite il comando git qui sotto. Dovresti ora ottenere una nuova directory ‘/opt/librenms‘, che verrà utilizzata come directory di installazione di LibreNMS.

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

download librenms

Cambia la proprietà e i permessi della directory di installazione di LibreNMS ‘/opt/librenms‘. La proprietà dell’installazione dovrebbe essere l’utente ‘librenms’, e anche il permesso 771 consentirà all’utente di leggere, scrivere ed eseguire nella directory.

sudo chown -R librenms:librenms /opt/librenms  
sudo chmod 771 /opt/librenms

Infine, esegui il seguente comando per impostare le liste di controllo degli accessi per alcune delle directory di LibreNMS. Questo concederà al gruppo ‘librenms‘ di leggere, scrivere ed eseguire su alcune specifiche directory di 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/

Installazione delle dipendenze PHP per LibreNMS

Dopo aver scaricato il codice sorgente di LibreNMS e configurato i permessi corretti, ora installerai le dipendenze PHP per LibreNMS.

Accedi come utente ‘librenms’ utilizzando il seguente comando.

su - librenms

Ora, installa le dipendenze PHP tramite lo script di installazione come segue.

./scripts/composer_wrapper.php install --no-dev

Ora vedrai l’installazione delle dipendenze PHP necessarie per LibreNMS. Vedrai anche l’installazione dei pacchetti Python per LibreNMS.

install dependencies

Dopo che l’installazione delle dipendenze PHP è terminata, puoi ora uscire dall’utente ‘librenms‘ premendo ‘Ctrl+d‘ oppure puoi digitare il comando ‘exit‘.

Configurazione di PHP-FPM

In questo passaggio, configurerai la tua installazione di PHP-FPM per LibreNMS. Modificherai la configurazione predefinita ‘/etc/php.ini‘ e imposterai un pool PHP-FPM specifico per LibreNMS.

Esegui il seguente comando per impostare il fuso orario corretto per il tuo sistema Rocky Linux.

sudo timedatectl set-timezone Europe/Stockholm

Ora modifica la configurazione PHP ‘/etc/php.ini‘ utilizzando il seguente editor nano.

sudo nano /etc/php.ini

Decommenta l’opzione ‘date.timezone’ e cambia il valore con il fuso orario attuale del tuo server.

date.timezone = Europe/Stockholm

Salva il file e chiudi l’editor quando hai finito.

Successivamente, copia la configurazione predefinita del pool PHP-FPM ‘www.conf‘ in ‘librenms.conf‘. In questo esempio, imposterai un pool PHP-FPM specifico per lo strumento di monitoraggio LibreNMS.

cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/librenms.conf

Ora modifica la configurazione del pool PHP-FPM ‘/etc/php-fpm.d/librenms.conf‘ utilizzando il seguente editor nano.

sudo nano /etc/php-fpm.d/librenms.conf

Cambia il nome del pool predefinito da ‘[www]‘ a ‘[librenms]‘.

[librenms]

Cambia l’utente e il gruppo predefiniti in ‘librenms‘. Questo eseguirà il processo PHP-FPM come utente e gruppo ‘librenms‘.

user = librenms  
group = librenms

Infine, cambia l’opzione di ascolto in ‘/run/php-fpm-librenms.sock’. Questo specificherà il file sock per il pool PHP-FPM librenms.

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

Salva il file e esci dall’editor quando hai finito.

Ora esegui il seguente comando systemctl per riavviare il servizio PHP-FPM e applicare le nuove modifiche.

sudo systemctl restart php-fpm

setup php-fpm

Configurazione del server MariaDB

Dopo aver configurato PHP-FPM, ora configurerai il server di database MariaDB e creerai un nuovo database e utente per LibreNMS.

LibreNMS richiede il server di database MariaDB con InnoDB abilitato. Quindi ora dovrai abilitarlo. Poi, creerai un nuovo database e utente per LibreNMS.

Modifica la configurazione del server MariaDB ‘/etc/my.cnf.d/mariadb-server.cnf’ utilizzando il seguente editor nano.

sudo nano /etc/my.cnf.d/mariadb-server.cnf

Metti la seguente configurazione sotto la sezione ‘[mysqld]‘.

[mysqld]  
....  
innodb_file_per_table=1  
lower_case_table_names=0

Salva il file e chiudi l’editor quando hai finito.

Ora esegui il seguente comando systemctl qui sotto per riavviare il servizio MariaDB e applicare le nuove modifiche. Il server MariaDB è ora in esecuzione con il motore di database InnoDB abilitato.

sudo systemctl restart mariadb

Successivamente, accedi alla shell di MariaDB tramite il comando mysql qui sotto. Quando richiesto per la password, puoi semplicemente premere INVIO o digitare la password di root di MariaDB.

sudo mysql -u root -p

Esegui le seguenti query per creare un nuovo database e utente per LibreNMS. In questo esempio, creerai un nuovo database e utente ‘librenms‘, e assicurati di cambiare la password del database con la tua password.

CREATE DATABASE librenms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;  
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'password';  
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';  
FLUSH PRIVILEGES;

create database and user

Successivamente, esegui la seguente query per verificare i privilegi per l’utente del database ‘librenms@localhost‘.

SHOW GRANTS FOR librenms@localhost;

Dovresti vedere che l’utente ‘librenms’@localhost ha privilegi sul database ‘librenms‘.

check privileges

Ora digita ‘exit‘ per disconnetterti dalla shell di MariaDB.

Configurazione dei blocchi del server Nginx

Dopo aver configurato il server MariaDB e creato il database e l’utente, ora creerai una nuova configurazione del blocco del server Nginx per LibreNMS.

Prima di iniziare, assicurati di aver deciso il dominio locale che verrà utilizzato per LibreNMS. In questo esempio, LibreNMS dovrebbe essere in esecuzione con il dominio ‘librenms.howtoforge.local‘.

Crea una nuova configurazione del blocco del server Nginx ‘/etc/nginx/conf.d/librenms.conf‘ utilizzando il seguente editor nano.

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

Aggiungi la seguente configurazione al file e assicurati di cambiare il nome del dominio con il tuo dominio.

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

Salva il file e chiudi l’editor quando hai finito.

Successivamente, esegui il seguente comando per verificare la configurazione di Nginx e assicurarti che la configurazione sia corretta.

sudo nginx -t

Se la tua configurazione di Nginx è corretta, vedrai il messaggio di output come ‘test successful - Syntax OK‘.

Ora riavvia il servizio Nginx per applicare la nuova configurazione del blocco del server.

sudo systemctl restart nginx

setup nginx

A questo punto, hai completato la configurazione dello stack LEMP (Nginx, database MariaDB e PHP-FPM) per LibreNMS. Inoltre, LibreNMS dovrebbe ora essere in esecuzione sul tuo sistema Rocky Linux.

Configurazione di SELinux

Per questa guida, eseguirai LibreNMS con SELinux abilitato in modalità enforcing. Quindi ora imposterai le regole SELinux per LibreNMS.

Per iniziare, esegui il seguente comando dnf qui sotto per installare il pacchetto ‘policycoreutils-python-utils‘ sul tuo sistema Rocky Linux. Questo pacchetto fornisce più comandi per gestire SELinux.

sudo dnf install policycoreutils-python-utils

Quando richiesto, inserisci y per confermare e premi INVIO per procedere.

install SELinux management tool

Successivamente, esegui il seguente comando per impostare le etichette per il codice sorgente di LibreNMS.

semanage fcontext -a -t httpd_sys_content_t '/opt/librenms/html(/.*)?'  
semanage fcontext -a -t httpd_sys_rw_content_t '/opt/librenms/(rrd|storage)(/.*)?'  
semanage fcontext -a -t httpd_log_t "/opt/librenms/logs(/.*)?"  
semanage fcontext -a -t bin_t '/opt/librenms/librenms-service.py'  
restorecon -RFvv /opt/librenms  
chcon -t httpd_sys_rw_content_t /opt/librenms/.env

setup selinux labelling

Esegui il seguente comando per consentire l’accesso ad alcuni servizi per il server web Nginx.

setsebool -P httpd_can_sendmail=1  
setsebool -P httpd_execmem 1

Ora, crea un nuovo file ‘http_fping.tt’ utilizzando il seguente editor nano.

nano http_fping.tt

Aggiungi la seguente configurazione al file.

module http_fping 1.0;  
  
require {  
type httpd_t;  
class capability net_raw;  
class rawip_socket { getopt create setopt write read };  
}  
  
#============= httpd_t ==============  
allow httpd_t self:capability net_raw;  
allow httpd_t self:rawip_socket { getopt create setopt write read };

Salva il file e chiudi l’editor quando hai finito.

Successivamente, esegui il seguente comando per convertire il ‘http_fping.tt‘ nel formato per SELinux. Quindi, aggiungi la nuova regola compilata a SELinux.

checkmodule -M -m -o http_fping.mod http_fping.tt  
semodule_package -o http_fping.pp -m http_fping.mod  
semodule -i http_fping.pp

setup selinux

Ora che hai terminato la configurazione di SELinux per LibreNMS. Successivamente, imposterai alcune configurazioni aggiuntive per LibreNMS.

Completamento delle configurazioni di LibreNMS

Per completare la configurazione di LibreNMS, ora imposterai il comando ‘lnms‘, copierai alcune configurazioni predefinite di LibreNMS, comprese le configurazioni per cron e logrotate. Inoltre, imposterai il servizio SNMP per LibreNMS.

Esegui il seguente comando per abilitare il comando ‘lnms‘ e copiare il completamento bash del comando ‘lnms‘.

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

Copia l’esempio di configurazione del cron di LibreNMS in ‘ /etc/cron.d/librenms‘.

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

Copia la configurazione predefinita di logrotate per LibreNMS in ‘/etc/logrotate.d/librenms‘.

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

finishing librenms

Ora copia la configurazione predefinita del servizio snmpd in ‘/etc/snmp/snmpd.conf’. Quindi, modifica il nuovo file ‘/etc/snmp/snmpd.conf’ utilizzando l’editor nano.

sudo cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf  
sudo nano /etc/snmp/snmpd.conf

Cambia la password di comunità predefinita per il servizio snmpd ‘RANDOMSTRINGGOESHERE‘ con la tua password.

# Cambia RANDOMSTRINGGOESHERE con la tua stringa di comunità SNMP preferita  
com2sec readonly  default         RANDOMSTRINGGOESHERE

Salva il file e chiudi l’editor quando hai finito.

Successivamente, scarica il file binario che verrà utilizzato da LibreNMS per rilevare automaticamente il sistema operativo di ogni host target. Quindi, rendilo eseguibile cambiando i permessi predefiniti.

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

Infine, riavvia il servizio snmpd per applicare le nuove modifiche e configurazioni.

systemctl restart snmpd

Ora che tutte le configurazioni di base sono completate. Successivamente, inizierai l’installazione di LibreNMS tramite il browser web.

Accesso all’installazione web di LibreNMS

Sul tuo computer locale, modifica il file ‘/etc/hosts’ e definisci il nome di dominio locale della tua installazione di LibreNMS. Inoltre, assicurati di cambiare l’indirizzo IP con l’indirizzo IP del tuo server.

192.168.5.100   librenms.howtoforge.local

Ora apri il browser web e visita il nome di dominio della tua installazione di LibreNMS (ad es.: http://librenms.howtoforge.local/).

All’inizio, l’installatore di LibreNMS controllerà gli ambienti per l’installazione. Assicurati che tutti i requisiti siano contrassegnati in verde, il che significa che il sistema è pronto per l’installazione di LibreNMS.

Fai clic sull’icona del database per continuare.

pre install setup database

Ora inserisci i dettagli del database e dell’utente per il tuo LibreNMS e fai clic su ‘Controlla credenziali‘. Se le tue credenziali del database sono corrette, la sezione sarà contrassegnata in verde.

check database

Ora fai clic su ‘Costruisci database‘ per avviare la migrazione del database per LibreNMS.

build database

Dopo che la migrazione del database è completata, vedrai la sezione ‘Costruisci database‘ contrassegnata in verde.

Fai clic sull’icona della chiave per iniziare a configurare l’utente admin per LibreNMS.

build database

Ora inserisci il nuovo utente admin, la password e l’indirizzo email per la tua installazione di LibreNMS e fai clic su ‘Aggiungi utente‘.

setup user

Ora l’installazione è terminata e vedrai la seguente pagina. Puoi vedere che l’installazione è completata e le configurazioni sono scritte nel file ‘.env‘.

installation completes

Ora fai clic sul link ‘convalida la tua installazione‘ per verificare l’installazione di LibreNMS.

Dovresti ora essere reindirizzato alla pagina di accesso di LibreNMS. Inserisci il tuo utente admin e la password, quindi fai clic su ‘Accedi‘.

login librenms

Ora assicurati che tutte le configurazioni siano contrassegnate come ‘OK‘, il che significa che la configurazione non ha errori.

Puoi anche risolvere tutti gli errori o avvisi seguendo le istruzioni raccomandate da LibreNMS.

validate instakllation librenms

Ora puoi aggiungere un nuovo host target, macchina virtuale o dispositivo di rete da monitorare con la soluzione di monitoraggio LibreNMS.

Conclusione

Congratulazioni! Hai installato la soluzione di monitoraggio LibreNMS sul server Rocky Linux. Hai anche appreso la configurazione di base dello stack LEMP (Nginx, MariaDB e PHP-FPM) su Rocky Linux.

Da qui, puoi continuare ad aggiungere un host o macchina target da monitorare, impostare l’agente LibreNMS, impostare avvisi o notifiche, impostare integrazioni di terze parti con Graylog e svolgere altre attività.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.