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-releaseInserisci Y quando richiesto per la conferma e premi INVIO per procedere.

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.rpmOra inserisci Y e premi INVIO per procedere.

Dopo aver aggiunto i repository EPEL e Remi, verifica utilizzando il comando dnf qui sotto.
sudo dnf repolistDovresti 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.1Inserisci y per confermare e abilitare il repository PHP Remi 8.1.

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
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 snmpdA 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.

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 httpsSuccessivamente, 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-allRiceverai l’output di entrambi i protocolli HTTP e HTTPS aggiunti al 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
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/librenmsInfine, 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 - librenmsOra, installa le dipendenze PHP tramite lo script di installazione come segue.
./scripts/composer_wrapper.php install --no-devOra vedrai l’installazione delle dipendenze PHP necessarie per LibreNMS. Vedrai anche l’installazione dei pacchetti Python per LibreNMS.

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/StockholmOra modifica la configurazione PHP ‘/etc/php.ini‘ utilizzando il seguente editor nano.
sudo nano /etc/php.iniDecommenta l’opzione ‘date.timezone’ e cambia il valore con il fuso orario attuale del tuo server.
date.timezone = Europe/StockholmSalva 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.confOra 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.confCambia 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 = librenmsInfine, 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.sockSalva 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
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.cnfMetti la seguente configurazione sotto la sezione ‘[mysqld]‘.
[mysqld]
....
innodb_file_per_table=1
lower_case_table_names=0Salva 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 mariadbSuccessivamente, 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 -pEsegui 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;
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‘.

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.confAggiungi 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 -tSe 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
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-utilsQuando richiesto, inserisci y per confermare e premi INVIO per procedere.

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
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 1Ora, crea un nuovo file ‘http_fping.tt’ utilizzando il seguente editor nano.
nano http_fping.ttAggiungi 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
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/librenmsCopia la configurazione predefinita di logrotate per LibreNMS in ‘/etc/logrotate.d/librenms‘.
sudo cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/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.confCambia 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 RANDOMSTRINGGOESHERESalva 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/distroInfine, riavvia il servizio snmpd per applicare le nuove modifiche e configurazioni.
systemctl restart snmpdOra 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.localOra 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.

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.

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

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.

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

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

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‘.

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.

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à.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.