Installation LibreNMS · 14 min read · Nov 16, 2025

Comment installer la solution de surveillance LibreNMS sur Rocky Linux

LibreNMS est un outil de surveillance qui prend en charge la découverte automatique avec plusieurs protocoles, y compris SNMP, ARP, OSPF et BGP. Pour surveiller les systèmes d’exploitation, vous pouvez utiliser le protocole SNMP, qui est disponible sur la plupart des systèmes d’exploitation, y compris Linux, Windows et BSD.

Il existe trois versions du protocole SNMP, v1 et v2 qui sont sécurisées uniquement par un mot de passe communautaire, et le protocole v3 qui prend en charge les mots de passe pour l’authentification et le chiffrement. Pour l’environnement de production, il est recommandé d’utiliser le protocole SNMP v3, qui est plus sécurisé que v2 et v1.

Dans ce guide, vous apprendrez comment installer l’outil de surveillance LibreNMS sur le serveur Rocky Linux. Ce guide comprend l’installation de la pile LEMP (Nginx, MariaDB et PHP-FPM) et la configuration de base du service SNMP.

À la fin, vous disposerez de la solution de surveillance prête pour la production LibreNMS et vous pourrez simplement ajouter un nouvel hôte, serveur ou appareil à surveiller avec LibreNMS.

Prérequis

Pour compléter ce guide, vous aurez besoin des éléments suivants :

  • Un serveur Rocky Linux - Cet exemple utilise Rocky Linux 8.
  • Un utilisateur non-root avec des privilèges sudo root/administrateur.
  • Un nom de domaine local pour le déploiement local.

Configuration des dépôts

Avant de commencer à installer des paquets, vous allez maintenant configurer les dépôts sur votre système Rocky Linux. Vous devrez ajouter le dépôt EPEL (Extra Packages for Enterprise Linux) et le dépôt PHP Remi.

Exécutez la commande dnf suivante pour ajouter le dépôt EPEL à votre système.

sudo dnf install epel-release

Entrez Y lorsque vous y êtes invité pour la confirmation et appuyez sur ENTRER pour continuer.

install epel

Ensuite, exécutez la commande dnf suivante pour ajouter le dépôt PHP Remi. Ce dépôt fournit plusieurs versions de PHP, y compris la dernière version PHP 8.1 qui est requise pour l’installation de LibreNMS.

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm

Maintenant, entrez Y et appuyez sur ENTRER pour continuer.

add remi repo

Après avoir ajouté les dépôts EPEL et Remi, vérifiez en utilisant la commande dnf ci-dessous.

sudo dnf repolist

Vous devriez voir que le dépôt EPEL et le dépôt Remi ont été ajoutés et sont disponibles sur votre système Rocky Linux.

Installation des dépendances de paquets

Après avoir ajouté les dépôts EPEL et Remi, vous allez maintenant commencer à installer les dépendances de paquets pour LibreNMS. Cela inclut la pile LEMP, les paquets SNMP et quelques dépendances Python de base.

Avant de commencer l’installation, exécutez la commande suivante pour activer le module de dépôt PHP ‘remi-8.1‘. La dernière version de LibreNMS nécessite au moins PHP 8.

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

Entrez y pour confirmer et activer le dépôt PHP Remi 8.1.

reset php modules

Ensuite, exécutez la commande dnf suivante pour installer les dépendances de paquets pour LibreNMS. Lorsque vous êtes invité à confirmer l’installation, entrez y et appuyez sur ENTRER pour continuer, et l’installation commencera.

sudo dnf install 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-devel python3-redis python3-memcached python3-pip python3-systemd rrdtool unzip

install dependencies

Après l’installation des dépendances, exécutez la commande suivante pour démarrer et activer certains services tels que Nginx, MariaDB, PHP-FPM et snmpd.

sudo systemctl enable nginx php-fpm mariadb snmpd  
sudo systemctl start nginx php-fpm mariadb snmpd

À ce stade, certains services de base Nginx, MariaDB, PHP-FPM et le snmpd seront démarrés automatiquement au démarrage du système. Et tous ces services sont en cours d’exécution.

start enable services

Configuration de Firewalld

Pour cet exemple, nous utilisons Rocky Linux avec firewalld activé. Vous allez maintenant ajouter les protocoles HTTP et HTTPS au firewalld.

Exécutez la commande firewall-cmd suivante pour ajouter les services HTTP et HTTPS au firewalld. Vous devriez obtenir le message de sortie ‘success‘ ce qui signifie que la nouvelle règle a été ajoutée.

sudo firewall-cmd --permanent --zone public --add-service http  
sudo firewall-cmd --permanent --zone public --add-service https

Ensuite, rechargez le firewalld pour appliquer les nouvelles modifications. Ensuite, vérifiez l’état du firewalld en utilisant la commande suivante.

