Überwachungstool · 12 min read · Nov 06, 2025

Wie man das LibreNMS-Überwachungstool auf AlmaLinux 9 installiert

LibreNMS ist ein Überwachungstool, das die automatische Erkennung mit mehreren Protokollen unterstützt, einschließlich SNMP, ARP, OSPF und BGP. Um Betriebssysteme zu überwachen, können Sie das SNMP-Protokoll verwenden, das auf den meisten Betriebssystemen verfügbar ist, einschließlich Linux, Windows und BSDs.

Es gibt drei Versionen des SNMP-Protokolls, v1 und v2, die nur mit einem Community-Passwort gesichert sind, und Protokoll v3, das Passwörter für Authentifizierung und Verschlüsselung unterstützt. Für die Produktionsumgebung wird empfohlen, das SNMP-Protokoll v3 zu verwenden, das sicherer ist als v2 und v1.

In diesem Leitfaden zeige ich Ihnen, wie Sie das LibreNMS-Überwachungstool auf Ihrem AlmaLinux 9-Server installieren. Ich werde LibreNMS mit PHP-FPM, dem Nginx-Webserver und der MariaDB-Datenbank ausführen.

Voraussetzungen

Um diesen Leitfaden abzuschließen, müssen Sie Folgendes haben:

  • Einen AlmaLinux 9-Server - Diese Demo verwendet einen Server mit dem Hostnamen almalinux9.
  • Einen Nicht-Root-Benutzer mit sudo/root-Rechten.

Abhängigkeiten installieren

Zuerst fügen Sie die EPEL- und Remi-Repositorys zu Ihrem System hinzu. Installieren Sie dann die Paketabhängigkeiten für LibreNMS.

Führen Sie den folgenden dnf-Befehl aus, um das EPEL-Repository und das PHP Remi-Repository zu Ihrem System hinzuzufügen.

sudo dnf install -y epel-release  
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm

Einige der Abhängigkeiten sind im EPEL-Repository verfügbar, daher müssen Sie EPEL zu Ihrem System hinzufügen.

add epel repo

Das PHP Remi-Repository wird verwendet, um PHP-FPM-Pakete zu installieren.

add remi repository

Führen Sie nun den folgenden Befehl aus, um das Standard-Repository-Modul für PHP zurückzusetzen. Aktivieren Sie dann das PHP Remi-Repository für die PHP-Version 8.1, die von LibreNMS benötigt wird.

sudo dnf module reset php  
sudo dnf module enable php:remi-8.1

enable php 8.1 remi repository

Führen Sie als Nächstes den dnf-Befehl unten aus, um die Paketabhängigkeiten für LibreNMS zu installieren. Dazu gehören PHP-FPM, der Nginx-Webserver, der MariaDB-Server, einige Python3-Pakete und Systemdienstprogramme wie rrdtool, unzip, ImageMagick, git und fping.

sudo dnf install -y bash-completion cronie fping git ImageMagick mariadb-server mtr net-snmp net-snmp-utils nginx nmap php-fpm php-cli php-common php-curl php-gd php-gmp php-json php-mbstring php-process php-snmp php-xml php-zip php-mysqlnd python3 python3-PyMySQL python3-redis python3-memcached python3-pip python3-systemd rrdtool unzip

Sobald die Installation abgeschlossen ist, fahren Sie mit dem nächsten Schritt fort.

install dependencies

Systembenutzer erstellen

In diesem Abschnitt erstellen Sie einen neuen Systembenutzer namens librenms, der zum Ausführen von LibreNMS verwendet wird.

Führen Sie den folgenden Befehl aus, um einen neuen Benutzer librenms zu erstellen.

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

Detaillierte Optionen:

  • -d /opt/librenms: Geben Sie das Home-Verzeichnis für den neuen Benutzer auf /opt/librenms an.
  • -M: Erstellen Sie kein Home-Verzeichnis für den neuen Benutzer.
  • -r: Definieren Sie den neuen Benutzer als Systembenutzer.
  • -s “$(which bash)”: Geben Sie die Shell für den neuen Benutzer auf bash an.

PHP-FPM konfigurieren

In diesem folgenden Abschnitt richten Sie PHP-FPM für LibreNMS ein. Sie werden die richtige Zeitzone auf Ihrem System festlegen und dann einen bestimmten PHP-FPM-Pool hinzufügen, der von LibreNMS verwendet wird.

Zuerst führen Sie den folgenden Befehl aus, um die Zeitzone auf Ihrem Server zu konfigurieren.

