Installazione software · 12 min read · Nov 06, 2025
Come installare lo strumento di monitoraggio LibreNMS su AlmaLinux 9

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 protette solo da una password di comunità, e il protocollo v3 che supporta password per autenticazione e 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, ti mostrerò come installare lo strumento di monitoraggio LibreNMS sul tuo server AlmaLinux 9. Eseguirò LibreNMS con PHP-FPM, server web Nginx e database MariaDB.
Requisiti
Per completare questa guida, devi avere quanto segue:
- Un server AlmaLinux 9 - Questo demo utilizza un server con il nome host almalinux9.
- Un utente non root con privilegi sudo/root.
Installazione delle dipendenze
Per prima cosa, aggiungerai i repository EPEL e Remi al tuo sistema. Quindi, installa le dipendenze dei pacchetti per LibreNMS.
Esegui il seguente comando dnf per aggiungere il repository EPEL e il repository PHP Remi al tuo sistema.
sudo dnf install -y epel-release
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpmAlcune delle dipendenze sono disponibili nel repository EPEL, quindi devi aggiungere EPEL al tuo sistema.

Il repository PHP Remi sarà utilizzato per installare i pacchetti PHP-FPM.

Ora, esegui il seguente comando per ripristinare il modulo del repository predefinito per PHP. Quindi, abilita il repository PHP Remi per la versione PHP 8.1, necessaria per LibreNMS.
sudo dnf module reset php
sudo dnf module enable php:remi-8.1
Successivamente, esegui il comando dnf qui sotto per installare le dipendenze dei pacchetti per LibreNMS. Questo include PHP-FPM, server web Nginx, server MariaDB, alcuni pacchetti Python3 e utilità di sistema come rrdtool, unzip, ImageMagick, git e fping.
sudo dnf install -y 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-redis python3-memcached python3-pip python3-systemd rrdtool unzipUna volta completata l’installazione, passa al passaggio successivo.

Creazione dell’utente di sistema
In questa sezione, creerai un nuovo utente di sistema chiamato librenms che sarà utilizzato per eseguire LibreNMS.
Esegui il seguente comando per creare un nuovo utente librenms.
sudo useradd librenms -d /opt/librenms -M -r -s "$(which bash)"Opzioni dettagliate:
- -d /opt/librenms: Specifica la directory home per il nuovo utente a /opt/librenms.
- -M: Non creare una directory home per il nuovo utente.
- -r: Definisci il nuovo utente come utente di sistema.
- -s “$(which bash)”: Specifica la shell per il nuovo utente come bash.
Configurazione di PHP-FPM
Nella seguente sezione, configurerai PHP-FPM per LibreNMS. Imposterai il fuso orario corretto sul tuo sistema, quindi aggiungerai un pool PHP-FPM specifico che sarà utilizzato da LibreNMS.
Per prima cosa, esegui il seguente comando per configurare il fuso orario sul tuo server.
sudo timedatectl set-timezone Europe/Stockholm
sudo ln -s /usr/share/zoneinfo/Europe/Stockholm /etc/localtime
Quindi, apri il file /etc/php.ini utilizzando il seguente editor nano.
sudo nano /etc/php.iniDecommenta il parametro date.timezone e cambia il valore con il fuso orario corretto in questo modo:
date.timezone=Europe/StockholmSalva ed esci dal file quando hai finito.
Ora, esegui il seguente comando per copiare la configurazione predefinita del pool PHP-FPM in /etc/php-fpm.d/librenms.conf e aprilo utilizzando l’editor nano.
sudo cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/librenms.conf
sudo nano /etc/php-fpm.d/librenms.confCambia il nome del pool PHP-FPM da www a librenms.
[librenms]Cambia l’utente e il gruppo predefiniti in librenms.
user = librenms
group = librenmsCambia il file sock predefinito per il nuovo pool PHP-FPM in /run/php-fpm/librenms.sock.
listen = /run/php-fpm/librenms.sockSalva il file ed esci dall’editor quando hai finito.
Ora, esegui il seguente comando per avviare e abilitare il servizio PHP-FPM.
sudo systemctl start php-fpm
sudo systemctl enable php-fpmQuindi verifica il servizio PHP-FPM utilizzando il seguente comando per assicurarti che il servizio sia in esecuzione.
sudo systemctl status php-fpmSe in esecuzione, il seguente output verrà visualizzato nel tuo terminale:

Inoltre, puoi anche verificare il file sock PHP-FPM per LibreNMS utilizzando il seguente comando.
ss -pl | grep php-fpmSe la tua configurazione è riuscita, dovresti ricevere il file sock PHP-FPM /run/php-fpm/librenms.sock disponibile.
Configurazione del server MariaDB
Dopo aver configurato PHP-FPM, configurerai il server MariaDB. Aggiungerai configurazioni aggiuntive al server MariaDB e proteggerai MariaDB tramite l’utilità mariadb-secure-installation.
Apri la configurazione predefinita del server MariaDB /etc/my.cnf.d/mariadb-server.cnf utilizzando il seguente editor nano.
sudo nano /etc/my.cnf.d/mariadb-server.cnfInserisci le seguenti configurazioni sotto la sezione ‘ [mysqld] ‘.
innodb_file_per_table=1
lower_case_table_names=0Salva il file ed esci dall’editor quando hai finito.
Ora esegui il seguente comando per avviare e abilitare il servizio MariaDB.
sudo systemctl start mariadb
sudo systemctl enable mariadbSuccessivamente, esegui il seguente comando per proteggere l’installazione del tuo server MariaDB.
sudo mariadb-secure-installationTi verrà chiesto alcune configurazioni qui sotto:
- Cambia il metodo di autenticazione per l’utente root di MariaDB in unix_socket. Inserisci n per No.
- Imposta la password root di MariaDB. Inserisci y per confermare e digita la nuova password root di MariaDB e ripeti.
- Disabilita il login remoto per l’utente root di MariaDB. Inserisci y per confermare.
- Rimuovi il database predefinito test da MariaDB. Inserisci y per confermare.
- Rimuovi l’utente anonimo da MariaDB. Inserisci y per confermare.
- Infine, inserisci y di nuovo per ricaricare i privilegi delle tabelle per applicare le modifiche.
Crea database e utente MariaDB per LibreNMS
Con il server MariaDB configurato, ora creerai un nuovo database e un utente che saranno utilizzati da LibreNMS.
Accedi al server MariaDB utilizzando il seguente comando.
sudo mariadb -u root -pEsegui le seguenti query per creare un nuovo database e un utente per LibreNMS. In questo demo, creerai un nuovo database e utente librenms con la password librenmspassword. Inoltre, devi assicurarti che il carattere predefinito per il database LibreNMS sia utf8mb4.
CREATE DATABASE librenms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'librenmspassword';
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
FLUSH PRIVILEGES;
Ora, esegui la query qui sotto per verificare i privilegi per il nuovo utente librenms, quindi digita exit per uscire da MariaDB.
SHOW GRANTS FOR 'librenms'@'localhost';
exitL’output visualizzato qui sotto ti mostra che l’utente librenms può accedere al database librenms.