sudo firewall-cmd --reload  
sudo firewall-cmd --list-all

Vous recevrez la sortie des protocoles HTTP et HTTPS ajoutés au firewalld.

setup firewalld

Téléchargement du code source de LibreNMS

Dans cette étape, vous allez télécharger le code source de LibreNMS depuis GitHub. Mais avant cela, vous allez également créer un nouvel utilisateur dédié ‘librenms‘ qui sera utilisé pour exécuter l’application LibreNMS.

Exécutez la commande suivante pour créer un nouvel utilisateur système ‘librenms’. Cet utilisateur sera utilisé pour exécuter l’application LibreNMS.

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

Maintenant, déplacez votre répertoire de travail vers ‘/opt’ et téléchargez le code source de LibreNMS via la commande git ci-dessous. Vous devriez maintenant obtenir un nouveau répertoire ‘/opt/librenms‘, qui sera utilisé comme répertoire d’installation de LibreNMS.

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

download librenms

Changez la propriété et les permissions du répertoire d’installation de LibreNMS ‘/opt/librenms‘. La propriété de l’installation doit être l’utilisateur ‘librenms’, et également la permission 771 permettra à l’utilisateur de lire, écrire et exécuter dans le répertoire.

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

Enfin, exécutez la commande suivante pour définir les listes de contrôle d’accès pour certains des répertoires de LibreNMS. Cela accordera au groupe ‘librenms‘ le droit de lire, écrire et exécuter sur certains répertoires spécifiques de LibreNMS.

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/

Installation des dépendances PHP pour LibreNMS

Après avoir téléchargé le code source de LibreNMS et configuré les permissions correctes, vous allez maintenant installer les dépendances PHP pour LibreNMS.

Connectez-vous en tant qu’utilisateur ‘librenms’ en utilisant la commande suivante.

su - librenms

Maintenant, installez les dépendances PHP via le script d’installation comme ci-dessous.

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

Vous verrez maintenant l’installation des dépendances PHP requises pour LibreNMS. Vous verrez également l’installation des paquets Python pour LibreNMS.

install dependencies

Après que l’installation des dépendances PHP soit terminée, vous pouvez maintenant quitter l’utilisateur ‘librenms‘ en appuyant sur ‘Ctrl+d‘ ou vous pouvez taper la commande ‘exit‘.

Configuration de PHP-FPM

Dans cette étape, vous allez configurer votre installation PHP-FPM pour LibreNMS. Vous allez modifier la configuration par défaut ‘/etc/php.ini‘ et configurer un pool PHP-FPM spécifique pour LibreNMS.

Exécutez la commande suivante pour définir le fuseau horaire correct pour votre système Rocky Linux.

sudo timedatectl set-timezone Europe/Stockholm

Maintenant, éditez la configuration PHP ‘/etc/php.ini‘ en utilisant l’éditeur nano suivant.

sudo nano /etc/php.ini

Décommentez l’option ‘date.timezone’ et changez la valeur avec votre fuseau horaire actuel du serveur.

date.timezone = Europe/Stockholm

Enregistrez le fichier et fermez l’éditeur lorsque vous avez terminé.

Ensuite, copiez la configuration par défaut du pool PHP-FPM ‘www.conf‘ vers ‘librenms.conf‘. Dans cet exemple, vous allez configurer le pool PHP-FPM spécifique pour l’outil de surveillance LibreNMS.

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

Maintenant, éditez la configuration du pool PHP-FPM ‘/etc/php-fpm.d/librenms.conf‘ en utilisant l’éditeur nano suivant.

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

Changez le nom du pool par défaut de ‘[www]‘ à ‘[librenms]‘.

[librenms]

Changez l’utilisateur et le groupe par défaut en ‘librenms‘. Cela exécutera le processus PHP-FPM en tant qu’utilisateur et groupe ‘librenms‘.

user = librenms  
group = librenms

Enfin, changez l’option listen en ‘/run/php-fpm-librenms.sock’. Cela spécifiera le fichier sock pour le pool PHP-FPM librenms.

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

Enregistrez le fichier et quittez l’éditeur lorsque vous avez terminé.

Maintenant, exécutez la commande systemctl suivante pour redémarrer le service PHP-FPM et appliquer les nouvelles modifications.

sudo systemctl restart php-fpm

setup php-fpm

Configuration du serveur MariaDB

Après avoir configuré PHP-FPM, vous allez maintenant configurer le serveur de base de données MariaDB et créer une nouvelle base de données et un nouvel utilisateur pour LibreNMS.

LibreNMS nécessite le serveur de base de données MariaDB avec InnoDB activé. Vous devrez donc l’activer. Ensuite, vous allez créer une nouvelle base de données et un nouvel utilisateur pour LibreNMS.

Éditez la configuration du serveur MariaDB ‘/etc/my.cnf.d/mariadb-server.cnf’ en utilisant l’éditeur nano suivant.

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

