LibreNMS ist ein Open-Source-Netzwerküberwachungstool mit automatischer Erkennung für Server und Netzwerkhardware. Es unterstützt eine breite Palette von Netzwerkhardware wie Cisco, Juniper, Brocade, Foundry, HP und Betriebssysteme einschließlich Linux und Windows. LibraNMS ist ein Community-basierter Fork des Netzwerküberwachungstools „Observium“, veröffentlicht unter GPLv3.
Hier bei LinuxAPT helfen wir unseren Kunden im Rahmen unserer Serververwaltungsdienste regelmäßig bei der Durchführung verwandter Anfragen zur Installation der Linux-Systemsoftware.
In diesem Zusammenhang werden wir untersuchen, wie LibreNMS auf Ubuntu 20.04 LTS installiert wird.
Schritte zur Installation von LibreNMS auf Ubuntu 20.04 LTS Focal Fossa
1. Systemaktualisierung durchführen
Stellen Sie zunächst sicher, dass alle Ihre Systempakete auf dem neuesten Stand sind, indem Sie die folgenden apt-Befehle im Terminal ausführen:
$ sudo apt update
$ sudo apt upgrade
2. Nginx auf dem System installieren
Nginx ist ein Hochleistungs-Webserver und heutzutage sehr beliebt. Es kann auch als Reverse-Proxy und Caching-Server verwendet werden. Führen Sie den folgenden Befehl im Terminal aus, um den Nginx-Webserver zu installieren:
$ sudo apt install nginx
Überprüfen Sie nach der Installation, ob der Nginx-Dienst ausgeführt wird:
$ sudo systemctl start nginx
$ sudo systemctl status nginx
Wenn Sie jetzt Ihre UFW-Firewall ausführen, müssen Sie Verbindungen zu Nginx zulassen:
$ sudo ufw allow OpenSSH
$ sudo ufw allow 'Nginx Full'
Überprüfen Sie als Nächstes den Firewall-Status:
$ sudo ufw status
Die Ausgabe, die Sie erhalten, ist unten angegeben:
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Nginx Full ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx Full (v6) ALLOW Anywhere (v6)
3. Installieren Sie MariaDB auf dem System
MariaDB ist ein Drop-in-Ersatz für MySQL. Es wird von ehemaligen Mitgliedern des MySQL-Teams entwickelt, die befürchten, dass Oracle MySQL zu einem Closed-Source-Produkt machen könnte.
Führen Sie den folgenden Befehl aus, um MariaDB zu installieren:
$ sudo apt install mariadb-server mariadb-client
Sobald Sie fertig sind, können Sie überprüfen, ob MariaDB installiert ist, indem Sie den folgenden Befehl ausführen:
$ sudo systemctl status mariadb
Standardmäßig ist MariaDB nicht gehärtet. Sie können MariaDB mit dem Skript mysql_secure_installation sichern. Sie sollten jeden Schritt sorgfältig lesen und befolgen, der ein Root-Passwort festlegt, anonyme Benutzer entfernt, Remote-Root-Login verbietet und die Testdatenbank und den Zugriff auf die sichere MariaDB entfernt:
$ mysql_secure_installation
Konfigurieren Sie es dann wie folgt:
- 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
Um sich bei MariaDB anzumelden, verwenden Sie den folgenden Befehl (beachten Sie, dass es derselbe Befehl ist, den Sie verwenden würden, um sich bei einer MariaDB-Datenbank anzumelden):
$ mysql -u root -p
4. PHP auf dem System installieren
Im Gegensatz zu Apache enthält Nginx keine native PHP-Verarbeitung. Dazu müssen wir PHP-FPM (FastCGI Process Manager) installieren.
Führen Sie den folgenden Befehl aus, um PHP7.4 und einige gängige Erweiterungen zu installieren:
$ sudo apt install php7.4 php7.4-fpm php7.4-mysql php-common php7.4-cli php7.4-common php7.4-json php7.4-opcache php7.4-readline php7.4-mbstring php7.4-xml php7.4-gd php7.4-curl
Überprüfen Sie nach der Installation die PHP-Version:
$ php --version
5. Installieren Sie LibreNMS auf dem System
Sie können die für LibreNMS erforderlichen Pakete installieren:
$ sudo install apt install curl composer fping git graphviz imagemagick rrdtool snmp snmpd whois unzip python python3-pip
Jetzt holen wir uns die LibreNMS-Quelle aus dem GitHub-Repository:
$ cd /opt
$ git clone https://github.com/librenms/librenms.git
Erstellen Sie als Nächstes einen Benutzer, der LibreNMS verwaltet, und fügen Sie Nginx zur LibreNMS-Gruppe hinzu:
$ useradd librenms -d /opt/librenms -M -r
$ usermod -a -G librenms www-data
Wir müssen einige Ordnerberechtigungen ändern:
$ chown -R librenms:librenms /opt/librenms
$ chmod 770 /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/
Danach erhalten wir ein PHP-Skript, das die Composer-Abhängigkeiten installiert. Um das auszuführen, verwenden wir den folgenden Befehl. Um dieses Skript auszuführen, müssen wir zum LibreNMS-Benutzer wechseln:
$ su - librenms
$ cd /opt/librenms
$./scripts/composer_wrapper.php install --no-dev
$ exit
6. MariaDB für LibreNMS konfigurieren
Hier müssen wir uns bei der MariaDB-Konsole anmelden und eine Datenbank für LibreNMS erstellen. Führen Sie den folgenden Befehl aus:
$ mysql -u root -p
Dadurch werden Sie zur Eingabe eines Passworts aufgefordert. Geben Sie also Ihr MariaDB-Root-Passwort ein und drücken Sie die Eingabetaste. Sobald Sie sich bei Ihrem Datenbankserver angemeldet haben, müssen Sie eine Datenbank für die Installation von LibreNMS erstellen:
MariaDB [(none)]> CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_unicode_ci;
MariaDB [(none)]> CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'YOUR-PASSWD';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit
Öffnen Sie anschließend die MariaDB-Konfigurationsdatei und fügen Sie die folgenden Zeilen im Abschnitt [mysqld] hinzu:
$ nano /etc/mysql/mariadb.conf.d/50-server.cnf
Im Abschnitt [mysqld] fügen Sie bitte hinzu:
innodb_file_per_table=1
lower_case_table_names=0
Starten Sie dann MariaDB neu, damit die Änderungen wirksam werden:
$ sudo systemctl restart mariadb
7. Nginx für LibreNMS konfigurieren
Erstellen Sie die VirtualHost-Definition für Nginx, die von LibreNMS verwendet werden soll:
$ nano /etc/nginx/conf.d/librenms.conf
Fügen Sie der Konfigurationsdatei Folgendes hinzu:
server {
listen 80;
server_name librenms.linuxapt.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 /api/v0 {
try_files $uri $uri/ /api_v0.php?$query_string;
}
location ~ \.php {
include fastcgi.conf;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
Jetzt können wir den Nginx-Webserver neu starten, damit die Änderungen wirksam werden:
$ sudo systemctl restart nginx
8. Firewall konfigurieren
Lassen Sie Nginx durch die Firewall, damit der Benutzer von einem externen Computer aus auf das LibreNMS-Portal zugreifen kann:
$ ufw allow 80/tcp
$ ufw allow 443/tcp
$ ufw reload
Wie greife ich auf die LibreNMS-Webschnittstelle zu?
LibreNMS ist standardmäßig auf HTTP-Port 80 verfügbar.
Öffnen Sie Ihren bevorzugten Browser und navigieren Sie zu http://your-domain.com/ oder http://server-ip-address/ und führen Sie die erforderlichen Schritte aus, um die Installation abzuschließen.
Sie können auch die folgenden Aktionen ausführen:
- Klicken Sie auf Datenbank.
- Geben Sie den Datenbanknamen, den Benutzernamen und das Passwort an.
- Klicken Sie auf Anmeldeinformationen prüfen.
- Klicken Sie auf Datenbank erstellen.
- Sobald der Build abgeschlossen ist.
- Klicken Sie auf Benutzer hinzufügen.
- Geben Sie einen Benutzernamen, ein Passwort und eine E-Mail-Adresse an.
- Klicken Sie auf Benutzer hinzufügen.
- Sobald der Benutzer erfolgreich hinzugefügt wurde.
- Klicken Sie auf die folgende Prüfsumme.
- Klicken Sie auf Installationsoption validieren.
- Geben Sie den Benutzernamen und das Passwort ein.
- Klicken Sie auf Anmelden.