LibreNMS ist ein kostenloses, webbasiertes Open-Source-Netzwerküberwachungstool mit automatischer Erkennung, das in PHP geschrieben ist. Es verwendet MySQL oder MariaDB als Datenbank-Backend und verwendet SNMP, um die Remote-Clients zu erkennen. Es unterstützt eine breite Palette von Netzwerkgeräten, darunter Linux, Cisco, Juniper, FreeBSD, HP, Windows und mehr. Es unterstützt mehrere Authentifizierungsmethoden, einschließlich Radius, Active Directory, LDAP, MySQL und mehr. Es ist einfach, benutzerfreundlich und für jeden leicht zu verstehen und zu verwenden.
In diesem Tutorial werde ich erklären, wie man LibreNMS mit Nginx auf Debian 11 installiert.
Voraussetzungen
- Ein Server mit Debian 11.
- Ein gültiger Domainname, auf den Ihre Server-IP verweist.
- Auf Ihrem Server ist ein Root-Passwort konfiguriert.
MariaDB-Datenbank installieren und konfigurieren
Zuerst müssen Sie den MariaDB-Datenbankserver auf Ihrem Server installieren. Sie können es mit dem folgenden Befehl installieren:
apt-get install mariadb-server -y
Führen Sie nach Abschluss der Installation das folgende Skript aus, um die MariaDB-Installation zu sichern und ein Root-Passwort festzulegen:
mysql_secure_installation
Beantworten Sie alle Fragen wie unten gezeigt:
Geben Sie das aktuelle Passwort für Root ein (Eingabe für keins):Zur unix_socket-Authentifizierung wechseln [J/N] nDas Root-Passwort ändern? [J/n] JNeues Passwort:Neues Passwort erneut eingeben:Anonyme Benutzer entfernen? [J/n] YRoot-Anmeldung aus der Ferne verbieten? [J/n] YTestdatenbank und Zugriff darauf entfernen? [J/n] Berechtigungstabellen jetzt neu laden? [J/n] Ja
Sobald die MariaDB gesichert ist, bearbeiten Sie die MariaDB-Konfigurationsdatei und passen Sie einige Einstellungen an:
nano /etc/mysql/mariadb.conf.d/50-server.cnf
Fügen Sie die folgenden Zeilen im Abschnitt [mysqld] hinzu:
innodb_file_per_table=1lower_case_table_names=0
Speichern und schließen Sie die Datei und starten Sie MariaDB neu, um die Änderungen zu übernehmen:
systemctl startet mariadb neu
Melden Sie sich als Nächstes mit dem folgenden Befehl bei MariaDB an:
mysql -u root -p
Nachdem Sie sich angemeldet haben, erstellen Sie eine Datenbank und einen Benutzer für LibreNMS:
MariaDB [(keine)]> CREATE DATABASE librenms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
MariaDB [(keine)]> CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'securepassword';
Als nächstes erteilen Sie der LibreNMS-Datenbank mit dem folgenden Befehl alle Berechtigungen:
MariaDB [(keine)]> GEWÄHREN SIE ALLE PRIVILEGIEN AUF librenms.* TO 'librenms'@'localhost';
Leeren Sie abschließend die Berechtigungen und beenden Sie die MariaDB-Shell mit dem folgenden Befehl:
MariaDB [(keine)]> FLUSH PRIVILEGES;
MariaDB [(keine)]> EXIT;
Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Nginx, PHP und erforderliche Abhängigkeiten installieren
Als nächstes müssen Sie den Nginx-Webserver, PHP und andere von LibreNMS benötigte Abhängigkeiten installieren. Sie können alle installieren, indem Sie den folgenden Befehl ausführen:
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, bearbeiten Sie die Datei php.ini und stellen Sie Ihre Zeitzone ein:
nano /etc/php/7.4/fpm/php.ini
Ändern Sie die folgende Zeile:
date.timezone =UTC
Speichern und schließen Sie die Datei, wenn Sie fertig sind.
Installieren und konfigurieren Sie LibreNMS
Erstellen Sie zunächst mit dem folgenden Befehl einen dedizierten Benutzer für LibreNMS:
useradd librenms -d /opt/librenms -M -r -s /bin/bash
Fügen Sie als Nächstes den LibreNMS-Benutzer mit dem folgenden Befehl zur Gruppe www-data hinzu:
usermod -a -G librenms www-data
Laden Sie als Nächstes die neueste Version von LibreNMS aus dem GitHub-Repository in das Verzeichnis /opt herunter:
git-Klon https://github.com/librenms/librenms.git /opt/librenms
Legen Sie als Nächstes den Besitz und die Berechtigung des LibreNMS-Verzeichnisses fest:
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/
Ändern Sie als Nächstes den Benutzer mit dem folgenden Befehl in LibreNMS:
su - librenms
Als nächstes installieren Sie den PHP Composer mit dem folgenden Befehl:
cd /opt/librenms
./scripts/composer_wrapper.php install --no-dev
Sobald der Composer und andere PHP-Abhängigkeiten installiert sind, sollten Sie die folgende Ausgabe sehen:
> @php artisan optimizeConfiguration Cache geleert!Konfiguration erfolgreich zwischengespeichert!Routen-Cache gelöscht!Routen erfolgreich zwischengespeichert!Dateien erfolgreich zwischengespeichert!> @php artisan config:clearConfiguration Cache geleert!> scripts/dynamic_check_requirements.py || pip3 install --user -r requirements.txt || :Anforderung bereits erfüllt:PyMySQL!=1.0.0 in /usr/lib/python3/dist-packages (aus -r requirements.txt (Zeile 1)) (0.9.3)Anforderung bereits erfüllt:python-dotenv in /usr/ lib/python3/dist-packages (aus -r requirements.txt (Zeile 2)) (0.15.0) Anforderung bereits erfüllt:redis>=3.0 in /usr/lib/python3/dist-packages (aus -r requirements.txt (Zeile 3)) (3.5.3)Anforderung bereits erfüllt:setuptools in /usr/lib/python3/dist-packages (aus -r requirements.txt (Zeile 4)) (52.0.0)Collecting psutil>=5.6.0 Herunterladen von psutil-5.8.0-cp39-cp39-manylinux2010_x86_64.whl (293 kB) Sammeln von command_runner>=1.3.0 Herunterladen von command_runner-1.3.0-py3-none-any.whl (17 kB) Installieren von gesammelten Paketen:psutil, command -runnerErfolgreich installierter Befehl-runner-1.3.0 psutil-5.8.0
Beenden Sie als Nächstes den LibreNMS-Benutzer mit dem folgenden Befehl:
beenden
Als nächstes müssen Sie eine separate Konfigurationsdatei für PHP-FPM erstellen. Sie können es 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 bearbeiten Sie die Konfigurationsdatei librenms.conf mit Ihrem bevorzugten Editor:
nano /etc/php/7.4/fpm/pool.d/librenms.conf
Ändern Sie [www-data] in [librenms] und aktualisieren Sie auch den Listening-Socket:
user =librenmsgroup =librenmslisten =/run/php-fpm-librenms.sock
Speichern und schließen Sie die Datei und starten Sie dann den PHP-FPM-Dienst neu, um die Konfigurationsänderungen zu übernehmen:
systemctl startet php7.4-fpm neu
Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Nginx für LibreNMS konfigurieren
Als Nächstes müssen Sie eine virtuelle Nginx-Host-Konfigurationsdatei für LibreNMS erstellen. Sie können es mit dem folgenden Befehl erstellen:
nano /etc/nginx/conf.d/librenms.conf
Fügen Sie die folgenden Zeilen hinzu:
server {listen 80; server_name libre.ihredomain.com; root /opt/librenms/html; indexindex.php; Zeichensatz utf-8; gzip an; 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; Ort / { Versuchsdateien $uri $uri/ /index.php?$query_string; } location ~ [^/]\.php(/|$) { fastcgi_pass unix:/run/php-fpm-librenms.sock; fastcgi_split_path_info ^(.+\.php)(/.+)$; schließen Sie fastcgi.conf ein; } location ~ /\.(?!bekannt).* { alle verweigern; }}
Speichern und schließen Sie die Datei und überprüfen Sie dann Nginx mit dem folgenden Befehl auf Syntaxfehler:
nginx -t
Wenn alles in Ordnung ist, erhalten Sie die folgende Ausgabe:
nginx:Die Syntax der Konfigurationsdatei /etc/nginx/nginx.conf ist oknginx:Der Test der Konfigurationsdatei /etc/nginx/nginx.conf ist erfolgreich
Starten Sie abschließend Nginx neu, um die Änderungen zu übernehmen.
systemctl startet nginx php7.4-fpm neu
Sie können den Nginx-Status auch mit dem folgenden Befehl überprüfen:
systemctl status nginx
Sie sollten die folgende Ausgabe sehen:
Kopieren Sie als Nächstes die Cron-Job-Konfigurationsdatei, 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
Kopieren Sie als Nächstes die logrotate-Konfigurationsdatei, um die alten Protokolle zu rotieren.
cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Zugriff auf den LibreNMS-Webinstallationsassistenten
An diesem Punkt wird LibreNMS mit Nginx installiert und konfiguriert. Sie können jetzt über die URL http://libre.yourdomain.com auf das webbasierte Setup von LibreNMS zugreifen . Sie sollten die Prüfseite vor der Installation sehen:
Vergewissern Sie sich, dass alle Prüfungen erfolgreich verlaufen sind, und klicken Sie dann auf die Datenbank Symbol. Sie sollten die Datenbankkonfigurationsseite sehen:
Geben Sie Ihre Datenbankinformationen ein und klicken Sie auf Prüfen Anmeldedaten . Sie sollten die folgende Seite sehen:
Klicken Sie nun auf die Taste Symbol zum Einrichten eines Admin-Benutzers:
Geben Sie Ihren Admin-Benutzernamen und Ihr Passwort ein und klicken Sie dann auf Hinzufügen Benutzer Taste. Nachdem der Benutzer erstellt wurde, sollten Sie die folgende Seite sehen:
Klicken Sie auf Ja Symbolschaltfläche. Sie sollten die folgende Seite sehen:
Öffnen Sie nun einen weiteren Tab in Ihrem Webbrowser und geben Sie die URL https://libre.yourdomain.com/validate ein, um die Installation zu validieren. Sie sollten die folgende Seite sehen:
Geben Sie Ihren Admin-Benutzernamen und Ihr Passwort ein und klicken Sie auf Anmelden Taste. Sie sollten die folgende Seite sehen:
Schlussfolgerung
Herzliche Glückwünsche! Sie haben LibreNMS erfolgreich mit Nginx auf Debian 11 installiert. Sie können jetzt damit beginnen, entfernte Geräte zu LibreNMS hinzuzufügen und sie von der zentralen Stelle aus zu überwachen. Fühlen Sie sich frei, mich zu fragen, wenn Sie irgendwelche Fragen haben.