sudo timedatectl set-timezone Europe/Stockholm  
sudo ln -s /usr/share/zoneinfo/Europe/Stockholm /etc/localtime

setup php-fpm sock

Öffnen Sie dann die Datei /etc/php.ini mit dem folgenden Nano-Editor.

sudo nano /etc/php.ini

Kommentieren Sie den Parameter date.timezone aus und ändern Sie den Wert in die richtige Zeitzone wie folgt:

date.timezone=Europe/Stockholm

Speichern Sie die Datei und beenden Sie den Editor, wenn Sie fertig sind.

Führen Sie nun den folgenden Befehl aus, um die Standard-PHP-FPM-Poolkonfiguration nach /etc/php-fpm.d/librenms.conf zu kopieren und öffnen Sie sie mit dem Nano-Editor.

sudo cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/librenms.conf  
sudo nano /etc/php-fpm.d/librenms.conf

Ändern Sie den Namen des PHP-FPM-Pools von www in librenms.

[librenms]

Ändern Sie den Standardbenutzer und die Gruppe in librenms.

user = librenms  
group = librenms

Ändern Sie die Standard-Sockdatei für den neuen PHP-FPM-Pool in /run/php-fpm/librenms.sock.

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

Speichern Sie die Datei und beenden Sie den Editor, wenn Sie fertig sind.

Führen Sie nun den folgenden Befehl aus, um den PHP-FPM-Dienst zu starten und zu aktivieren.

sudo systemctl start php-fpm  
sudo systemctl enable php-fpm

Überprüfen Sie dann den PHP-FPM-Dienst mit dem folgenden Befehl, um sicherzustellen, dass der Dienst läuft.

sudo systemctl status php-fpm

Wenn er läuft, wird die folgende Ausgabe in Ihrem Terminal angezeigt:

start verify php-fpm

Darüber hinaus können Sie auch die PHP-FPM-Sockdatei für LibreNMS mit dem folgenden Befehl überprüfen.

ss -pl | grep php-fpm

Wenn Ihre Konfiguration erfolgreich ist, sollten Sie die PHP-FPM-Sockdatei /run/php-fpm/librenms.sock verfügbar haben.

MariaDB-Server konfigurieren

Nachdem Sie PHP-FPM konfiguriert haben, konfigurieren Sie den MariaDB-Server. Sie fügen zusätzliche Konfigurationen zum MariaDB-Server hinzu und sichern MariaDB über das Dienstprogramm mariadb-secure-installation.

Öffnen Sie die Standardkonfiguration des MariaDB-Servers /etc/my.cnf.d/mariadb-server.cnf mit dem folgenden Nano-Editor.

sudo nano /etc/my.cnf.d/mariadb-server.cnf

Fügen Sie die folgenden Konfigurationen unter dem Abschnitt ‘[mysqld]‘ ein.

innodb_file_per_table=1  
lower_case_table_names=0

Speichern Sie die Datei und beenden Sie den Editor, wenn Sie fertig sind.

Führen Sie nun den folgenden Befehl aus, um den MariaDB-Dienst zu starten und zu aktivieren.

sudo systemctl start mariadb  
sudo systemctl enable mariadb

Führen Sie als Nächstes den folgenden Befehl aus, um Ihre MariaDB-Serverinstallation zu sichern.

sudo mariadb-secure-installation

Sie werden nach einigen Konfigurationen gefragt:

  • Ändern Sie die Authentifizierungsmethode für den MariaDB-Root-Benutzer in unix_socket. Geben Sie n für Nein ein.
  • Einrichten des MariaDB-Root-Passworts. Geben Sie y ein, um zu bestätigen, und geben Sie das neue MariaDB-Root-Passwort ein und wiederholen Sie es.
  • Deaktivieren Sie das Remote-Login für den MariaDB-Root-Benutzer. Geben Sie y ein, um zu bestätigen.
  • Entfernen Sie die Standarddatenbank test von MariaDB. Geben Sie y ein, um zu bestätigen.
  • Entfernen Sie den anonymen Benutzer von der MariaDB. Geben Sie y ein, um zu bestätigen.
  • Geben Sie schließlich erneut y ein, um die Tabellenberechtigungen neu zu laden und die Änderungen anzuwenden.

Erstellen Sie eine MariaDB-Datenbank und einen Benutzer für LibreNMS

Nachdem der MariaDB-Server konfiguriert ist, erstellen Sie als Nächstes eine neue Datenbank und einen Benutzer, die von LibreNMS verwendet werden.

