So installierst du das LibreNMS Monitoring Tool unter Debian 11
LibreNMS ist ein kostenloses, quelloffenes, webbasiertes und selbsterkennendes Netzwerküberwachungsprogramm, das in PHP geschrieben wurde. Es nutzt MySQL oder MariaDB als Datenbank-Backend und verwendet SNMP, um die entfernten Clients zu erkennen. Es unterstützt eine Vielzahl von Netzwerkgeräten wie Linux, Cisco, Juniper, FreeBSD, HP, Windows und andere. Es unterstützt mehrere Authentifizierungsmethoden wie Radius, Active Directory, LDAP, MySQL und mehr. Es ist einfach, benutzerfreundlich und für jeden leicht zu verstehen und anzuwenden.
In diesem Tutorial erkläre ich dir, wie du LibreNMS mit Nginx auf Debian 11 installierst.
Voraussetzungen
- Ein Server, auf dem Debian 11 läuft.
- Ein gültiger Domainname, der auf die IP deines Servers zeigt.
- Ein Root-Passwort ist auf deinem Server konfiguriert.
MariaDB-Datenbank installieren und konfigurieren
Zuerst musst du den MariaDB-Datenbankserver auf deinem Server installieren. Du kannst ihn mit dem folgenden Befehl installieren:
apt-get install mariadb-server -y
Sobald die Installation abgeschlossen ist, führst du das folgende Skript aus, um die MariaDB-Installation zu sichern und ein Root-Passwort festzulegen:
mysql_secure_installation
Beantworte alle Fragen wie unten gezeigt:
Enter current password for root (enter for none): Switch to unix_socket authentication [Y/n] n Change the root password? [Y/n] Y New password: Re-enter new password: Remove anonymous users? [Y/n] Y Disallow root login remotely? [Y/n] Y Remove test database and access to it? [Y/n] Reload privilege tables now? [Y/n] Y
Sobald MariaDB gesichert ist, bearbeitest du die MariaDB-Konfigurationsdatei und nimmst einige Einstellungen vor:
nano /etc/mysql/mariadb.conf.d/50-server.cnf
Füge die folgenden Zeilen in den Abschnitt [mysqld] ein:
innodb_file_per_table=1 lower_case_table_names=0
Speichere und schließe die Datei und starte MariaDB neu, um die Änderungen zu übernehmen:
systemctl restart mariadb
Als Nächstes loggst du dich mit folgendem Befehl bei MariaDB ein:
mysql -u root -p
Sobald du eingeloggt bist, erstelle eine Datenbank und einen Benutzer für LibreNMS:
MariaDB [(none)]> CREATE DATABASE librenms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; MariaDB [(none)]> CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'securepassword';
Als Nächstes erteilst du der LibreNMS-Datenbank alle Rechte mit dem folgenden Befehl:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
Schließlich löschst du die Berechtigungen und verlässt die MariaDB-Shell mit folgendem Befehl:
MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> EXIT;
Wenn du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.
Nginx, PHP und die erforderlichen Abhängigkeiten installieren
Als Nächstes musst du den Nginx-Webserver, PHP und andere für LibreNMS benötigte Abhängigkeiten installieren. Du kannst sie alle installieren, indem du den folgenden Befehl ausführst:
apt-get install nginx-full nmap php-cli php-curl php-fpm php-gd php-json php-mbstring php-mysql php-snmp php-xml php-zip python3-dotenv python3-pip python3-pymysql python3-redis python3-setuptools python3-systemd rrdtool snmp snmpd whois acl curl composer fping git graphviz imagemagick mtr-tiny
Sobald alle Pakete installiert sind, bearbeite die Datei php.ini und stelle deine Zeitzone ein:
nano /etc/php/7.4/fpm/php.ini
Ändere die folgende Zeile:
date.timezone = UTC
Speichere und schließe die Datei, wenn du fertig bist.
LibreNMS installieren und konfigurieren
Erstelle zunächst mit dem folgenden Befehl einen eigenen Benutzer für LibreNMS:
useradd librenms -d /opt/librenms -M -r -s /bin/bash
Als Nächstes fügst du den LibreNMS-Benutzer mit dem folgenden Befehl zur Gruppe www-data hinzu:
usermod -a -G librenms www-data
Als Nächstes lädst du die neueste Version von LibreNMS aus dem GitHub-Repository in das Verzeichnis /opt herunter:
git clone https://github.com/librenms/librenms.git /opt/librenms
Setze als Nächstes die Eigentumsrechte und die Rechte für das LibreNMS-Verzeichnis:
chown -R librenms:librenms /opt/librenms chmod 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/
Als Nächstes änderst du den Benutzer mit folgendem Befehl in LibreNMS:
su - librenms
Als Nächstes installierst du den PHP Composer mit folgendem Befehl:
cd /opt/librenms ./scripts/composer_wrapper.php install --no-dev
Sobald der Composer und andere PHP-Abhängigkeiten installiert sind, solltest du folgende Ausgabe sehen:
> @php artisan optimize Configuration cache cleared! Configuration cached successfully! Route cache cleared! Routes cached successfully! Files cached successfully! > @php artisan config:clear Configuration cache cleared! > scripts/dynamic_check_requirements.py || pip3 install --user -r requirements.txt || : Requirement already satisfied: PyMySQL!=1.0.0 in /usr/lib/python3/dist-packages (from -r requirements.txt (line 1)) (0.9.3) Requirement already satisfied: python-dotenv in /usr/lib/python3/dist-packages (from -r requirements.txt (line 2)) (0.15.0) Requirement already satisfied: redis>=3.0 in /usr/lib/python3/dist-packages (from -r requirements.txt (line 3)) (3.5.3) Requirement already satisfied: setuptools in /usr/lib/python3/dist-packages (from -r requirements.txt (line 4)) (52.0.0) Collecting psutil>=5.6.0 Downloading psutil-5.8.0-cp39-cp39-manylinux2010_x86_64.whl (293 kB) Collecting command_runner>=1.3.0 Downloading command_runner-1.3.0-py3-none-any.whl (17 kB) Installing collected packages: psutil, command-runner Successfully installed command-runner-1.3.0 psutil-5.8.0
Als Nächstes beendest du den LibreNMS-Benutzer mit dem folgenden Befehl:
exit
Als Nächstes musst du eine separate Konfigurationsdatei für PHP-FPM erstellen. Du kannst sie mit dem folgenden Befehl erstellen:
cp /etc/php/7.4/fpm/pool.d/www.conf /etc/php/7.4/fpm/pool.d/librenms.conf
Als Nächstes bearbeitest du die Konfigurationsdatei librenms.conf mit deinem bevorzugten Editor:
nano /etc/php/7.4/fpm/pool.d/librenms.conf
Ändere [www-data] in [librenms] und aktualisiere auch den Listening-Socket:
user = librenms group = librenms listen = /run/php-fpm-librenms.sock
Speichere und schließe die Datei und starte den PHP-FPM-Dienst neu, um die Konfigurationsänderungen zu übernehmen:
systemctl restart php7.4-fpm
Sobald du fertig bist, kannst du mit dem nächsten Schritt fortfahren.
Nginx für LibreNMS konfigurieren
Als Nächstes musst du eine Konfigurationsdatei für den virtuellen Nginx-Host für LibreNMS erstellen. Du kannst sie mit dem folgenden Befehl erstellen:
nano /etc/nginx/conf.d/librenms.conf
Füge die folgenden Zeilen hinzu:
server { listen 80; server_name libre.yourdomain.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 ~ [^/]\.php(/|$) { fastcgi_pass unix:/run/php-fpm-librenms.sock; fastcgi_split_path_info ^(.+\.php)(/.+)$; include fastcgi.conf; } location ~ /\.(?!well-known).* { deny all; } }
Speichere und schließe die Datei und überprüfe Nginx mit dem folgenden Befehl auf Syntaxfehler:
nginx -t
Wenn alles in Ordnung ist, erhältst du die folgende Ausgabe:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Starte abschließend Nginx neu, um die Änderungen zu übernehmen.
systemctl restart nginx php7.4-fpm
Du kannst den Nginx-Status auch mit dem folgenden Befehl überprüfen:
systemctl status nginx
Du solltest die folgende Ausgabe sehen:
? 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 Fri 2021-12-03 14:39:18 UTC; 18s ago Docs: man:nginx(8) Process: 39888 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 39892 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Main PID: 39893 (nginx) Tasks: 2 (limit: 2341) Memory: 2.7M CPU: 42ms CGroup: /system.slice/nginx.service ??39893 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; ??39894 nginx: worker process Dec 03 14:39:18 debian11 systemd[1]: Starting A high performance web server and a reverse proxy server... Dec 03 14:39:18 debian11 systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument Dec 03 14:39:18 debian11 systemd[1]: Started A high performance web server and a reverse proxy server.
Als Nächstes kopierst du die Konfigurationsdatei für den Cron-Job, um die automatische Erkennung und Abfrage für neu hinzugefügte Geräte zu aktivieren.
cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms
Als nächstes kopierst du die Konfigurationsdatei logrotate, um die alten Logs zu rotieren.
cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
Sobald du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.
Zugriff auf den LibreNMS Web-Installationsassistenten
Jetzt ist LibreNMS installiert und mit Nginx konfiguriert. Du kannst nun die webbasierte Einrichtung von LibreNMS über die URL http://libre.yourdomain.com aufrufen. Du solltest die Seite zur Überprüfung der Vorinstallation sehen:
Vergewissere dich, dass alle Prüfungen erfolgreich waren, und klicke dann auf das Datenbank-Symbol. Du solltest die Seite für die Datenbankkonfiguration sehen:
Gib deine Datenbankinformationen ein und klicke auf die Schaltfläche Anmeldeinformationen prüfen. Du solltest die folgende Seite sehen:
Klicke jetzt auf das Schlüsselsymbol, um einen Admin-Benutzer einzurichten:
Gib deinen Admin-Benutzernamen und dein Passwort ein und klicke dann auf die Schaltfläche Benutzer hinzufügen. Sobald der Benutzer erstellt ist, solltest du die folgende Seite sehen:
Klicke auf die SchaltflächeJa. Du solltest die folgende Seite sehen:
Öffne nun einen weiteren Tab in deinem Webbrowser und gib die URL https://libre.yourdomain.com/validate ein, um die Installation zu bestätigen. Du solltest die folgende Seite sehen:
Gib deinen Admin-Benutzernamen und dein Passwort ein und klicke auf die Schaltfläche Login. Du solltest die folgende Seite sehen:
Fazit
Herzlichen Glückwunsch! Du hast LibreNMS mit Nginx unter Debian 11 erfolgreich installiert. Du kannst jetzt damit beginnen, entfernte Geräte zum LibreNMS hinzuzufügen und sie von der zentralen Stelle aus zu überwachen. Wenn du noch Fragen hast, kannst du dich gerne an mich wenden.