Ü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.rpmEinige der Abhängigkeiten sind im EPEL-Repository verfügbar, daher müssen Sie EPEL zu Ihrem System hinzufügen.

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

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
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 unzipSobald die Installation abgeschlossen ist, fahren Sie mit dem nächsten Schritt fort.

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
Öffnen Sie dann die Datei /etc/php.ini mit dem folgenden Nano-Editor.
sudo nano /etc/php.iniKommentieren Sie den Parameter date.timezone aus und ändern Sie den Wert in die richtige Zeitzone wie folgt:
date.timezone=Europe/StockholmSpeichern 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.sockSpeichern 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-fpmWenn er läuft, wird die folgende Ausgabe in Ihrem Terminal angezeigt:

Darüber hinaus können Sie auch die PHP-FPM-Sockdatei für LibreNMS mit dem folgenden Befehl überprüfen.
ss -pl | grep php-fpmWenn 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.cnfFügen Sie die folgenden Konfigurationen unter dem Abschnitt ‘[mysqld]‘ ein.
innodb_file_per_table=1
lower_case_table_names=0Speichern 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 mariadbFühren Sie als Nächstes den folgenden Befehl aus, um Ihre MariaDB-Serverinstallation zu sichern.
sudo mariadb-secure-installationSie 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 -pFü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;
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';
exitDie angezeigte Ausgabe zeigt Ihnen, dass der Benutzer librenms auf die Datenbank librenms zugreifen kann.

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
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
pwdFü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
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-utilsFü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/.envErstellen Sie nun eine neue Datei http_fping.tt mit dem folgenden Nano-Editor-Befehl.
sudo nano http_fping.ttFü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.ppFirewalld 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
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 RANDOMSTRINGGOESHERESpeichern 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
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 snmpdWenn der snmpd-Dienst läuft, sollten Sie eine Ausgabe wie ‘active (running)‘ erhalten.

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 TABEine ähnliche Ausgabe wie diese wird in Ihrem Terminal angezeigt.

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/librenmsKopieren Sie dann die logrotate-Konfiguration für LibreNMS mit dem folgenden Befehl.
sudo cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenmsKopieren 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-reloadStarten und aktivieren Sie schließlich den LibreNMS-Planungsdienst.
sudo systemctl enable librenms-scheduler.timer
sudo systemctl start librenms-scheduler.timer
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.confFü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 -tStarten und aktivieren Sie den Nginx-Dienst mit dem folgenden Befehl.
sudo systemctl start nginx
sudo systemctl enable 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 nginxWenn erfolgreich, sollten Sie die folgende Ausgabe erhalten:

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.

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

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

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.

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

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.

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

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.phpWenn Sie eine ordnungsgemäße LibreNMS-Konfiguration haben, sollte alles den Status OK haben, wie folgt:

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.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.