Ricerca nel sito web

Come installare LibreNMS con Nginx su Ubuntu 22.04


Questo tutorial esiste per queste versioni del sistema operativo

  • Ubuntu 16.04 (Xenial Xerus)

Su questa pagina

  1. Prerequisiti
  2. Per iniziare
  3. Installa Nginx, PHP e il server MariaDB
  4. Crea un database LibreNMS
  5. Installa e configura LibreNMS
  6. Crea host virtuale Nginx per LibreNMS
  7. Accedi all'interfaccia web di LibreNMS
  8. Conclusione

LibreNMS è uno strumento di monitoraggio della rete gratuito, open source e potente per sistemi operativi basati su Linux. Ti consente di monitorare tutti i principali sistemi operativi e dispositivi di rete tra cui Cisco, Juniper, Foundry, FreeBSD, Brocade e molti altri tramite un browser web. LibreNMS utilizza diversi protocolli di rete come SNMP, ARP, CDP, FDP, LLDP, OSPF e BGP per rilevare automaticamente tutti i sistemi operativi e i dispositivi di rete. Offre una vasta gamma di funzionalità tra cui rilevamento automatico, accesso API, avvisi personalizzabili, aggiornamenti automatici e molto altro.

In questo tutorial, ti mostreremo istruzioni dettagliate su come installare LibreNMS su Ubuntu 22.04.

Prerequisiti

  • Un server che esegue Ubuntu 22.04.
  • Una password di root è configurata sul tuo server.

Iniziare

Innanzitutto, si consiglia di aggiornare i pacchetti di sistema all'ultima versione. Puoi farlo con il seguente comando:

apt-get update -y

Dopo aver aggiornato tutti i pacchetti, installa tutte le dipendenze richieste per LibreNMS con il seguente comando:

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, puoi procedere al passaggio successivo.

Installa Nginx, PHP e il server MariaDB

Successivamente, dovrai installare il server Nginx, il server MariaDB, PHP e altre estensioni PHP nel tuo server. Useremo il gestore di processi php fastcgi (PHP-FPM). Puoi installarli tutti eseguendo il seguente comando:

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, dovrai impostare il fuso orario nel tuo file php.ini.

nano /etc/php/8.1/fpm/php.ini
nano /etc/php/8.1/cli/php.ini

Definisci il fuso orario del tuo sistema come mostrato di seguito:

date.timezone = UTC

Salva e chiudi il file conf quando hai finito. Quindi, riavvia il servizio PHP-FPM per applicare le modifiche:

systemctl restart php8.1-fpm

Una volta terminato, puoi procedere al passaggio successivo.

Crea un database LibreNMS

Successivamente, dovrai creare un database e un utente per LibreNMS.

Innanzitutto, accedi alla shell MariaDB con il seguente comando:

mysql

Una volta effettuato l'accesso, creare un database e un utente con il seguente comando:

MariaDB [(none)]> create database librenmsdb CHARACTER SET utf8 COLLATE utf8_unicode_ci;
MariaDB [(none)]> grant all privileges on librenmsdb.* to IDENTIFIED by "password";

Successivamente, svuota i privilegi ed esci dalla shell MariaDB con il seguente comando:

MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;

Successivamente, modifica il file di configurazione di MariaDB e modifica alcune impostazioni consigliate:

nano /etc/mysql/mariadb.conf.d/50-server.cnf

Aggiungi le seguenti righe all'interno della sezione [mysqld]:

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

Salva e chiudi il file, quindi riavvia il servizio MariaDB per applicare le modifiche:

systemctl restart mariadb

A questo punto, il tuo MariaDB è configurato. Ora puoi procedere al passaggio successivo.

Installa e configura LibreNMS

Innanzitutto, dovrai creare un utente dedicato per LibreNMS. Puoi aggiungerlo con il seguente comando:

useradd -r -M -d /opt/librenms librenms

Successivamente, aggiungi l'utente librenms al gruppo www-data con il seguente comando:

usermod -a -G librenms www-data

Quindi, cambia la directory in /opt e scarica l'ultima versione di LibreNMS con il seguente comando:

cd /opt
git clone https://github.com/librenms/librenms.git librenms

Quindi, crea un file di registro per LibreNMS con il seguente comando:

touch /opt/librenms/logs/librenms.log

Successivamente, copia il file di configurazione di esempio SNMP con il seguente comando:

cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf

Successivamente, modifica il file snmpd.conf:

nano /etc/snmp/snmpd.conf

Trova la seguente riga:

com2sec readonly  default RANDOMSTRINGGOESHERE

E, sostituito con la seguente riga:

com2sec readonly  default mysnmpserverkey        

Salva e chiudi il file, quindi scarica il binario della distribuzione SNMP e copialo nella posizione desiderata:

curl -o distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
chmod +x distro
mv distro /usr/bin/distro

Successivamente, riavvia il servizio SNMP per applicare le modifiche:

systemctl restart snmpd

Successivamente, dovrai anche copiare LibreNMS cron e logrotate file nella posizione desiderata. Puoi copiarli con il seguente comando:

cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms
cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms

Successivamente, modifica la directory in librenms e installa le dipendenze richieste utilizzando il seguente comando:

cd /opt/librenms
./scripts/composer_wrapper.php install --no-dev

Una volta installate tutte le dipendenze, cambia la proprietà della directory librenms e dai i permessi necessari con il seguente comando:

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, puoi procedere al passaggio successivo.

Crea host virtuale Nginx per LibreNMS

Successivamente, dovrai creare un file di configurazione dell'host virtuale Nginx per LibreNMS. Puoi crearlo con il seguente comando:

nano /etc/nginx/conf.d/librenms.conf

Aggiungi le seguenti righe:

server {
 listen      80;
 server_name librenms.example.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;
 }
}

Salva e chiudi il file, quindi controlla Nginx per eventuali errori di sintassi (errore nginx) con il seguente comando:

nginx -t

Dovresti vedere il seguente output:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

vogliamo anche riavviare PHP una volta per assicurarci di non ricevere un \librems 502 bad gateway\, il che potrebbe significare che php8.1-fpm non è avviato.

systemctl php8.1-fpm restart

Per essere sicuri, eseguiremo un comando per arrestare Apache2, nel caso in cui fosse installato sul tuo sistema. Quindi, se il comando successivo fallisce, allora # va benissimo in quanto significa solo che hai solo Nginx in esecuzione come previsto.

systemctl stop apache2

Ora riavviamo il servizio Nginx per applicare le modifiche:

systemctl restart nginx

Puoi anche verificare lo stato del servizio Nginx usando il seguente comando:

systemctl status nginx

Dovresti ottenere il seguente output:

? nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2022-07-02 08:35:53 UTC; 8s ago
       Docs: man:nginx(8)
    Process: 49538 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 49539 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 49543 (nginx)
      Tasks: 3 (limit: 4579)
     Memory: 3.3M
        CPU: 43ms
     CGroup: /system.slice/nginx.service
             ??49543 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
             ??49544 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
             ??49545 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""

Jul 02 08:35:53 ubuntu2204 systemd[1]: Starting A high performance web server and a reverse proxy server...
Jul 02 08:35:53 ubuntu2204 systemd[1]: Started A high performance web server and a reverse proxy server.

Una volta terminato, puoi procedere al passaggio successivo.

Accedi all'interfaccia Web di LibreNMS

Ora apri il tuo browser web e digita l'URL http://librenms.example.com per accedere a LibreNMS. Verrai reindirizzato alla pagina di controllo pre-installazione:

Assicurati che tutte le estensioni richieste siano installate, quindi fai clic su Impostazioni database. Dovresti vedere la seguente pagina:

Fornire il nome utente del database, il nome del database, la password e fare clic sul pulsante Verifica credenziali. Una volta che ha avuto successo, dovresti vedere la seguente pagina:

Ora, fai clic sul pulsante Crea database. Dovresti vedere la seguente pagina:

Successivamente, fai clic sul pulsante Creazione utente amministratore. Dovresti vedere la seguente pagina:

Fornisci il nome utente, l'e-mail, la password dell'amministratore e fai clic sul pulsante Aggiungi utente. Dovresti vedere la seguente pagina:

Successivamente, fai clic sul pulsante Termina installazione. Dovresti vedere la seguente pagina:

Successivamente, fai clic su \convalida la tua installazione\. Dovresti vedere la pagina di accesso di LibreNMS:

Fornisci il nome utente e la password dell'amministratore di LibreNMS e fai clic sul pulsante Accedi. Dovresti vedere la dashboard di LibreNMS:

Conclusione

Congratulazioni! hai installato e configurato correttamente LibreNMS sul server Ubuntu 22.04. Ora puoi aggiungere un server remoto o un dispositivo di rete dalla dashboard di LibreNMS e avviare il monitoraggio tramite il browser web. Non esitate a chiedermi se avete domande.