LibreNMS è uno strumento open source di monitoraggio della rete con rilevamento automatico per server e hardware di rete. Supporta un'ampia gamma di hardware di rete come Cisco, Juniper, Brocade, Foundry, HP e sistemi operativi inclusi Linux e Windows. LibraNMS è un fork basato sulla community dello strumento di monitoraggio della rete "Observium", rilasciato sotto GPLv3.
Qui a LinuxAPT, come parte dei nostri servizi di gestione del server, aiutiamo regolarmente i nostri clienti a eseguire le relative query di installazione del software di sistema Linux.
In questo contesto, esamineremo come installare LibreNMS su Ubuntu 20.04 LTS.
Passaggi per installare LibreNMS su Ubuntu 20.04 LTS Focal Fossa
1. Esegui l'aggiornamento del sistema
Innanzitutto, assicurati che tutti i pacchetti di sistema siano aggiornati eseguendo i seguenti comandi apt nel terminale:
$ sudo apt update
$ sudo apt upgrade
2. Installa Nginx sul sistema
Nginx è un server web ad alte prestazioni e molto popolare in questi giorni. Può anche essere utilizzato come proxy inverso e server di memorizzazione nella cache. Esegui il seguente comando dal Terminale per installare il server web Nginx:
$ sudo apt install nginx
Una volta installato, controlla se il servizio Nginx è in esecuzione:
$ sudo systemctl start nginx
$ sudo systemctl status nginx
Ora, se hai il firewall UFW in esecuzione, dovrai consentire le connessioni a Nginx:
$ sudo ufw allow OpenSSH
$ sudo ufw allow 'Nginx Full'
Quindi, controlla lo stato del firewall:
$ sudo ufw status
L'output che otterrai è riportato di seguito:
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Nginx Full ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx Full (v6) ALLOW Anywhere (v6)
3. Installa MariaDB sul sistema
MariaDB è un sostituto drop-in di MySQL. È sviluppato da ex membri del team MySQL preoccupati che Oracle possa trasformare MySQL in un prodotto closed-source.
Esegui il seguente comando per installare MariaDB:
$ sudo apt install mariadb-server mariadb-client
Una volta completato, puoi verificare che MariaDB sia installato eseguendo il comando seguente:
$ sudo systemctl status mariadb
Per impostazione predefinita, MariaDB non è protetto. Puoi proteggere MariaDB usando lo script mysql_secure_installation. dovresti leggere attentamente e sotto ogni passaggio che imposterà una password di root, rimuoverà gli utenti anonimi, non consentirà l'accesso root remoto e rimuoverà il database di test e l'accesso per proteggere MariaDB:
$ mysql_secure_installation
Quindi, configuralo in questo modo:
- Set root password? [Y/n] y
- Remove anonymous users? [Y/n] y
- Disallow root login remotely? [Y/n] y
- Remove test database and access to it? [Y/n] y
- Reload privilege tables now? [Y/n] y
Per accedere a MariaDB, usa il seguente comando (nota che è lo stesso comando che useresti per accedere a un database MariaDB):
$ mysql -u root -p
4. Installa PHP sul sistema
A differenza di Apache, Nginx non contiene l'elaborazione PHP nativa. Per questo, dobbiamo installare PHP-FPM (FastCGI Process Manager).
Esegui il comando seguente per installare PHP7.4 e alcune estensioni comuni:
$ sudo apt install php7.4 php7.4-fpm php7.4-mysql php-common php7.4-cli php7.4-common php7.4-json php7.4-opcache php7.4-readline php7.4-mbstring php7.4-xml php7.4-gd php7.4-curl
Una volta installato, controlla la versione di PHP:
$ php --version
5. Installa LibreNMS sul sistema
Puoi installare i pacchetti richiesti per LibreNMS:
$ sudo install apt install curl composer fping git graphviz imagemagick rrdtool snmp snmpd whois unzip python python3-pip
Ora prenderemo il sorgente di LibreNMS dal repository GitHub:
$ cd /opt
$ git clone https://github.com/librenms/librenms.git
Quindi, crea un utente che gestirà LibreNMS e aggiungerà Nginx al gruppo LibreNMS:
$ useradd librenms -d /opt/librenms -M -r
$ usermod -a -G librenms www-data
Avremo bisogno di modificare alcune autorizzazioni delle cartelle:
$ chown -R librenms:librenms /opt/librenms
$ chmod 770 /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/
Successivamente, ci viene fornito uno script PHP che installerà le dipendenze del compositore. Per eseguirlo useremo il seguente comando. Per eseguire questo script dobbiamo passare all'utente LibreNMS:
$ su - librenms
$ cd /opt/librenms
$./scripts/composer_wrapper.php install --no-dev
$ exit
6. Configura MariaDB per LibreNMS
Qui, dovremo accedere alla console MariaDB e creare un database per LibreNMS. Esegui il comando seguente:
$ mysql -u root -p
Questo ti chiederà una password, quindi inserisci la tua password di root MariaDB e premi Invio. Una volta effettuato l'accesso al server del database, è necessario creare un database per l'installazione di LibreNMS:
MariaDB [(none)]> CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_unicode_ci;
MariaDB [(none)]> CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'YOUR-PASSWD';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit
Al termine, apri il file di configurazione di MariaDB e aggiungi le seguenti righe nella sezione [mysqld]:
$ nano /etc/mysql/mariadb.conf.d/50-server.cnf
Nella sezione [mysqld] aggiungi:
innodb_file_per_table=1
lower_case_table_names=0
Quindi, riavvia MariaDB per rendere effettive le modifiche:
$ sudo systemctl restart mariadb
7. Configura Nginx per LibreNMS
Crea la definizione di VirtualHost per Nginx che verrà utilizzata da LibreNMS:
$ nano /etc/nginx/conf.d/librenms.conf
Aggiungi quanto segue al file di configurazione:
server {
listen 80;
server_name librenms.linuxapt.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/php7.4-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
Ora possiamo riavviare il server web Nginx in modo che le modifiche avvengano:
$ sudo systemctl restart nginx
8. Configura Firewall
Consenti Nginx attraverso il firewall in modo che l'utente possa accedere al portale LibreNMS da una macchina esterna:
$ ufw allow 80/tcp
$ ufw allow 443/tcp
$ ufw reload
Come accedere all'interfaccia Web di LibreNMS?
LibreNMS sarà disponibile sulla porta HTTP 80 per impostazione predefinita.
Apri il tuo browser preferito e vai su http://tuo-dominio.com/ o http://indirizzo-ip-server/ e completa i passaggi richiesti per completare l'installazione.
Inoltre puoi eseguire le seguenti azioni:
- Fai clic su Database.
- Fornire il nome del database, il nome utente e la password.
- Fai clic su Verifica credenziali.
- Fai clic su Crea database.
- Una volta completata la creazione.
- Fai clic su Aggiungi utente.
- Fornire un nome utente, una password e un indirizzo e-mail.
- Fai clic su Aggiungi utente.
- Una volta che l'utente è stato aggiunto con successo.
- Fai clic sul seguente checksum.
- Fai clic su Convalida l'opzione di installazione.
- Fornire il nome utente e la password.
- Fai clic su Accedi.