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

  1. Installare i pacchetti richiesti
  2. Installare il server web Nginx
  3. Installare e configurare PHP-FPM
  4. Installare e configurare MariaDB
  5. Scaricare e configurare LibreNMS
  6. Installazione basata sul web di LibreNMS
  7. 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 git

Se 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-release

Ora installa nginx.

yum -y install nginx

Dopo l’installazione di nginx, avvia il servizio e abilitalo a partire automaticamente all’avvio utilizzando i seguenti comandi systemctl.

systemctl start nginx  
systemctl enable nginx

Quindi, il server web Nginx è stato installato sul sistema dal repository EPEL.

Avvia e controlla il server web Nginx

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

Installa 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-mcrypt

Ora 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

Installa alcuni pacchetti pear

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.

timedatectl

Il seguente screenshot mostra il comando sopra in azione:

usa il comando timedatectl

Quindi stiamo usando il fuso orario ‘Europe/Paris‘.

Ora, modifica il file ‘/etc/php.ini’ utilizzando vim.

vim /etc/php.ini

Successivamente, decommenta la riga ‘date.timezone’ e assegna un valore con il fuso orario del server ‘Europe/Paris’.

data.timezone = Europe/Paris

Allo stesso modo, decommenta la riga cgi e cambia il valore in ‘0‘.

cgi.fix_pathinfo=0

Questo è 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.conf

Cambia la riga della porta ‘listen’ nel file sock come segue.

listen = /var/run/php-fpm/php7.0-fpm.sock

Decommenta 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 = 0660

Questo è 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-fpm

Ora PHP-FPM sta funzionando sotto il file sock. Puoi controllarlo con il comando netstat.

netstat -pl | grep php

Assicurati 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-server

Avvia il servizio MariaDB e abilitalo a partire automaticamente all’avvio.

systemctl start mariadb  
systemctl enable mariadb

Configura il database MariaDB

Ora configura la password di root di MariaDB utilizzando il comando ‘mysql_secure_installation’ qui sotto.

mysql_secure_installation

Ti 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] Y

Quindi 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 -p

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

Aggiungi utente MySQL librenms

Ora devi modificare il file my.cnf per aggiungere una nuova configurazione mysql. Modifica il file ‘/etc/my.cnf’ utilizzando vim.

vim /etc/my.cnf

Incolla la seguente configurazione aggiuntiva sotto la sezione ‘[mysqld]‘.

innodb_file_per_table=1  
sql-mode=""  
lower_case_table_names=0

Salva ed esci da vim, quindi riavvia il server mariadb.

systemctl restart mariadb

Configura le impostazioni di 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 nginx

Vai 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

Installa 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.conf

Incolla 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 firewalld

Avvia firewalld e abilitalo a partire all’avvio utilizzando i seguenti comandi systemctl.

systemctl start firewalld  
systemctl enable firewalld

Configura il Firewall

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 --permanent

Applica la configurazione ricaricando firewalld e controlla tutti i servizi.

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

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

Installer basato sul web di LibreNMS

Quindi fai clic su ‘Fase successiva’ per continuare.

- Configurazione del database

Inserisci i dettagli del database qui sotto:

  1. Utente DB: ‘librenms
  2. Nome DB: ‘librenms
  3. Password DB: ‘hakase-labs123

Configura il database

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.

Importa lo schema del database MySQL

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.

Aggiungi l'utente amministratore

Fai clic su ‘Aggiungi Utente’ per continuare con l’installazione.

- Genera il file di configurazione

Genera il file di configurazione

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

Impostazioni del file di configurazione

Copia il codice php che c’è nella casella e crea un nuovo file ‘config.php’ nella directory ‘/opt/librenms/‘.

cd /opt/librenms/  
vim config.php

Incolla 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

Salva il file di configurazione nel terminale

Torna al tuo browser e fai clic sul pulsante ‘Finisci Installazione’ presente in fondo alla pagina. Vedrai un messaggio di benvenuto simile al seguente.

Lo strumento di monitoraggio LibreNMS è stato installato

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

Aggiungi 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.conf

Modifica la nuova configurazione.

vim /etc/snmp/snmpd.conf

Cambia il testo ‘RANDOMSTRINGGOESHERE’ con il tuo nome di comunità come segue.

com2sec readonly  default         hakaselabs

Questo è tutto. Salva ed esci da Vim.

Imposta stringa casuale

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/distro

Ora 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/librenms

Aspetta 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.php

Assumendo che non incontri errori, dovresti vedere un output simile al seguente:

Verifica la configurazione

Quindi questo completa l’installazione di LibreNMS con il server web Nginx su CentOS 7.

Riferimento

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.