Mettez la configuration suivante sous la section ‘[mysqld]‘.

[mysqld]  
....  
innodb_file_per_table=1  
lower_case_table_names=0

Enregistrez le fichier et quittez l’éditeur lorsque vous avez terminé.

Maintenant, exécutez la commande systemctl suivante pour redémarrer le service MariaDB et appliquer les nouvelles modifications. Le serveur MariaDB fonctionne maintenant avec le moteur de base de données InnoDB activé.

sudo systemctl restart mariadb

Ensuite, connectez-vous à l’interface de commande de MariaDB via la commande mysql ci-dessous. Lorsque vous êtes invité à entrer le mot de passe, vous pouvez simplement appuyer sur ENTRER ou taper le mot de passe root de MariaDB.

sudo mysql -u root -p

Exécutez les requêtes suivantes pour créer une nouvelle base de données et un nouvel utilisateur pour LibreNMS. Dans cet exemple, vous allez créer une nouvelle base de données et un utilisateur ‘librenms‘, et assurez-vous de changer le mot de passe de la base de données avec votre mot de passe.

CREATE DATABASE librenms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;  
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'password';  
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';  
FLUSH PRIVILEGES;

create database and user

Ensuite, exécutez la requête suivante pour vérifier les privilèges pour l’utilisateur de base de données ‘librenms@localhost‘.

SHOW GRANTS FOR librenms@localhost;

Vous devriez voir que l’utilisateur ‘librenms’@localhost a des privilèges sur la base de données ‘librenms‘.

check privileges

Maintenant, tapez ‘exit‘ pour vous déconnecter de l’interface de commande de MariaDB.

Configuration des blocs de serveur Nginx

Après avoir configuré le serveur MariaDB et créé la base de données et l’utilisateur, vous allez maintenant créer une nouvelle configuration de bloc de serveur Nginx pour LibreNMS.

Avant de commencer, assurez-vous d’avoir décidé du domaine local qui sera utilisé pour LibreNMS. Dans cet exemple, LibreNMS devrait fonctionner avec le domaine ‘librenms.howtoforge.local‘.

Créez une nouvelle configuration de blocs de serveur Nginx ‘/etc/nginx/conf.d/librenms.conf‘ en utilisant l’éditeur nano suivant.

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

Ajoutez la configuration suivante au fichier et assurez-vous de changer le nom de domaine avec votre domaine.

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;  
    }  
}

Enregistrez le fichier et quittez l’éditeur lorsque vous avez terminé.

Ensuite, exécutez la commande suivante pour vérifier la configuration de Nginx et vous assurer que la configuration est correcte.

sudo nginx -t

Si votre configuration Nginx est correcte, vous verrez le message de sortie tel que ‘test successful - Syntax OK‘.

Maintenant, redémarrez le service Nginx pour appliquer la nouvelle configuration de bloc de serveur.

sudo systemctl restart nginx

setup nginx

À ce stade, vous avez terminé la configuration de la pile LEMP (Nginx, base de données MariaDB et PHP-FPM) pour LibreNMS. De plus, LibreNMS devrait maintenant fonctionner sur votre système Rocky Linux.

Configuration de SELinux

Pour ce guide, vous allez exécuter LibreNMS avec SELinux activé en mode enforcing. Vous allez donc maintenant configurer les règles SELinux pour LibreNMS.

Pour commencer, exécutez la commande dnf suivante pour installer le paquet ‘policycoreutils-python-utils‘ sur votre système Rocky Linux. Ce paquet fournit plusieurs lignes de commande pour gérer SELinux.

sudo dnf install policycoreutils-python-utils

Lorsque vous y êtes invité, entrez y pour confirmer et appuyez sur ENTRER pour continuer.

install SELinux management tool

Ensuite, exécutez la commande suivante pour configurer les étiquettes pour le code source de LibreNMS.

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  
chcon -t httpd_sys_rw_content_t /opt/librenms/.env

setup selinux labelling

Exécutez la commande suivante pour autoriser l’accès à certains services pour le serveur web Nginx.

setsebool -P httpd_can_sendmail=1  
setsebool -P httpd_execmem 1

Maintenant, créez un nouveau fichier ‘http_fping.tt’ en utilisant l’éditeur nano suivant.

nano http_fping.tt

Ajoutez la configuration suivante au fichier.

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 };

Enregistrez le fichier et quittez l’éditeur lorsque vous avez terminé.

Ensuite, exécutez la commande suivante pour convertir le ‘http_fping.tt‘ au format pour SELinux. Ensuite, ajoutez la nouvelle règle compilée à SELinux.

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

setup selinux

Maintenant que vous avez terminé la configuration de SELinux pour LibreNMS. Ensuite, vous allez configurer quelques configurations supplémentaires pour LibreNMS.