Download e installazione di LibreNMS
In questa sezione, scaricherai il codice sorgente di LibreNMS, imposterai la corretta proprietà e i permessi, quindi installerai le dipendenze PHP tramite lo script composer_wrapper incluso nel codice sorgente.
Esegui il comando git qui sotto per scaricare il codice sorgente di LibreNMS nella directory /opt/librenms.
git clone https://github.com/librenms/librenms.git /opt/librenmsOra cambia la proprietà della directory /opt/librenms all’utente librenms e cambia i permessi in 771.
sudo chown -R librenms:librenms /opt/librenms
sudo chmod 771 /opt/librenms
Dopo di che, esegui il seguente comando per impostare le liste di controllo degli accessi e assicurarti i permessi di lettura, scrittura ed esecuzione per alcune 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/Successivamente, accedi come utente librenms utilizzando il seguente comando. Dovresti essere nella directory /opt/librenms.
su - librenms
pwdEsegui il seguente comando per installare le dipendenze PHP per LibreNMS. Quando l’installazione è completata, digita exit per disconnetterti dall’utente librenms.
./scripts/composer_wrapper.php install --no-dev
exit
Configurazione di SELinux
Se hai SELinux abilitato con modalità enforcing sul tuo server AlmaLinux 9, allora devi configurarlo per LibreNMS. In questa sezione, installerai il pacchetto policycoreutils-python-utils per configurare SELinux per LibreNMS.
Esegui il seguente comando per installare il pacchetto policycoreutils-python-utils.
sudo dnf install -y policycoreutils-python-utilsSuccessivamente, esegui il seguente comando per impostare l’etichettatura per il codice sorgente di LibreNMS, consentire al server web di inviare un’email e eseguire programmi che richiedono indirizzi di memoria.
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
setsebool -P httpd_can_sendmail=1
setsebool -P httpd_execmem 1
chcon -t httpd_sys_rw_content_t /opt/librenms/.envOra crea un nuovo file http_fping.tt utilizzando il seguente comando dell’editor nano.
sudo nano http_fping.ttInserisci la seguente configurazione nel file. Questo permetterà il comando fping tramite SELinux.
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 ed esci dall’editor quando hai finito.
Infine, esegui il seguente comando per compilare il file http_fping.tt e aggiungerlo 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.ppConfigurazione di Firewalld
Dopo aver impostato SELinux, configurerai firewalld per aprire sia i protocolli HTTP che HTTPS.
Esegui i comandi firewall-cmd qui sotto per aprire le porte HTTP e HTTPS, quindi ricarica firewalld per applicare le modifiche.
sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reloadOra verifica l’elenco delle regole di firewalld utilizzando il seguente comando. Se hai successo, dovresti vedere sia i protocolli HTTP che HTTPS nell’elenco delle regole.
sudo firewall-cmd --list-all
Configurare il servizio SNMP
SNMP o Simple Network Management Protocol è un protocollo ampiamente utilizzato dai dispositivi di rete come modem, switch e router. In questa sezione, configurerai il servizio snmpd sulla tua installazione di LibreNMS che sarà utilizzato per monitorare i dispositivi di rete.
Copia la configurazione SNMP predefinita in /etc/snmp/snmpd.conf e aprila utilizzando il comando dell’editor nano qui sotto.
sudo cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
sudo nano /etc/snmp/snmpd.confCambia la password SNMP predefinita RANDOMSTRINGGOESHERE con la nuova 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 dello strumento agente di LibreNMS per rilevare i sistemi operativi Linux e UNIX e rendilo eseguibile.
sudo curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
sudo chmod +x /usr/bin/distro
Ora avvia e abilita il servizio snmpd utilizzando il seguente comando.
sudo systemctl start snmpd
sudo systemctl enable snmpdInfine, verifica il servizio snmpd utilizzando il comando systemctl qui sotto.
sudo systemctl status snmpdSe il servizio snmpd è in esecuzione, dovresti ricevere un output come ‘ active (running) ‘.

Impostazioni aggiuntive di LibreNMS
La seguente sezione contiene alcune configurazioni aggiuntive per LibreNMS. Imposterai la seguente configurazione:
- Imposta il comando binario di LibreNMS ‘lnms’ e il suo bash_completion.
- Imposta cron per il polling di LibreNMS.
- Imposta il pianificatore di LibreNMS tramite timer systemd.
- Imposta logrotate per i log di LibreNMS.
Per prima cosa, crea un symlink per il comando della riga di comando di LibreNMS lnms in /usr/bin/lnms. Quindi, copia il completamento bash per il comando lnms nella directory /etc/bash_completion.d/.
sudo ln -s /opt/librenms/lnms /usr/bin/lnms
sudo cp /opt/librenms/misc/lnms-completion.bash /etc/bash_completion.d/Ora, accedi come utente librenms e esegui il comando lnms, quindi premi TAB per ottenere l’elenco dei parametri disponibili del comando lnms.
su - librenms
lnms TABUn output simile a questo verrà mostrato nel tuo terminale.

