Installazione software · 10 min read · Nov 03, 2025
Come installare lo strumento di monitoraggio LibreNMS con Nginx su CentOS 7
LibreNMS è uno strumento di monitoraggio open source basato su PHP/MYSQL/SNMP. È un sistema di monitoraggio di rete completo che fornisce supporto per un’ampia gamma di hardware di rete e sistemi operativi, tra cui FreeBSD, Cisco, Linux, HP e altro.
In questo tutorial, ti mostreremo come installare e configurare LibreNMS utilizzando Nginx come server web e MariaDB come database. Utilizzeremo il server CentOS 7 come nostro server principale.
Cosa faremo
- Installare i pacchetti richiesti
- Installare il server web Nginx
- Installare e configurare PHP-FPM
- Installare e configurare MariaDB
- Scaricare e configurare LibreNMS
- Installazione basata sul web di LibreNMS
- Configurazione finale
Requisiti
- Server CentOS 7
- Privilegi di root
Passo 1 - Installare i pacchetti richiesti
Prima di installare LibreNMS sul server, dobbiamo installare alcuni pacchetti, tra cui ImageMagick, rrdtool, SNMP, git e altro. Il seguente comando dovrebbe fare il necessario:
yum -y install net-snmp ImageMagick jwhois nmap mtr rrdtool MySQL-python net-snmp-utils cronie fping gitSe tutto va bene, procedi al passo successivo.
Passo 2 - Installare il server web Nginx
In questo passo, installeremo epel-repository per l’installazione del server web nginx. Il repository EPEL (Extra Packages for Enterprise Linux) è un repository aggiuntivo per i sistemi operativi basati su rpm, inclusi CentOS 7.
Installa il repository EPEL utilizzando il comando yum qui sotto.
yum -y install epel-releaseOra installa nginx.
yum -y install nginxDopo l’installazione di nginx, avvia il servizio e abilitalo a partire automaticamente all’avvio utilizzando i seguenti comandi systemctl.
systemctl start nginx
systemctl enable nginxQuindi, il server web Nginx è stato installato sul sistema dal repository EPEL.

Passo 3 - Installare e configurare PHP-FPM
Prima di procedere, ecco alcune informazioni da condividere:
Utilizzeremo PHP-FPM versione 7 per l’installazione di LibreNMS. Tutti i pacchetti PHP 7 per CentOS 7 sono disponibili su repository di terze parti, e utilizzeremo la versione PHP 7 dal repository ‘webtatic’.
Quindi iniziamo.
Aggiungi il repository PHP 7 webtatic al sistema utilizzando il seguente comando rpm.
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpmInstalla PHP 7 e tutte le estensioni necessarie dal repository wetatic utilizzando yum.
yum -y install php70w php70w-cli php70w-gd php70w-mysql php70w-snmp php70w-pear php70w-curl php70w-common php70w-fpm php70w-mcryptOra aggiorna il repository PEAR e installa alcune estensioni PEAR (PHP Extension and Application Repository) utilizzando il comando pear.
pear channel-update pear.php.net
pear install Net_IPv4-1.3.4
pear install Net_IPv6-1.2.2b2
In questo modo puoi installare tutti i pacchetti PHP richiesti.
Successivamente, configura PHP-FPM per l’installazione di LibreNMS. Dobbiamo definire il fuso orario predefinito nel file php.ini e assicurarci che il fuso orario corrisponda al fuso orario attualmente utilizzato dal sistema. Puoi controllare il fuso orario attualmente utilizzato dal tuo sistema tramite il seguente comando.
timedatectlIl seguente screenshot mostra il comando sopra in azione:

Quindi stiamo usando il fuso orario ‘Europe/Paris‘.
Ora, modifica il file ‘/etc/php.ini’ utilizzando vim.
vim /etc/php.iniSuccessivamente, decommenta la riga ‘date.timezone’ e assegna un valore con il fuso orario del server ‘Europe/Paris’.
data.timezone = Europe/ParisAllo stesso modo, decommenta la riga cgi e cambia il valore in ‘0‘.
cgi.fix_pathinfo=0Questo è tutto. Ora salva le modifiche ed esci dall’editor.
Successivamente, dobbiamo definire come PHP-FPM sta funzionando sul sistema. Nel nostro caso, PHP-FPM funzionerà sotto il file ‘sock’ invece della porta del server.
Modifica il file ‘www.conf’ con vim per configurare PHP-FPM.
vim /etc/php-fpm.d/www.confCambia la riga della porta ‘listen’ nel file sock come segue.
listen = /var/run/php-fpm/php7.0-fpm.sockDecommenta la riga ‘listen’ per il proprietario, il gruppo e i permessi del file sock come configurazione qui sotto.
listen.owner = nginx
listen.group = nginx
listen.mode = 0660Questo è tutto. Ora salva le modifiche ed esci dall’editor.
Quindi la configurazione di PHP-FPM è ora completa. Avvia il servizio e abilitalo a partire automaticamente all’avvio utilizzando i seguenti comandi.
systemctl start php-fpm
systemctl enable php-fpmOra PHP-FPM sta funzionando sotto il file sock. Puoi controllarlo con il comando netstat.
netstat -pl | grep phpAssicurati di avere il risultato del file ‘/var/run/php-fpm/php7.0-fpm.sock’.
Passo 4 - Installare e configurare MariaDB
LibreNMS utilizza il database MySQL per memorizzare tutti i dati. Per questa guida, utilizzeremo la versione del database MariaDB. È disponibile nel repository e dobbiamo installare e aggiungere alcune configurazioni per l’installazione di LibreNMS, inclusa l’aggiunta del database e dell’utente per LibreNMS.
Installa MariaDB utilizzando il comando yum qui sotto.
yum -y install mariadb mariadb-serverAvvia il servizio MariaDB e abilitalo a partire automaticamente all’avvio.
systemctl start mariadb
systemctl enable mariadb
Ora configura la password di root di MariaDB utilizzando il comando ‘mysql_secure_installation’ qui sotto.
mysql_secure_installationTi verrà chiesto di inserire la nuova password di root per il database MariaDB insieme ad alcune altre domande.
Digita ‘Y’ e premi Invio per confermare.
Imposta la password di root? [Y/n] Y
Rimuovi utenti anonimi? [Y/n] Y
Disabilita il login remoto per root? [Y/n] Y
Rimuovi il database di test e l'accesso ad esso? [Y/n] Y
Ricarica ora le tabelle dei privilegi? [Y/n] YQuindi MariaDB è stato installato. Ora dobbiamo creare un nuovo database e un nuovo utente per LibreNMS. Accedi alla shell del client mysql utilizzando il client mysql e con la tua nuova password.
mysql -u root -pCrea un nuovo database chiamato ‘librenms‘, un nuovo utente ‘librenms‘ con password ‘hakase-labs123‘.
Crea tutto ciò utilizzando le query MySQL qui sotto.
CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_unicode_ci;
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'hakase-labs123';
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
FLUSH PRIVILEGES;Un nuovo utente e database per l’installazione di LibreNMS sono stati creati.

Ora devi modificare il file my.cnf per aggiungere una nuova configurazione mysql. Modifica il file ‘/etc/my.cnf’ utilizzando vim.
vim /etc/my.cnfIncolla la seguente configurazione aggiuntiva sotto la sezione ‘[mysqld]‘.
innodb_file_per_table=1
sql-mode=""
lower_case_table_names=0Salva ed esci da vim, quindi riavvia il server mariadb.
systemctl restart mariadb
Passo 5 - Scaricare e configurare LibreNMS
In questo passo, configureremo il sistema per l’installazione di LibreNMS.
- Aggiungi utente e scarica il codice sorgente di LibreNMS
Crea un nuovo utente di sistema chiamato ‘librenms’, quindi definisci la directory home per l’utente nella directory ‘/opt/librenms’, e infine aggiungi l’utente ‘librenms’ al gruppo ‘nginx’.
useradd librenms -d /opt/librenms -M -r
usermod -a -G librenms nginxVai nella directory ‘/opt/‘ e scarica il codice sorgente di LibreNMS utilizzando il comando git clone qui sotto.
cd /opt/
git clone https://github.com/librenms/librenms.git librenms
Crea una nuova directory per i log di LibreNMS e i file rrd.
mkdir -p /opt/librenms/logs/
mkdir -p /opt/librenms/rrd/
chmod 775 /opt/librenms/rrd/Ora cambia la proprietà di tutti i file e le directory sotto la directory ‘/opt/librenms’ all’utente e gruppo ‘librenms’.
chown -R librenms:librenms /opt/librenms/
- Configura l’host virtuale di LibreNMS
LibreNMS è un’applicazione basata sul web e stiamo utilizzando un server web Nginx per ospitarla.
Crea un nuovo file di host virtuale ‘librenms.conf’ nella directory ‘conf.d’ di nginx.
vim /etc/nginx/conf.d/librenms.confIncolla la configurazione qui sotto.
server {
# Aggiungi il tuo nome di dominio
listen 80;
server_name librenms.irsyadf.me;
# Directory radice di LibreNMS
root /opt/librenms/html;
index index.php;
# Log di LibreNMS
access_log /opt/librenms/logs/access_log;
error_log /opt/librenms/logs/error_log;
# Abilitare la compressione Gzip su Nginx
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;
}
# PHP-FPM gestisce tutte le richieste di file .php
location ~ \.php {
include fastcgi.conf;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php-fpm/php7.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}Questo è tutto. Ora salva ed esci da Vim.
Testa la configurazione di nginx e assicurati che non ci siano errori. Quindi riavvia il server web.
ginx -t
systemctl restart nginx- Configurazione di Firewalld
Assicurati che i pacchetti firewalld siano installati sul tuo sistema. Se non lo sono, puoi installare firewalld utilizzando il seguente comando yum.
yum -y install firewalldAvvia firewalld e abilitalo a partire all’avvio utilizzando i seguenti comandi systemctl.
systemctl start firewalld
systemctl enable firewalld
Apri le nuove porte HTTP, HTTPS e SNMP 161/udp utilizzando il comando firewall-cmd come mostrato qui sotto.
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --add-port=161/udp --permanentApplica la configurazione ricaricando firewalld e controlla tutti i servizi.
firewall-cmd --reload
firewall-cmd --list-allAssicurati che i servizi HTTP e HTTPS siano nell’elenco.
Passo 6 - Installazione basata sul web di LibreNMS
Apri il tuo browser web e digita l’URL di LibreNMS nella barra degli indirizzi.
http://librenms.hakase-labs.me/
Verrai reindirizzato alla pagina di installazione ‘install.php’.
- Controlla il supporto dei moduli PHP
Assicurati che tutti i moduli e le estensioni PHP richiesti siano installati sul sistema.