Finalisation des configurations de LibreNMS

Pour terminer la configuration de LibreNMS, vous allez maintenant configurer la ligne de commande ‘lnms‘, copier certaines configurations par défaut de LibreNMS, y compris les configurations pour cron et logrotate. De plus, vous allez configurer le service SNMP pour LibreNMS.

Exécutez la commande suivante pour activer la ligne de commande ‘lnms‘ et copier l’achèvement bash de la commande ‘lnms‘.

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

Copiez la configuration d’exemple du cron de LibreNMS dans ‘/etc/cron.d/librenms‘.

sudo cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms

Copiez la configuration par défaut de logrotate pour LibreNMS dans ‘/etc/logrotate.d/librenms‘.

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

finishing librenms

Maintenant, copiez la configuration par défaut du service snmpd dans ‘/etc/snmp/snmpd.conf’. Ensuite, éditez le nouveau fichier ‘/etc/snmp/snmpd.conf’ en utilisant l’éditeur nano.

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

Changez le mot de passe communautaire par défaut pour le service snmpd ‘RANDOMSTRINGGOESHERE‘ avec votre mot de passe.

# Change RANDOMSTRINGGOESHERE to your preferred SNMP community string  
com2sec readonly  default         RANDOMSTRINGGOESHERE

Enregistrez le fichier et quittez l’éditeur lorsque vous avez terminé.

Ensuite, téléchargez le fichier binaire qui sera utilisé par LibreNMS pour détecter automatiquement le système d’exploitation de chaque hôte cible. Ensuite, rendez-le exécutable en changeant la permission par défaut.

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

Enfin, redémarrez le service snmpd pour appliquer les nouvelles modifications et configurations.

systemctl restart snmpd

Maintenant que toutes les configurations de base sont terminées. Ensuite, vous allez commencer l’installation de LibreNMS via le navigateur web.

Accéder à l’installation web de LibreNMS

Sur votre machine locale, éditez le fichier ‘/etc/hosts’ et définissez le nom de domaine local de votre installation LibreNMS. Assurez-vous également de changer l’adresse IP avec l’adresse IP de votre serveur.

192.168.5.100   librenms.howtoforge.local

Maintenant, ouvrez le navigateur web et visitez le nom de domaine de votre installation LibreNMS (c’est-à-dire : http://librenms.howtoforge.local/).

Au début, l’installateur de LibreNMS vérifiera les environnements pour l’installation. Assurez-vous que toutes les exigences sont marquées en vert, ce qui signifie que le système est prêt pour l’installation de LibreNMS.

Cliquez sur l’icône de base de données pour continuer.

pre install setup database

Maintenant, saisissez les détails de la base de données et de l’utilisateur pour votre LibreNMS et cliquez sur ‘Check Credentials‘. Si vos informations d’identification de base de données sont correctes, la section sera marquée en vert.

check database

Maintenant, cliquez sur ‘Build Database‘ pour commencer la migration de la base de données pour LibreNMS.

build database

Après que la migration de la base de données soit terminée, vous verrez la section ‘Build Database‘ marquée en vert.

Cliquez sur l’icône de clé pour commencer à configurer l’utilisateur admin pour LibreNMS.

build database

Maintenant, saisissez le nouvel utilisateur admin, le mot de passe et l’adresse e-mail pour votre installation LibreNMS et cliquez sur ‘Add User‘.

setup user

Maintenant, l’installation est terminée et vous verrez la page suivante. Vous pouvez voir que l’installation est terminée et que les configurations sont écrites dans le fichier ‘.env‘.

installation completes

Maintenant, cliquez sur le lien ‘validate your install‘ pour vérifier l’installation de LibreNMS.

Vous devriez maintenant être redirigé vers la page de connexion de LibreNMS. Saisissez votre utilisateur admin et votre mot de passe, puis cliquez sur ‘Login‘.

login librenms

Maintenant, assurez-vous que toutes les configurations sont marquées comme ‘OK‘, ce qui signifie que la configuration n’a pas d’erreur.

Vous pouvez également corriger toutes les erreurs ou avertissements en suivant les instructions recommandées par LibreNMS.

validate instakllation librenms

Vous pouvez maintenant ajouter un nouvel hôte cible, une machine virtuelle ou un appareil réseau pour surveiller la solution de surveillance LibreNMS.

Conclusion

Félicitations ! Vous avez installé la solution de surveillance LibreNMS sur le serveur Rocky Linux. Vous avez également appris la configuration de base de la pile LEMP (Nginx, MariaDB et PHP-FPM) sur Rocky Linux.

À partir de là, vous pouvez continuer à ajouter un hôte ou une machine cible à surveiller, configurer l’agent LibreNMS, configurer des alertes ou des notifications, configurer une intégration tierce avec Graylog, et effectuer d’autres tâches.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.