Successivamente, esegui il seguente comando per copiare la configurazione cron di LibreNMS in /etc/cron.d/librenms.
cp /opt/librenms/dist/librenms.cron /etc/cron.d/librenmsQuindi, copia la configurazione logrotate per LibreNMS utilizzando il comando qui sotto.
sudo cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenmsDopo di che, copia il servizio e il timer del pianificatore di LibreNMS nella directory /etc/systemd/system/ e ricarica il gestore systemd per applicare le modifiche.
sudo cp /opt/librenms/dist/librenms-scheduler.service /opt/librenms/dist/librenms-scheduler.timer /etc/systemd/system/
sudo systemctl daemon-reloadInfine, avvia e abilita il servizio del pianificatore di LibreNMS.
sudo systemctl enable librenms-scheduler.timer
sudo systemctl start librenms-scheduler.timer
Configurazione di Nginx
Con tutte le configurazioni completate, ora imposterai il blocco del server Nginx per LibreNMS.
Crea una nuova configurazione del blocco del server Nginx /etc/nginx/conf.d/librenms.conf utilizzando il seguente comando dell’editor nano.
sudo nano /etc/nginx/conf.d/librenms.confInserisci la seguente configurazione e assicurati di cambiare il nome di dominio nell’opzione server_name.
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 ed esci dall’editor quando hai finito.
Ora esegui il comando qui sotto per verificare la configurazione di Nginx. Se hai successo, dovresti vedere un output come ‘ test is successful - syntax is ok ‘.
sudo nginx -tSuccessivamente, avvia e abilita il servizio Nginx utilizzando il seguente comando.
sudo systemctl start nginx
sudo systemctl enable nginx
Quindi, inserisci il comando qui sotto per verificare lo stato del servizio Nginx e assicurarti che il servizio sia in esecuzione.
sudo systemctl status nginxSe hai successo, dovresti ricevere il seguente output:

Installazione di LibreNMS tramite browser web
Dopo aver creato la configurazione del blocco del server Nginx, sei pronto per avviare l’installazione di LibreNMS dal browser web.
Avvia il tuo browser web e visita il nome di dominio della tua installazione di LibreNMS, cioè: http://librenms.howtoforge.local.
Nella prima pagina, LibreNMS controllerà e verificherà il tuo ambiente attuale. Assicurati di superare il controllo dei requisiti, quindi fai clic sull’icona database per continuare.

Ora inserisci i dettagli del database che hai creato e fai clic su Check Credentials.

Quindi, fai clic su Build Database per migrare il database di LibreNMS.

Successivamente, fai clic sull’icona key per impostare l’utente admin e la password di LibreNMS. Inserisci i dettagli dell’utente admin, la password e l’email, quindi fai clic su Add User.

Ora fai clic su Finish Install per completare l’installazione di LibreNMS.

Una volta completata l’installazione di LibreNMS, verrai reindirizzato alla pagina di accesso di LibreNMS. Inserisci il tuo utente admin e la password, quindi fai clic su Login.

Se hai successo, dovresti vedere il dashboard di LibreNMS in questo modo. Puoi creare e organizzare il dashboard di LibreNMS come desideri.

Infine, puoi utilizzare lo script validate.php per assicurarti di avere una corretta configurazione di LibreNMS. Esegui il seguente comando per accedere come utente librenms ed eseguire lo script validate.php.
su - librenms
./validate.phpSe hai una corretta configurazione di LibreNMS, tutto dovrebbe avere lo stato OK come il seguente:

Conclusione
Congratulazioni, hai ora installato con successo lo strumento di monitoraggio LibreNMS su AlmaLinux 9. Hai installato e configurato LibreNMS con il server database MariaDB e il server web Nginx. E hai anche configurato SELinux e firewalld per LibreNMS.
Inoltre, visita la documentazione di LibreNMS per aggiungere nuovi host o dispositivi da monitorare.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.