Ricerca nel sito web

Come installare LibreNMS su Debian 11


Su questa pagina

  1. Prerequisiti
  2. Installazione delle dipendenze dei pacchetti
  3. Imposta librenms nuovo utente
  4. Imposta il sistema del fuso orario e PHP
  5. Imposta MariaDB e crea database
  6. Crea un nuovo pool PHP-FPM
  7. Scarica LibreNMS
  8. Installazione delle dipendenze PHP di LibreNMS
  9. Configurazione di Nginx per LibreNMS
  10. Avvia l'installazione di LibreNMS
    1. - Correggi il fuso orario del database
    2. - Correggi gli errori di sistema

    LibreNMS è un sistema di monitoraggio della rete open source basato su PHP e con supporto per il rilevamento automatico. È un fork della community del software di monitoraggio Observium rilasciato sotto licenza GPLv3. L'utilizzo di LibreNMS consente di monitorare sistemi operativi come Linux, Windows e BSD, inoltre supporta un'ampia gamma di hardware di rete di più fornitori come Aruba, Cisco, Dell, D-Link, HP, Mikrotik, ecc.

    In quanto sistema di monitoraggio completo, LibreNMS offre una vasta gamma di funzionalità con molteplici integrazioni e più protocolli di raccolta dati.

    Di seguito sono riportate alcune caratteristiche degne di nota di LibreNMS:

    • Rilevamento automatico dell'intera rete con più protocolli come CDP, BGP, SNMP, OSPF e ARP.
    • Molteplici metodi di avviso tramite e-mail, Slack, IRC, Rocket.chat, Telegram, ecc.
    • API estesa per la gestione, la rappresentazione grafica e il recupero dei dati dal tuo sistema di monitoraggio.
    • Supporta il sistema di fatturazione per la generazione di fatture per la larghezza di banda in base all'utilizzo o al trasferimento della rete.
    • Supporta più metodi di autenticazione come MySQL, Radius, LDAP, HTTP e Active Directory.
    • Supporta l'autenticazione a due fattori
    • Integrazioni multiple con applicazioni di terze parti come Graylog, NfSen, Nagios Plugins, Oxidized, RANCID.
    • Ampio supporto dei fornitori di hardware, controlla qui i tuoi fornitori.
    • Dashboard facile da usare e personalizzabile.
    • Mantieni il tuo software LibreNMS con il supporto per l'aggiornamento automatico.
    • Applicazione nativa per Android e iOS che fornisce funzionalità di base.

    In questa guida imparerai come installare e configurare lo strumento di monitoraggio LibreNMS su Debian 11 Bullseye.

    Prerequisiti

    Per completare questa guida, assicurati di avere i seguenti requisiti:

    • Sistema operativo: Debian 11 Bullseye
    • Privilegi di root

    Ora iniziamo l'installazione.

    Installazione delle dipendenze dei pacchetti

    In questo primo passaggio, installerai i pacchetti di base ed essenziali per LireNMS. Installerai lo stack LEMP, i pacchetti Python, snmpd e utilità di sistema aggiuntive come curl, fping, git e imagemagick.

    1. Aggiornare e aggiornare i repository Debian utilizzando il seguente comando.

    sudo apt update

    2. Ora esegui il seguente comando per installare le dipendenze dei pacchetti.

    sudo apt install acl curl composer fping git graphviz imagemagick mariadb-client mariadb-server mtr-tiny nginx-full nmap php7.4-cli php7.4-curl php7.4-fpm php7.4-gd php7.4-gmp php7.4-json php7.4-mbstring php7.4-mysql php7.4-snmp php7.4-xml php7.4-zip python3-dotenv python3-pymysql python3-redis python3-setuptools python3-pip python3-systemd rrdtool snmp snmpd whois

    Digitare y per confermare l'installazione e premere Invio per continuare.

    3. Al termine dell'installazione delle dipendenze dei pacchetti, eseguire i seguenti comandi per avviare e abilitare servizi come Nginx, MariaDB, PHP-FPM e snmpd.

    sudo systemctl enable --now nginx
    sudo systemctl enable --now mariadb
    sudo systemctl enable --now php7.4-fpm
    sudo systemctl enable --now snmpd.service

    Ora hai completato l'installazione delle dipendenze dei pacchetti per LibreNMS.

    Imposta librenms nuovo utente

    In questo passaggio, creerai un nuovo utente di sistema librenms. Il tuo strumento di monitoraggio LibreNMS verrà eseguito sotto l'utente librenms.

    1. Eseguire il seguente comando per creare un nuovo utente librenms.

    useradd librenms -d /opt/librenms -M -r -s "$(which bash)"

    Opzioni che devi conoscere:

    • -d /opt/librenms: imposta la home directory predefinita per l'utente librenms su /opt/librenms.
    • -M: Non crea una home directory per gli utenti librenms.
    • -r: Rendi questo utente librenms come utente di sistema.
    • -s \$ (which bash)\: imposta la shell predefinita per i librenm utente. La shell sarà l'output del comando which bash.

    2. Successivamente, creare una nuova password per l'utente librenms utilizzando il seguente comando.

    passwd librenms

    Digita una nuova password sicura e ripeti.

    Passa alla fase successiva per configurare il tuo sistema per l'installazione di LibreNMS.

    Imposta il sistema del fuso orario e PHP

    Il tempo è una parte essenziale del monitoraggio. In questo passaggio, imposterai il fuso orario predefinito per il tuo PHP e il fuso orario del sistema, assicurati che entrambi i fusi orari (PHP e sistema) siano sincronizzati e utilizzino lo stesso fuso orario.

    1. Modificare la configurazione php.ini per PHP-FPM e CLI utilizzando il seguente comando.

    sudo nano /etc/php/7.4/fpm/php.ini
    sudo nano /etc/php/7.4/cli/php.ini

    Decommenta l'opzione date.timezone e inserisci il fuso orario dopo di essa. Per questo esempio, stiamo utilizzando il fuso orario Europe/Paris.

    date.timezone = Europe/Paris

    Salva entrambe le configurazioni ed esci.

    2. Ora riavvia PHP-FPM per applicare una nuova configurazione usando il seguente comando.

    sudo systemctl restart php7.4-fpm

    3. Successivamente, esegui il comando timedatectl di seguito per impostare il fuso orario predefinito del sistema su Europa/Parigi.

    sudo timedatectl set-timezone Europe/Paris

    Hai completato la configurazione del fuso orario per il tuo PHP e il tuo sistema.

    Configura MariaDB e crea database

    In questo passaggio, aggiungerai la configurazione per MariaDB come requisiti di LibreNMS, quindi creerai un nuovo database e utente MariaDB per l'installazione di LibreNMS.

    1. Modificare la configurazione del server MariaDB /etc/mysql/mariadb.conf.d/50-server.cnf utilizzando l'editor nano.

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

    Aggiungi la seguente configurazione nella sezione [mysqld].

    [mysqld]
    .....
    ....
    innodb_file_per_table=1
    lower_case_table_names=0

    Salva la configurazione ed esci.

    2. Per applicare la nuova configurazione MariaDB, riavviare il servizio utilizzando il comando systemctl di seguito.

    sudo systemctl restart mariadb

    Ora hai aggiunto una configurazione aggiuntiva al server MariaDB.

    3. Successivamente, accedi alla shell MariaDB/MySQL utilizzando il comando mysql come utente root come di seguito.

    mysql -u root -p

    Digita la tua password o premi Invio per accedere.

    4. Ora esegui le seguenti query MariaDB per creare un nuovo database e un nuovo utente librems. E assicurati di cambiare la password LibreNMSPassword con la tua password sicura.

    CREATE DATABASE librenms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'LibreNMSPassword';
    GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
    FLUSH PRIVILEGES;

    Digita exit e premi Invio per uscire dalla shell MariaDB.

    Ora hai creato il database e l'utente per l'installazione di LibreNMS.

    Crea un nuovo pool PHP-FPM

    FastCGI Process Manager (FPM) o PHP-FPM ti consente di personalizzare il pool per le tue applicazioni PHP. Per impostazione predefinita, PHP-FPM esegue il pool www con la configurazione /etc/php/7.4/fpm/pool.d/www.conf.

    Al suo passaggio, creerai un nuovo pool PHP-FPM personalizzato per LibreNMS. Creerai un nuovo pool PHP-FPM librems con la configurazione /etc/php/7.4/fpm/pool.d/librenms.conf e funzionerai sotto l'utente librems.

    1. Innanzitutto, copia la configurazione predefinita del pool www.conf in librems.conf utilizzando il seguente comando.

    cp /etc/php/7.4/fpm/pool.d/www.conf /etc/php/7.4/fpm/pool.d/librenms.conf

    2. Modificare la configurazione personalizzata del pool librenms.conf utilizzando l'editor nano.

    sudo nano /etc/php/7.4/fpm/pool.d/librenms.conf

    In cima alla riga, cambia l'utente predefinito da [www] a [librenms].

    [librenms]

    Cambia l'utente e il gruppo predefiniti in librems.

    user = librenms
    group = librenms

    Cambia il file sock PHP-FPM predefinito in /run/php-fpm-librenms.sock.

    listen = /run/php-fpm-librenms.sock

    Salva la configurazione ed esci.

    3. Successivamente, riavviare il servizio PHP-FPM per applicare una nuova configurazione.

    sudo systemctl restart php7.4-fpm

    Ora PHP-FPM genererà nuovi pool librenms con il file sock /run/php/php-fpm-librenms.sock.

    4. Verifica il file sock librems utilizzando il seguente comando.

    ss -anl | grep librenms

    Vedrai un output simile a quello di seguito.

    u_str LISTEN 0      511                /run/php/php-fpm-librenms.sock 69199                  * 0     users:(("php-fpm7.4",pid=26105,fd=10),("php-fpm7.4",pid=26104,fd=10),("php-fpm7.4",pid=26103,fd=7))

    Ora sei pronto per scaricare e installare lo strumento di monitoraggio LibreNMS.

    Scarica LibreNMS

    In questo passaggio, scaricherai il codice sorgente di LibreNMS e imposterai i permessi e il controllo degli accessi per esso.

    1. Cambia la tua directory di lavoro in /opt e scarica il codice sorgente di LibreNMS usando il comando git come sotto.

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

    L'installazione di LibreNMS è la directory /opt/librems.

    2. Modificare la proprietà e l'autorizzazione dell'installazione di LibreNMS utilizzando il seguente comando.

    chown -R librenms:librenms /opt/librenms
    chmod 771 /opt/librenms

    3. Successivamente, configurare gli elenchi di controllo degli accessi (ACL) per la directory di installazione di LibreNMS. Consente al gruppo di leggere scrivere eseguire su ciascuna directory sottostante utilizzando il seguente comando setfacl.

    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/

    Continua con il passaggio successivo per l'installazione delle dipendenze PHP per LibreNMS.

    Installazione delle dipendenze PHP di LibreNMS

    Per installare le dipendenze PHP di LibreNMS, devi accedere come utente librenms e utilizzare composer_wrapper, che è incluso nel codice sorgente di LibreNMS.

    1. accedere come utente librenms utilizzando il seguente comando.

    su - librenms

    2. Esegui lo script PHP composer_wrapper.php per installare le dipendenze dei pacchetti PHP per LibreNMS.

    ./scripts/composer_wrapper.php install --no-dev

    3. Al termine di tutti i processi di download, digitare exit e premere Invio per disconnettersi dall'utente librems.

    Ora hai completato l'installazione delle dipendenze PHP per LibreNMS.

    Configurazione di Nginx per LibreNMS

    In questo passaggio, creerai un nuovo blocco server Nginx per lo strumento di monitoraggio LibreNMS. Questo esempio utilizzerà il nome di dominio librenms.example.io.

    1. Crea una nuova configurazione dei blocchi del server Nginx librems utilizzando l'editor nano.

    sudo nano /etc/nginx/sites-available/librenms

    Copia e incolla la seguente configurazione. E assicurati di cambiare il nome del dominio con il tuo dominio.

    server {
     listen      80;
     server_name librenms.example.io;
     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 ~ [^/]\.php(/|$) {
      fastcgi_pass unix:/run/php-fpm-librenms.sock;
      fastcgi_split_path_info ^(.+\.php)(/.+)$;
      include fastcgi.conf;
     }
     location ~ /\.(?!well-known).* {
      deny all;
     }
    }

    Per l'installazione sicura di LibreNMS HTTPS, utilizzare la seguente configurazione. E assicurati di modificare il nome di dominio e il percorso dei certificati SSL.

    server {
        listen      80;
        server_name librenms.example.io;
        rewrite     ^   https://$server_name$request_uri? permanent;
    }

    server {

     server_name librenms.example.io;
     root        /opt/librenms/html;
     index       index.php;

       listen 443 ssl http2;
        server_name example.io;
        ssl_certificate           /etc/letsencrypt/live/librenms.example.io/fullchain.pem;
        ssl_certificate_key       /etc/letsencrypt/live/librenms.example.io/privkey.pem;

        ssl_session_cache  builtin:1000  shared:SSL:10m;
        ssl_protocols TLSv1.2;
        ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
        ssl_prefer_server_ciphers on;

     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 ~ [^/]\.php(/|$) {
      fastcgi_pass unix:/run/php/php-fpm-librenms.sock;
      fastcgi_split_path_info ^(.+\.php)(/.+)$;
      include fastcgi.conf;
     }
     location ~ /\.(?!well-known).* {
      deny all;
     }
    }

    Ora salva la configurazione ed esci.

    2. Successivamente, attiva il nuovo host virtuale librems e verifica la configurazione di nginx utilizzando il seguente comando.

    sudo ln -s /etc/nginx/sites-available/librenms /etc/nginx/sites-enabled/
    sudo nginx -t

    Se la tua configurazione è corretta, vedrai un messaggio di output come test riuscito.

    3. Infine, riavvia il servizio nginx per applicare una nuova configurazione.

    sudo systemctl restart nginx

    Ora hai completato la configurazione del blocco del server Nginx per LibreNMS. Sei pronto per iniziare l'installazione di LibreNMS.

    Avvia l'installazione di LibreNMS

    Per avviare l'installazione di LibreNMS, apri il browser Web e digita il nome del dominio di LibreNMS nella barra degli indirizzi.

    1. Vedrai i controlli pre-installazione di LibreNMS. Assicurati che tutti i contrassegni di stato siano verdi, quindi fai clic sul database delle icone per continuare.

    2. Digitare il database, l'utente e la password. Quindi fare clic sul pulsante Verifica credenziali.

    Questo eseguirà il controllo del database e dell'utente MariaDB. In caso di successo, vedrai il segno verde sulle credenziali del database.

    3. Ora fai clic sul pulsante Crea database per importare lo schema del database per il tuo LibreNMS.

    Al termine della configurazione del database, assicurarsi che entrambe le sezioni Credenziali del database e Crea database siano contrassegnate in verde.

    4. Ora fai clic sull'icona della chiave per continuare.

    Digita nuovo utente, password e indirizzo e-mail per creare l'utente amministratore di LibreNMS.

    Fare clic sul pulsante Aggiungi utente.

    Se il tuo utente admin è stato creato, vedrai il tuo utente admin nella pagina come di seguito.

    5. Fare clic sull'icona del segno per completare l'installazione. Di seguito è riportato l'output che otterrai.

    Per completare l'installazione di LibreNMS, apri la pagina di convalida di LibreNMS come di seguito.

    6. Verrai reindirizzato alla pagina di accesso di LibreNMS.

    Digita l'utente amministratore e la password, quindi fai clic sul pulsante Accedi

    7. Nelle pagine di convalida di LibreNMS, vedrai alcuni errori come di seguito.

    Potresti avere diversi errori, ma la pagina di convalida di LibreNMS fornisce soluzioni per il tuo errore.

    8. Di seguito sono riportati alcuni errori nella nostra installazione e come risolverli.

    - Fix fuso orario del database

    Accedi alla shell MariaDB utilizzando il tuo utente root.

    mysql -u root -p

    Cambia il database corrente in librenms.

    use librenms;

    Ora esegui le seguenti query per correggere l'errore del fuso orario del database.

    SET TIME_ZONE='+00:00';
    ALTER TABLE `notifications` CHANGE `datetime` `datetime` timestamp NOT NULL DEFAULT '1970-01-02 00:00:00' ;
    ALTER TABLE `users` CHANGE `created_at` `created_at` timestamp NOT NULL DEFAULT '1970-01-02 00:00:01' ;

    - Correggere gli errori di sistema

    Aggiungi il comando binario LibreNMS lnms alla directory /usr/bin utilizzando il seguente comando.

    sudo ln -s /opt/librenms/lnms /usr/bin/lnms

    Abilita il completamento bash per il comando lnms.

    sudo cp /opt/librenms/misc/lnms-completion.bash /etc/bash_completion.d/

    Infine, copia la configurazione di logrotate per LibreNMS nella directory /etc/logrotate.d/.

    sudo cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms

    9. Dopo aver corretto gli errori di LibreNMS, torna alle pagine di convalida di LibreNMS e ricarica la pagina.

    Ora assicurati che tutto lo stato sia OK.

    10. Fare clic sul menu Panoramica per visualizzare il dashboard.

    Ora hai completato l'installazione di LibreNMS su Debian 11 Bullseye.

    Conclusione

    Congratulazioni! Hai installato con successo lo strumento di monitoraggio LibreNMS con il database Nginx, PHP-FPM e MariaDB sull'ultimo Debian 11 Bullseye. Inoltre, hai imparato come creare il pool PHP-FPM personalizzato e correggere alcuni errori dell'installazione di LibreNMS.

    Per il passaggio successivo, imparerai come aggiungere host da monitorare allo strumento di monitoraggio LibreNMS.