So richten Sie das LibreNMS Monitoring Tool mit Nginx auf Ubuntu 16.04 LTS ein
LibreNMS ist ein Open-Source-Monitoring-Tool auf Basis von PHP/MYSQL/SNMP. Es ist ein vorgestelltes Netzwerküberwachungssystem, das Unterstützung für eine Vielzahl von Netzwerkhardware und Betriebssystemen bietet, darunter FreeBSD, Cisco, Linux, HP usw.
In diesem Tutorial zeige ich Ihnen, wie Sie das Open-Source-Monitoring-Tool’LibreNMS‘ mit Nginx als Webserver, MariaDB als Datenbank und Ubuntu 16.04 Server als Hauptserver installieren und konfigurieren. Wir führen Sie Schritt für Schritt durch die Installation und Konfiguration von’LibreNMS‘ auf dem Ubuntu 16.04 Xenial Xerus Server.
Was wir tun werden
- Pakete installieren
- Nginx Webserver installieren
- Installation und Konfiguration von PHP-FPM
- MariaDB installieren und konfigurieren
- LibreNMS herunterladen und konfigurieren
- LibreNMS Web-Installer
- Endgültige Konfiguration
Voraussetzungen
- Ubuntu 16.04 Server
- Root-Privilegien
Schritt 1 – Pakete installieren
Der erste Schritt, den wir für die Installation von LibreNMS Monitoring Tools tun müssen, ist die Installation einiger Pakete, die auf dem Server benötigt werden. Verbinden Sie sich mit Ihrem Server und aktualisieren Sie das Repository.
ssh root@hakase-labs-server sudo apt update
Installieren Sie alle erforderlichen Pakete für LibreNMS aus dem Ubuntu-Repository mit dem folgenden Befehl.
apt install fping imagemagick whois mtr-tiny nmap python-mysqldb snmpd rrdtool git snmp graphviz
Nachdem die Installation abgeschlossen ist, gehen Sie zum nächsten Schritt.
Schritt 2 – Nginx Webserver installieren
In diesem Tutorial werden wir LibreNMS unter dem Nginx-Webserver ausführen. Nginx ist ein leistungsstarker Webserver, der in den Ubuntu-Repositories verfügbar ist.
Installieren Sie nginx mit dem Befehl apt aus dem Repository wie folgt.
apt install nginx
Wenn das erledigt ist, starten Sie den Dienst und aktivieren Sie ihn so, dass er jedes Mal beim Systemstart automatisch ausgeführt wird.
systemctl start nginx systemctl enable nginx
Der Nginx-Webserver läuft unter dem Standardport 80. Wir können den Port mit dem Befehl netstat und Nginx mit dem Befehl curl überprüfen, um den HTTP-Statuscode zu erhalten, wie unten gezeigt.
netstat -plntu | grep 80 curl -I localhost
Die Installation von Nginx ist abgeschlossen.
Schritt 3 – Installation und Konfiguration von PHP-FPM
LibreNMS ist ein PHP-basiertes Tool zur Überwachung von Webanwendungen. Es bietet Unterstützung für die neue PHP-Version 7.0, und wir werden sie für dieses Handbuch verwenden.
Installieren Sie PHP, PHP-FPM und alle Erweiterungen/Module, die für die LibreNMS-Installation benötigt werden, mit dem folgenden Befehl apt.
apt install php7.0-cli php7.0-mysql php7.0-gd php7.0-snmp php-pear php7.0-curl php7.0-fpm php7.0-mcrypt php7.0-json php-net-ipv4 php-net-ipv6
Als nächstes müssen wir den php.ini-Dateien eine Konfiguration hinzufügen. Wir müssen die Standardzeitzone in der Datei php.ini definieren und sicherstellen, dass die Zeitzone mit der aktuellen Zeitzone des Systems übereinstimmt.
Überprüfen Sie die aktuell vom System verwendete Zeitzone mit dem folgenden Befehl.
timedatectl
Du solltest ein ähnliches Ergebnis wie das folgende erhalten.
Sie können sehen, dass der Server die Zeitzone „Europa/Paris“ verwendet.
Gehen Sie nun in das PHP-Konfigurationsverzeichnis und bearbeiten Sie die php.ini-Dateien für die cli- und fpm-Konfiguration.
cd /etc/php/7.0/ vim fpm/php.ini vim cli/php.ini
Entkommentieren Sie die Zeile‘date.time‚ und ändern Sie den Wert mit unserer Systemzeitzone‘Europe/Paris‚.
date.time = Europe/Paris
Unkommentierte CGI-Konfiguration unten, ändern Sie den Wert auf 0.
cgi.fix_pathinfo = 0
Speichern und beenden.
Die gesamte Konfiguration ist damit abgeschlossen. Starten Sie nun den Dienst und aktivieren Sie ihn so, dass er jedes Mal beim Systemstart mit den folgenden systemctl-Befehlen gestartet werden kann.
systemctl start php7.0-fpm systemctl enable php7.0-fpm
PHP-FPM läuft nun auf dem Ubuntu-Server – es läuft unter der Sock-Datei. Überprüfen Sie dies mit dem Befehl netstat.
netstat -pl | grep php
Schritt 4 – MariaDB installieren und konfigurieren
In diesem Schritt werden wir den mariadb-Server für die LibreNMS-Datenbank installieren. Wir werden eine neue Datenbank und einen neuen Benutzer für die LibreNMS-Installation installieren, konfigurieren und erstellen.
Installieren Sie den mariadb-Server aus dem ubuntu-Repository mit dem folgenden apt-Befehl.
apt install mariadb-server mariadb-client mariadb
Wenn dies erledigt ist, starten Sie den Dienst und aktivieren Sie ihn so, dass er beim Systemstart automatisch ausgeführt wird, was Sie mit den folgenden systemctl-Befehlen tun können.
systemctl start mysql systemctl enable mysql
Der Datenbankserver mariadb läuft nun. Als nächstes müssen wir das Root-Passwort für mariadb konfigurieren. Wir können den folgenden Befehl’mysql_secure_installation‘ verwenden, um das Root-Passwort zu konfigurieren.
mysql_secure_installation
Sie werden nach dem neuen Root-Passwort gefragt – geben Sie Ihr Passwort ein und drücken Sie’Enter‘, um fortzufahren.
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
Das Root-Passwort für mariadb wurde konfiguriert.
Als nächstes müssen wir eine neue Datenbank und einen neuen Benutzer für LibreNMS erstellen. Wir werden eine neue Datenbank namens ‚librenms‘ erstellen, ein neuer Benutzer namens ‚librenms‘ mit dem Passwort ‚hakase-labs123‘.
Melde dich mit dem folgenden Befehl in der Mariadb-Shell an.
mysql -u root -p Type the ROOT Password:
Führen Sie untenstehende mariadb-Abfragen aus, um eine neue Datenbank und einen neuen Benutzer zu erstellen, und vergeben Sie alle Berechtigungen auf der Datenbank an den neuen Benutzer.
CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_unicode_ci; CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'hakase-labs123'; GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost'; FLUSH PRIVILEGES;
Eine neue Datenbank und ein neuer Benutzer für LibreNMS wurde erstellt.
Für die LibreNMS-Installation müssen wir der Konfigurationsdatei eine Konfiguration hinzufügen. Gehen Sie in das Verzeichnis’/etc/mysql/‘ und bearbeiten Sie die Konfigurationsdatei mariadb.
cd /etc/mysql/
vim mariadb.conf.d/50-server.cnf
Fügen Sie die Konfiguration unten unter dem Abschnitt ‚[mysqld]‚ ein.
innodb_file_per_table=1 sql-mode="" lower_case_table_names=0
Speichern und beenden.
Übernehmen Sie nun die neue Konfiguration, indem Sie den Dienst neu starten.
systemctl restart mysql
Die Konfiguration der mariadb-Datenbank ist abgeschlossen.
Schritt 5 – Herunterladen und Konfigurieren von LibreNMS
In diesem Schritt werden wir das System für die Installation von LibreNMS konfigurieren.
– Neuen Benutzer hinzufügen und LibreNMS herunterladen
Erstellen Sie einen neuen Systembenutzer namens ‚librenms‘, definieren Sie ‚/opt/librenms‘ als Standard-Startverzeichnis für den Benutzer und weisen Sie den neuen ‚librenms‘ Benutzer der www-Datengruppe zu.
Führen Sie den folgenden Befehl aus, um alles zu erledigen.
useradd librenms -d /opt/librenms -M -r usermod -a -G librenms www-data
Gehen Sie nun in das Verzeichnis’/opt/‘ und laden Sie den LibreNMS-Quellcode mit dem Befehl git herunter.
cd /opt/ git clone https://github.com/librenms/librenms.git librenms
Als nächstes erstellen Sie ein neues Verzeichnis für libreNMS-Protokolldateien und rrd-Dateien.
mkdir -p /opt/librenms/{logs,rrd}
Ändern Sie die Eigentümerrechte für das Verzeichnis’rrd‘ auf’775′ und ändern Sie den Besitzer des Verzeichnisses’librenms‘ auf den Benutzer und die Gruppe’librenms‘.
chmod -R 775 /opt/librenms/rrd/ chown -R librenms:librenms /opt/librenms/
Es wurde ein neues’librenms‘ erstellt und der LibreNMS-Quellcode heruntergeladen.
– LibreNMS Virtualhost konfigurieren
Gehen Sie in das Konfigurationsverzeichnis von ’nginx‘ und erstellen Sie eine neue virtuelle Hostdatei ‚librenms‘ mit vim.
cd /etc/nginx/ vim sites-available/librenms
Fügen Sie dort die folgende LibreNMS Virtual Host-Konfiguration ein.
server { # Add your own domain name listen 80; server_name librenms.irsyadf.me; # LibreNMS Webroot directory root /opt/librenms/html; index index.php; # LibreNMS logs access_log /opt/librenms/logs/access_log; error_log /opt/librenms/logs/error_log; # Enabling Gzip compression on Nginx 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; } # PHP-FPM handle all .php files requests location ~ \.php { include fastcgi.conf; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/run/php/php7.0-fpm.sock; } location ~ /\.ht { deny all; } }
Speichern und beenden. Aktivieren Sie nun den Virtualhost.
ln -s /etc/nginx/sites-available/librenms /etc/nginx/sites-enabled/
Testen Sie die nginx-Konfiguration und stellen Sie sicher, dass kein Fehler vorliegt. Starten Sie dann den Dienst neu.
nginx -t systemctl restart nginx
– UFW Firewall konfigurieren
Fügen Sie der Firewall neue Ports hinzu. Füge neue ssh, http, https und den Port des snmpd 161 udp type zur ufw Firewall hinzu.
Führen Sie die folgenden ufw-Befehle aus.
ufw allow ssh ufw allow http ufw allow https ufw allow 161/udp
Starten Sie die ufw-Firewall mit dem Befehl ufw enable, wie unten gezeigt.
ufw enable
Geben Sie ‚y‘ ein und drücken Sie ‚Enter‘ zur Bestätigung. Starten Sie es und aktivieren Sie es, um es jedes Mal beim Systemstart zu starten.
Wenn Sie den Firewall-Status sehen möchten, führen Sie den Befehl’ufw status‘ aus.
ufw status
Sie erhalten den Firewall-Status – aktiv oder inaktiv – und die Liste der Ports und Dienste, die der Firewall hinzugefügt wurden.
Schritt 6 – LibreNMS Web Installer
Nachdem alle oben genannten Schritte abgeschlossen sind, müssen wir LibreNMS über den Webbrowser installieren. Öffnen Sie Ihren Webbrowser, geben Sie den LibreNMS-Domänennamen ‚librenms.hakase-labs.co‘ in die Adressleiste ein und drücken Sie die Eingabetaste.
– Überprüfen von PHP-Modulen
Sie werden auf die Seite install.php weitergeleitet, die das Ergebnis der Prüfungen zur Unterstützung von PHP-Modulen anzeigt. Stellen Sie sicher, dass alle Status grün sind, wie unten gezeigt.
Klicken Sie auf‘Nächste Stufe‚, um fortzufahren.
– Datenbank-Konfiguration
Füllen Sie alle Datenbankinformationen mit Ihrer eigenen db.
- DB-Benutzer: librenms
- DB Pass: hakase-labs123
- DB Name: Bibliotheken
Und klicken Sie auf‘Nächste Stufe‚.
– MySQL-Datenbank importieren
Warten Sie, bis das Installationsskript ein Beispiel einer Datenbank in unsere Datenbank importiert hat – schließen Sie die Browser-Registerkarte während dieses Vorgangs nicht.
Nachdem alle db importiert wurden, klicken Sie auf’Goto Add User‘.
– Admin-Benutzer hinzufügen
Geben Sie hier Ihren Admin-Benutzer, Ihre E-Mail-Adresse und Ihr Passwort ein.
Klicken Sie auf‘Benutzer hinzufügen‚.
– LibreNMS-Konfiguration generieren
Klicken Sie auf die Schaltfläche‘Generate Config‚.
Und du bekommst eine Konfigurationsdatei, ähnlich der unten gezeigten.
Kopieren Sie das php-Konfigurationsskript und kehren Sie zu Ihrer ssh-Sitzung zurück. Gehen Sie zum Verzeichnis’/opt/librenms‘ und erstellen Sie die Datei’config.php‘ manuell mit vim.
cd /etc/librenms/ vim config.php
Fügen Sie dort die Konfiguration ein und ändern Sie den Eigentümer der Datei auf librenms user and group.
chown librenms:librenms config.php
Gehen Sie zurück zu Ihrem Webbrowser und klicken Sie auf die Schaltfläche „Installation beenden„.
Nun gelangen Sie zur letzten Seite aus dem Librenms Web-Installer – siehe unten.
Schritt 7 – Endgültige Konfiguration
Nachdem die Installation über den Webbrowser abgeschlossen ist, müssen wir noch einige weitere Schritte durchführen.
– SNMP konfigurieren
Sichern Sie die Standardkonfigurationsdatei und kopieren Sie die Beispielkonfiguration in das Verzeichnis’/etc/snmp/‘.
mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.aseli cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
Bearbeiten Sie die neue Konfiguration mit vim.
vim /etc/snmp/snmpd.conf
Ersetze die Zeile’RANDOMSTRINGGOESHERE‘ durch deinen eigenen Community-Namen’hakaselabs‘, wie unten gezeigt.
com2sec readonly default hakaselabs
Speichern und beenden.
Als nächstes müssen wir das Distro Detection Skript herunterladen. Laden Sie es mit Curl herunter, machen Sie das Skript ausführbar und starten Sie schließlich den snmp-Dienst neu.
curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro chmod +x /usr/bin/distro systemctl restart snmpd
– Crontab- und Logrotate-Konfiguration
Gehen Sie in das Verzeichnis librenms und kopieren Sie die Beispielkonfiguration für Crontab und Logrotate.
cd /opt/librenms/
Kopieren Sie die Konfiguration.
cp librenms.nonroot.cron /etc/cron.d/librenms cp misc/librenms.logrotate /etc/logrotate.d/librenms
Starten Sie nun den cron-Dienst neu und laden Sie die Logrotate-Konfiguration neu.
systemctl restart cron logrotate -f /etc/logrotate.conf
– Konfiguration validieren
Warten Sie einige Zeit, bis das Cron-Skript auf dem System läuft. Sobald dies erledigt ist, validieren Sie mit dem Skript „validate.php“.
Gehen Sie in das Verzeichnis librenms und führen Sie das Validierungsskript aus.
cd /opt/librenms/ ./validate.php
Wenn Ihre Installation korrekt ist, erhalten Sie das Ergebnis wie unten gezeigt.
LibreNMS Installation mit Nginx Webserver auf Ubuntu 16.04 ist abgeschlossen.