Quindi fai clic su ‘Fase successiva’ per continuare.
- Configurazione del database
Inserisci i dettagli del database qui sotto:
- Utente DB: ‘librenms‘
- Nome DB: ‘librenms‘
- Password DB: ‘hakase-labs123‘

E fai clic su ‘Fase successiva’ per continuare.
- Importa il database MySQL
Non chiudere la pagina di installazione poiché mostrerà l’importazione del database. Assicurati che non ci siano errori.

Quando il processo è completo, fai clic su ‘Vai ad Aggiungi Utente’ per aggiungere un nuovo utente amministratore.
- Aggiungi Utente Amministratore
Inserisci il tuo nome utente amministratore, email e password.

Fai clic su ‘Aggiungi Utente’ per continuare con l’installazione.
- Genera il file di configurazione

Fai clic sul pulsante ‘Genera Config’, e vedrai una pagina simile alla seguente.

Copia il codice php che c’è nella casella e crea un nuovo file ‘config.php’ nella directory ‘/opt/librenms/‘.
cd /opt/librenms/
vim config.phpIncolla nel nuovo file il codice che hai appena copiato, quindi salva ed esci dall’editor. Ora cambia i permessi di proprietà del file config.php all’utente e gruppo ‘librenms’.
chown librenms:librenms config.php
Torna al tuo browser e fai clic sul pulsante ‘Finisci Installazione’ presente in fondo alla pagina. Vedrai un messaggio di benvenuto simile al seguente.

A questo punto, abbiamo completato l’installazione basata sul web. Torna al terminale/shell e aggiungi ulteriori configurazioni.
Passo 7 - Configurazione finale
In questo passo, aggiungeremo alcune configurazioni per la nostra installazione di LibreNMS.
- Definisci il comando fping
Definisci il comando ‘fping’ modificando il file di configurazione di LibreNMS. Vai nella directory ‘/opt/librenms/‘ e modifica il file config.php utilizzando l’editor vim.
cd /opt/librenms/
vim config.phpAggiungi la seguente riga in fondo al file.
$config['fping'] = "/usr/sbin/fping";Salva ed esci dall’editor.
- Configurazione SNMP
Esegui il backup del file snmp.conf predefinito nella directory ‘/etc/snmp/‘ e copia il nuovo file dalla directory librenms.
mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.asli
cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.confModifica la nuova configurazione.
vim /etc/snmp/snmpd.confCambia il testo ‘RANDOMSTRINGGOESHERE’ con il tuo nome di comunità come segue.
com2sec readonly default hakaselabsQuesto è tutto. Salva ed esci da Vim.

Successivamente, scarica lo script librenms-agent per rilevare quale sistema operativo hai aggiunto. Se aggiungi un sistema operativo Linux, lo script rileverà anche la specifica distribuzione Linux.
Scarica lo script utilizzando curl e rendilo eseguibile.
curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
chmod +x /usr/bin/distroOra riavvia il servizio SNMP utilizzando il seguente comando systemctl.
systemctl restart snmpd- Configura Logrotate per LibreNMS
LibreNMS fornisce configurazione per la configurazione di logrotate, ed è nella directory ‘/opt/librenms/misc’.
Copia il campione di configurazione nella directory ‘/etc/logrotate.d’.
cp misc/librenms.logrotate /etc/logrotate.d/librenms- Configurazione del cronjob di LibreNMS
Vai nella directory ‘opt/librenms’ e copia il file di script crontab ‘librenms.nonroot.cron’ nella directory ‘cron.d’.
cd /opt/librenms/
cp librenms.nonroot.cron /etc/cron.d/librenmsAspetta qualche minuto affinché lo script venga eseguito automaticamente.
- Verifica la configurazione di LibreNMS
Per verificare l’installazione, utilizza lo script validate.php. Vai nella directory ‘/opt/librenms/‘ e esegui lo script.
cd /opt/librenms/
./validate.phpAssumendo che non incontri errori, dovresti vedere un output simile al seguente:

Quindi questo completa l’installazione di LibreNMS con il server web Nginx su CentOS 7.
Riferimento
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.