LibreNMS è un sistema di monitoraggio della rete basato su PHP open source, potente e ricco di funzionalità che utilizza il protocollo SNMP. Supporta un’ampia gamma di sistemi operativi tra cui Linux, Windows e dispositivi di rete tra cui Cisco, Juniper, Brocade, Foundry, HP e molti altri.
Questo tutorial guida step by step nell’installazione di LibreNMS su Ubuntu 22.04 LTS utilizzando PHP 8.1 e come Web Server Nginx
PREREQUISITI
Un server con installato Ubuntu Server 22.04.
L’accesso in SSH con l’utente root abilitato come indicato nel seguente articolo
INSTALLAZIONE DIPENDENZE
Aggiornare i pacchetti di sistema all’ultima versione con il seguente comando:
0 |
apt-get update -y |
Dopo aver aggiornato tutti i pacchetti, installare tutte le dipendenze richieste per LibreNMS con il seguente comando:
0 |
apt-get install rrdtool whois fping imagemagick graphviz mtr-tiny nmap python3-mysqldb snmp snmpd python3-pip python3-memcache mtr-tiny acl unzip git curl wget -y |
Una volta installate tutte le dipendenze procedere con l’installazione di Nginx, del PHP e del database server MariaDB
INSTALLAZIONE DI NGINX, PHP E MARIADB
In questa sezione procederemo con l’installazione del server web Nginx, il server MariaDB, PHP e altre estensioni PHP sul server. Per installare tutto insieme eseguire il comando:
0 |
apt-get install nginx mariadb-server php php-pear php-cgi php-common php-curl php-mbstring php-gd php-mysql php-bcmath php-imap php-json php-xml php-snmp php-fpm php-zip -y |
Dopo aver installato tutti i pacchetti, impostare fuso orario nei file php.ini con i seguenti comandi:
0 1 |
nano /etc/php/8.1/fpm/php.ini nano /etc/php/8.1/cli/php.ini |
Definire il fuso orario del sistema come mostrato di seguito:
0 |
date.timezone = Europe/Rome |
Nell’immagine sovrastante è mostrata la configurazione del file /etc/php/8.1/fpm/php.ini
Nell’immagine sovrastante è mostrata la configurazione del file /etc/php/8.1/cli/php.ini
Se è tutto OK salvare e chiudere entrambe i file di configurazione.
Procedere quindi col riavvio del servizio PHP-FPM per applicare le modifiche con il comando:
0 |
systemctl restart php8.1-fpm |
Adesso procedere con lo steps successivo e quindi con la creazione del database.
CREAZIONE DEL DATABASE DI LIBRENMS
Accedere alla shell MariaDB con il seguente comando:
0 |
mysql |
Una volta effettuato l’accesso, creare un database e un utente con il seguente comando:
0 1 |
create database librenmsdb CHARACTER SET utf8 COLLATE utf8_unicode_ci; grant all privileges on librenmsdb.* to librenms@localhost IDENTIFIED by "PASSWORD"; |
ATTENZIONE: inserire al posto di PASSWORD la password che si desidera dare all’utente librenms
Quindi, svuotare i privilegi ed uscire dalla shell di MariaDB con i seguenti comandi:
0 1 |
flush privileges; exit; |
Modificare il file di configurazione di MariaDB con il seguente comando:
0 |
nano /etc/mysql/mariadb.conf.d/50-server.cnf |
Aggiungere le seguenti righe all’interno della sezione [mysqld]:
0 1 2 |
innodb_file_per_table=1 sql-mode="" lower_case_table_names=0 |
Se è tutto corretto dovremmo vedere una schermata come quella sovrastante
Salvare e chiudere il file di configurazione quindi riavviare il servizio MariaDB per applicare le modifiche con il seguente comando:
0 |
systemctl restart mariadb |
A questo punto il database MariaDB è configurato.
INSTALLAZIONE E CONFIGURAZIONE DI LIBRENMS
Creare un utente dedicato per LibreNMS con il seguente comando:
0 |
useradd -r -M -d /opt/librenms librenms |
Aggiungere l’utente librenms al gruppo www-data con il seguente comando:
0 |
usermod -a -G librenms www-data |
Posizionarsi nella cartella /opt e scaricare l’ultima versione di LibreNMS con i seguenti comando:
0 1 |
cd /opt git clone https://github.com/librenms/librenms.git librenms |
Creare un file di registro per LibreNMS con il seguente comando:
0 |
touch /opt/librenms/logs/librenms.log |
Copiare il file di configurazione di esempio SNMP con il comando seguente:
0 |
cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf |
Quindi, modificare il file snmpd.conf con il comando:
0 |
nano /etc/snmp/snmpd.conf |
Individuare la seguente riga:
com2sec readonly default RANDOMSTRINGGOESHERE
e sostituirla con questa
com2sec readonly default SNMP-DEL-SERVER
NOTA BENE: al posto di SNMP-DEL-SERVER inserire la community SNMP da utilizzare
Salvare e chiudere il file, quindi scaricare il binario della distribuzione SNMP e copialo nella posizione desiderata:
0 1 2 |
curl -o distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro chmod +x distro mv distro /usr/bin/distro |
Quindi, riavvia il servizio SNMP per applicare le modifiche:
0 |
systemctl restart snmpd |
Successivamente, dovrai anche copiare il file cron e logrotate di LibreNMS nella posizione desiderata. Puoi copiarli con il seguente comando:
0 1 |
cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms |
Quindi, modificare la directory in librenms e installare le dipendenze richieste utilizzando il seguente comando:
0 1 |
cd /opt/librenms ./scripts/composer_wrapper.php install --no-dev |
Una volta installate tutte le dipendenze, modificare la proprietà della directory librenms e concedere le autorizzazioni necessarie con il seguente comando:
0 1 2 3 |
chown -R www-data:librenms /opt/librenms chmod -R 775 /opt/librenms setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/ setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/ |
Una volta terminato procedere con la creazione dell’host in Nginx
CREAZIONE DI UN HOST VIRTUALE IN NGINX
Creare un file di configurazione dell’host virtuale Nginx per LibreNMS con il seguente comando:
0 |
nano /etc/nginx/conf.d/librenms.conf |
Aggiungere all’interno del file le seguenti righe:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
server { listen 80; server_name librenms.prova.com; 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 /api/v0 { try_files $uri $uri/ /api_v0.php?$query_string; } location ~ \.php { include fastcgi.conf; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; } location ~ /\.ht { deny all; } } |
ATTENZIONE: modificare solo il paramentro server_name librenms.prova.com con il nome da dare al server
Salvare e chiudere il file, quindi controllare che la configurazione di Nginx sia OK con il seguente comando:
0 |
nginx -t |
Se è tutto OK dovremmo una schermata come quella sovrastante e quindi
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Riavviare il servizio Nginx per applicare le modifiche con il comando:
0 |
systemctl restart nginx |
È inoltre possibile verificare lo stato del servizio Nginx utilizzando il comando seguente:
0 |
systemctl status nginx |
Se è tutto OK dovremmo vedere una shermata come quella sovrastante con il servizio Nginx in Running
Adesso è possibile accedere all’interfaccia web e continuare la configurazione
CONFIGURAZIONE DI LIBRENMS DA INTERFACCIA WEB
Aprire un browser web e digitare l’URL (definita in precedenza nel file di configurazione) http://librenms.prova.com per accedere a LibreNMS. Verrai reindirizzato alla pagina di controllo pre-installazione:
Accertarsi che tutti i check siano OK quindi cliccare su Configure Database come indicato nell’immagine sovrastante
Inserire il nome utente del database, il nome del database e la password e fai cliccare su Check Credentials
ATTENZIONE: tutte le informazioni sovrastanti sono state create nel paragrafo CREAZIONE DEL DATABASE DI LIBRENMS
Se è andato tutto a buon fine dovremmo vedere una schermata come mostrato nell’immagine sovrastante
Cliccare su Build Database
Attendere qualche secondo fino al termine della popolazione del database
ATTENZIONE: in questa fase non chiudere la pagina web altrimenti verrà interrotto l’import del database
Se è tutto OK dovremmo vedere una schermata come quella sovrastante
Quindi cliccare sull’icona della chiave per la creazione dell’utente web admin
Inserire User, Password e indirizzo mail quindi cliccare su Add User
Se è andato tutto a buon fine dovremmo vedere una schermata come quella sovrastante
Cliccare su Finish Installation
Per concludere l’installazione cliccare su validate you install
Se andato tutto bene dovremmo aver fatto il redirect sulla pagina di login.
Inserire le credenziali definite poco fa quindi cliccare Login
A questo punto l’installazione di LibreNMS è terminata ed è possibile aggiungere i devices da monitorare
Sono Raffaele Chiatto, un appassionato di informatica a 360 gradi.
Tutto è iniziato nel 1996, quando ho scoperto il mondo dell'informatica grazie a Windows 95, e da quel momento non ho più smesso di esplorare e imparare.
Ogni giorno mi dedico con curiosità e passione a scoprire le nuove frontiere di questo settore in continua evoluzione.
0 Comments