Melden Sie sich mit dem folgenden Befehl beim MariaDB-Server an.

sudo mariadb -u root -p

Führen Sie die folgenden Abfragen aus, um eine neue Datenbank und einen Benutzer für LibreNMS zu erstellen. In dieser Demo erstellen Sie eine neue Datenbank und einen Benutzer librenms mit dem Passwort librenmspassword. Außerdem müssen Sie sicherstellen, dass das Standardzeichen für die LibreNMS-Datenbank utf8mb4 ist.

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;

create database and user

Führen Sie nun die folgende Abfrage aus, um die Berechtigungen für den neuen Benutzer librenms zu überprüfen, und geben Sie dann exit ein, um die MariaDB zu verlassen.

SHOW GRANTS FOR 'librenms'@'localhost';  
exit

Die angezeigte Ausgabe zeigt Ihnen, dass der Benutzer librenms auf die Datenbank librenms zugreifen kann.

check user permission to database

Herunterladen und Installieren von LibreNMS

In diesem Abschnitt laden Sie den Quellcode von LibreNMS herunter, richten die richtige Eigentümerschaft und Berechtigung ein und installieren dann die PHP-Abhängigkeiten über das im Quellcode enthaltene Skript composer_wrapper.

Führen Sie den folgenden git-Befehl aus, um den Quellcode von LibreNMS in das Verzeichnis /opt/librenms herunterzuladen.

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

Ändern Sie nun den Eigentümer des Verzeichnisses /opt/librenms in den Benutzer librenms und ändern Sie die Berechtigung in 771.

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

download librenms

Führen Sie danach den folgenden Befehl aus, um Zugriffssteuerlisten einzurichten und die Lese-, Schreib- und Ausführungsberechtigung für einige LibreNMS-Verzeichnisse sicherzustellen.

sudo setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/  
sudo setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/

Melden Sie sich als Benutzer librenms mit dem folgenden Befehl an. Sie sollten sich im Verzeichnis /opt/librenms befinden.

su - librenms  
pwd

Führen Sie den folgenden Befehl aus, um die PHP-Abhängigkeiten für LibreNMS zu installieren. Wenn die Installation abgeschlossen ist, geben Sie exit ein, um sich von dem Benutzer librenms abzumelden.

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

install librenms dependencies

SELinux konfigurieren

Wenn Sie SELinux mit aktivem Modus auf Ihrem AlmaLinux 9-Server aktiviert haben, müssen Sie es für LibreNMS konfigurieren. In diesem Abschnitt installieren Sie das Paket policycoreutils-python-utils, um SELinux für LibreNMS einzurichten.

Führen Sie den folgenden Befehl aus, um das Paket policycoreutils-python-utils zu installieren.

sudo dnf install -y policycoreutils-python-utils

Führen Sie als Nächstes den folgenden Befehl aus, um die Kennzeichnung für den Quellcode von LibreNMS einzurichten, dem Webserver das Senden von E-Mails zu erlauben und Programme auszuführen, die Speicheradressen benötigen.

semanage fcontext -a -t httpd_sys_content_t '/opt/librenms/html(/.*)?'  
semanage fcontext -a -t httpd_sys_rw_content_t '/opt/librenms/(rrd|storage)(/.*)?'  
semanage fcontext -a -t httpd_log_t "/opt/librenms/logs(/.*)?"  
semanage fcontext -a -t bin_t '/opt/librenms/librenms-service.py'  
restorecon -RFvv /opt/librenms  
setsebool -P httpd_can_sendmail=1  
setsebool -P httpd_execmem 1  
chcon -t httpd_sys_rw_content_t /opt/librenms/.env

Erstellen Sie nun eine neue Datei http_fping.tt mit dem folgenden Nano-Editor-Befehl.

sudo nano http_fping.tt

Fügen Sie die folgende Konfiguration in die Datei ein. Dies ermöglicht den fping-Befehl über SELinux.

module http_fping 1.0;  
  
require {  
type httpd_t;  
class capability net_raw;  
class rawip_socket { getopt create setopt write read };  
}  
  
#============= httpd_t ==============  
allow httpd_t self:capability net_raw;  
allow httpd_t self:rawip_socket { getopt create setopt write read };

Speichern Sie die Datei und beenden Sie den Editor, wenn Sie fertig sind.

Führen Sie schließlich den folgenden Befehl aus, um die Datei http_fping.tt zu kompilieren und zu SELinux hinzuzufügen.

checkmodule -M -m -o http_fping.mod http_fping.tt  
semodule_package -o http_fping.pp -m http_fping.mod  
semodule -i http_fping.pp

Firewalld konfigurieren

Nachdem Sie SELinux eingerichtet haben, richten Sie firewalld ein, um sowohl HTTP- als auch HTTPS-Protokolle zu öffnen.

Führen Sie die firewall-cmd-Befehle unten aus, um die HTTP- und HTTPS-Ports zu öffnen, und laden Sie dann firewalld neu, um die Änderungen anzuwenden.

sudo firewall-cmd --add-service={http,https} --permanent  
sudo firewall-cmd --reload

Überprüfen Sie nun die Liste der firewalld-Regeln mit dem folgenden Befehl. Wenn erfolgreich, sollten Sie sowohl HTTP- als auch HTTPS-Protokolle in der Regelübersicht sehen.

sudo firewall-cmd --list-all

configure firewalld

SNMP-Dienst konfigurieren

SNMP oder Simple Network Management Protocol ist ein Protokoll, das am häufigsten von Netzwerkgeräten wie Modems, Switches und Routern verwendet wird. In diesem Abschnitt richten Sie den snmpd-Dienst auf Ihrer LibreNMS-Installation ein, der zur Überwachung von Netzwerkgeräten verwendet wird.

Kopieren Sie die Standard-SNMP-Konfiguration nach /etc/snmp/snmpd.conf und öffnen Sie sie mit dem folgenden Nano-Editor-Befehl.

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

Ändern Sie das Standard-SNMP-Passwort RANDOMSTRINGGOESHERE in das neue Passwort.

# Ändern Sie RANDOMSTRINGGOESHERE in Ihre bevorzugte SNMP-Community-Zeichenfolge  
com2sec readonly  default        RANDOMSTRINGGOESHERE

Speichern Sie die Datei und schließen Sie den Editor, wenn Sie fertig sind.

Laden Sie als Nächstes die Binärdatei des LibreNMS-Agenten-Tools zum Erkennen von Linux- und UNIX-Betriebssystemen herunter und machen Sie sie ausführbar.

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

configure snmpd

Starten und aktivieren Sie nun den snmpd-Dienst mit dem folgenden Befehl.

sudo systemctl start snmpd  
sudo systemctl enable snmpd

Überprüfen Sie schließlich den snmpd-Dienst mit dem systemctl-Befehl unten.

sudo systemctl status snmpd

Wenn der snmpd-Dienst läuft, sollten Sie eine Ausgabe wie ‘active (running)‘ erhalten.

verify snmpd

Zusätzliche LibreNMS-Einstellungen

Der folgende Abschnitt enthält einige zusätzliche Konfigurationen für LibreNMS. Sie werden die folgende Konfiguration einrichten:

  • Richten Sie den Binärbefehl von LibreNMS ‘lnms’ und dessen bash_completion ein.
  • Richten Sie cron für die LibreNMS-Abfrage ein.
  • Richten Sie den LibreNMS-Planer über den systemd-Timer ein.
  • Richten Sie logrotate für die LibreNMS-Protokolle ein.

Zuerst erstellen Sie einen Symlink für den LibreNMS-Befehlszeilenbefehl lnms nach /usr/bin/lnms. Kopieren Sie dann die Bash-Vervollständigung für den lnms-Befehl in das Verzeichnis /etc/bash_completion.d/.

sudo ln -s /opt/librenms/lnms /usr/bin/lnms  
sudo cp /opt/librenms/misc/lnms-completion.bash /etc/bash_completion.d/

Melden Sie sich nun als Benutzer librenms an und führen Sie den lnms-Befehl aus, und drücken Sie dann TAB, um die Liste der verfügbaren Parameter des lnms-Befehls zu erhalten.

su - librenms  
lnms TAB

Eine ähnliche Ausgabe wie diese wird in Ihrem Terminal angezeigt.

lnms command completion

Führen Sie als Nächstes den folgenden Befehl aus, um die LibreNMS-Cron-Konfiguration nach /etc/cron.d/librenms zu kopieren.

cp /opt/librenms/dist/librenms.cron /etc/cron.d/librenms

Kopieren Sie dann die logrotate-Konfiguration für LibreNMS mit dem folgenden Befehl.

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

Kopieren Sie danach den LibreNMS-Planungsdienst und den Timer in das Verzeichnis /etc/systemd/system/ und laden Sie den systemd-Manager neu, um die Änderungen anzuwenden.

sudo cp /opt/librenms/dist/librenms-scheduler.service /opt/librenms/dist/librenms-scheduler.timer /etc/systemd/system/  
sudo systemctl daemon-reload

Starten und aktivieren Sie schließlich den LibreNMS-Planungsdienst.

sudo systemctl enable librenms-scheduler.timer  
sudo systemctl start librenms-scheduler.timer

additional librenms configuration

Nginx konfigurieren

Nachdem alle Konfigurationen abgeschlossen sind, richten Sie nun den Nginx-Serverblock für LibreNMS ein.

Erstellen Sie eine neue Nginx-Serverblockkonfiguration /etc/nginx/conf.d/librenms.conf mit dem folgenden Nano-Editor-Befehl.

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

Fügen Sie die folgende Konfiguration ein und stellen Sie sicher, dass Sie den Domainnamen in der Option server_name ändern.

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

Speichern Sie die Datei und beenden Sie den Editor, wenn Sie fertig sind.

Führen Sie den folgenden Befehl aus, um die Nginx-Konfiguration zu überprüfen. Wenn erfolgreich, sollten Sie eine Ausgabe wie ‘test is successful - syntax is ok‘ sehen.

sudo nginx -t

Starten und aktivieren Sie den Nginx-Dienst mit dem folgenden Befehl.

sudo systemctl start nginx  
sudo systemctl enable nginx

configure nginx

Geben Sie dann den folgenden Befehl ein, um den Status des Nginx-Dienstes zu überprüfen und sicherzustellen, dass der Dienst läuft.

sudo systemctl status nginx

Wenn erfolgreich, sollten Sie die folgende Ausgabe erhalten:

verify nginx

Installation von LibreNMS über den Webbrowser

Nachdem Sie die Nginx-Serverblockkonfiguration erstellt haben, sind Sie bereit, die LibreNMS-Installation über den Webbrowser zu starten.

Starten Sie Ihren Webbrowser und besuchen Sie den Domainnamen Ihrer LibreNMS-Installation, d.h. http://librenms.howtoforge.local.

Auf der ersten Seite wird LibreNMS Ihre aktuelle Umgebung überprüfen und verifizieren. Stellen Sie sicher, dass Sie die Voraussetzungenprüfung bestehen, und klicken Sie dann auf das Datenbank-Symbol, um fortzufahren.

librenms system checks

Geben Sie nun die Datenbankdetails ein, die Sie erstellt haben, und klicken Sie auf Check Credentials.

setup database

Klicken Sie dann auf Build Database, um die LibreNMS-Datenbank zu migrieren.

build the database

Klicken Sie als Nächstes auf das Schlüssel-Symbol, um den Admin-Benutzer und das Passwort für LibreNMS einzurichten. Geben Sie die Details des Admin-Benutzers, das Passwort und die E-Mail-Adresse ein und klicken Sie auf Benutzer hinzufügen.

setup admin user

Klicken Sie nun auf Installation abschließen, um die LibreNMS-Installation abzuschließen.

complete the installation

Sobald die LibreNMS-Installation abgeschlossen ist, werden Sie zur Anmeldeseite von LibreNMS weitergeleitet. Geben Sie Ihren Admin-Benutzer und Ihr Passwort ein und klicken Sie auf Anmelden.

librenms login page

Wenn erfolgreich, sollten Sie das LibreNMS-Dashboard wie folgt sehen. Sie können das LibreNMS-Dashboard nach Ihren Bedürfnissen erstellen und anpassen.

librenms dashboard

Zuletzt können Sie das Skript validate.php verwenden, um sicherzustellen, dass Sie eine ordnungsgemäße LibreNMS-Konfiguration haben. Führen Sie den folgenden Befehl aus, um sich als Benutzer librenms anzumelden und das Skript validate.php auszuführen.

su - librenms  
./validate.php

Wenn Sie eine ordnungsgemäße LibreNMS-Konfiguration haben, sollte alles den Status OK haben, wie folgt:

validate LibreNMS installation

Fazit

Herzlichen Glückwunsch, Sie haben jetzt erfolgreich das LibreNMS-Überwachungstool auf AlmaLinux 9 installiert. Sie haben LibreNMS mit dem MariaDB-Datenbankserver und dem Nginx-Webserver installiert und konfiguriert. Und auch SELinux und firewalld für LibreNMS konfiguriert.

Darüber hinaus besuchen Sie die LibreNMS-Dokumentation, um neue Hosts oder Geräte hinzuzufügen, die überwacht werden sollen.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.