Installation · 13 min read · Nov 06, 2025
Comment installer l'outil de surveillance LibreNMS sur AlmaLinux 9

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, je vais vous montrer comment installer l’outil de surveillance LibreNMS sur votre serveur AlmaLinux 9. Je vais exécuter LibreNMS avec PHP-FPM, le serveur web Nginx et la base de données MariaDB.
Prérequis
Pour compléter ce guide, vous devez disposer des éléments suivants :
- Un serveur AlmaLinux 9 - Cette démo utilise un serveur avec le nom d’hôte almalinux9.
- Un utilisateur non-root avec des privilèges sudo/root.
Installation des dépendances
Tout d’abord, vous allez ajouter les dépôts EPEL et Remi à votre système. Ensuite, installez les dépendances de package pour LibreNMS.
Exécutez la commande dnf suivante pour ajouter le dépôt EPEL et le dépôt PHP Remi à votre système.
sudo dnf install -y epel-release
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpmCertaines des dépendances sont disponibles sur le dépôt EPEL, vous devez donc ajouter EPEL à votre système.

Le dépôt PHP Remi sera utilisé pour installer les packages PHP-FPM.

Maintenant, exécutez la commande suivante pour réinitialiser le module de dépôt par défaut pour PHP. Ensuite, activez le dépôt PHP Remi pour la version PHP 8.1, qui est requise par LibreNMS.
sudo dnf module reset php
sudo dnf module enable php:remi-8.1
Ensuite, exécutez la commande dnf ci-dessous pour installer les dépendances de package pour LibreNMS. Cela inclut PHP-FPM, le serveur web Nginx, le serveur MariaDB, certains packages Python3 et des utilitaires système tels que rrdtool, unzip, ImageMagick, git et 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 unzipUne fois l’installation terminée, passez à l’étape suivante.

Création d’un utilisateur système
Dans cette section, vous allez créer un nouvel utilisateur système appelé librenms qui sera utilisé pour exécuter LibreNMS.
Exécutez la commande suivante pour créer un nouvel utilisateur librenms.
sudo useradd librenms -d /opt/librenms -M -r -s "$(which bash)"Options détaillées :
- -d /opt/librenms : Spécifiez le répertoire personnel pour le nouvel utilisateur à /opt/librenms.
- -M : Ne pas créer de répertoire personnel pour le nouvel utilisateur.
- -r : Définir le nouvel utilisateur comme un utilisateur système.
- -s “$(which bash)” : Spécifiez le shell pour le nouvel utilisateur à bash.
Configuration de PHP-FPM
Dans cette section suivante, vous allez configurer PHP-FPM pour LibreNMS. Vous allez configurer le fuseau horaire approprié sur votre système, puis ajouter un pool PHP-FPM spécifique qui sera utilisé par LibreNMS.
Tout d’abord, exécutez la commande suivante pour configurer le fuseau horaire sur votre serveur.
sudo timedatectl set-timezone Europe/Stockholm
sudo ln -s /usr/share/zoneinfo/Europe/Stockholm /etc/localtime
Ensuite, ouvrez le fichier /etc/php.ini en utilisant l’éditeur nano suivant.
sudo nano /etc/php.iniDécommentez le paramètre date.timezone et changez la valeur avec le fuseau horaire approprié comme ceci :
date.timezone=Europe/StockholmEnregistrez et quittez le fichier lorsque vous avez terminé.
Maintenant, exécutez la commande suivante pour copier la configuration de pool PHP-FPM par défaut vers /etc/php-fpm.d/librenms.conf et ouvrez-la en utilisant l’éditeur nano.
sudo cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/librenms.conf
sudo nano /etc/php-fpm.d/librenms.confChangez le nom du pool PHP-FPM de www à librenms.
[librenms]Changez l’utilisateur et le groupe par défaut en librenms.
user = librenms
group = librenmsChangez le fichier sock par défaut pour le nouveau pool PHP-FPM en /run/php-fpm/librenms.sock.
listen = /run/php-fpm/librenms.sockEnregistrez le fichier et quittez l’éditeur lorsque vous avez terminé.
Maintenant, exécutez la commande suivante pour démarrer et activer le service PHP-FPM.
sudo systemctl start php-fpm
sudo systemctl enable php-fpmEnsuite, vérifiez le service PHP-FPM en utilisant la commande suivante pour vous assurer que le service fonctionne.
sudo systemctl status php-fpmSi le service fonctionne, la sortie suivante sera affichée sur votre terminal :

De plus, vous pouvez également vérifier le fichier sock PHP-FPM pour LibreNMS en utilisant la commande suivante.
ss -pl | grep php-fpmSi votre configuration est réussie, vous devriez recevoir le fichier sock PHP-FPM /run/php-fpm/librenms.sock disponible.
Configuration du serveur MariaDB
Après avoir configuré PHP-FPM, vous allez configurer le serveur MariaDB. Vous allez ajouter une configuration supplémentaire au serveur MariaDB et sécuriser MariaDB via l’utilitaire mariadb-secure-installation.
Ouvrez la configuration par défaut du serveur MariaDB /etc/my.cnf.d/mariadb-server.cnf en utilisant l’éditeur nano suivant.
sudo nano /etc/my.cnf.d/mariadb-server.cnfInsérez les configurations suivantes sous la section ‘[mysqld]‘.
innodb_file_per_table=1
lower_case_table_names=0Enregistrez le fichier et quittez l’éditeur lorsque vous avez terminé.
Maintenant, exécutez la commande suivante pour démarrer et activer le service MariaDB.
sudo systemctl start mariadb
sudo systemctl enable mariadbEnsuite, exécutez la commande suivante pour sécuriser votre installation du serveur MariaDB.
sudo mariadb-secure-installationVous serez interrogé sur certaines configurations ci-dessous :
- Changez la méthode d’authentification pour l’utilisateur root de MariaDB en unix_socket. Entrez n pour Non.
- Configuration du mot de passe root de MariaDB. Entrez y pour confirmer et tapez le nouveau mot de passe root de MariaDB et répétez.
- Désactivez la connexion à distance pour l’utilisateur root de MariaDB. Entrez y pour confirmer.
- Supprimez la base de données par défaut test de MariaDB. Entrez y pour confirmer.
- Supprimez l’utilisateur anonyme de MariaDB. Entrez y pour confirmer.
- Enfin, entrez y à nouveau pour recharger les privilèges de table afin d’appliquer les modifications.
Créer une base de données et un utilisateur MariaDB pour LibreNMS
Avec le serveur MariaDB configuré, vous allez maintenant créer une nouvelle base de données et un utilisateur qui seront utilisés par LibreNMS.
Connectez-vous au serveur MariaDB en utilisant la commande suivante.
sudo mariadb -u root -pExécutez les requêtes suivantes pour créer une nouvelle base de données et un utilisateur pour LibreNMS. Dans cette démo, vous allez créer une nouvelle base de données et un utilisateur librenms avec le mot de passe librenmspassword. De plus, vous devez vous assurer que le caractère par défaut pour la base de données LibreNMS est utf8mb4.
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;
Maintenant, exécutez la requête ci-dessous pour vérifier les privilèges pour le nouvel utilisateur librenms, puis tapez exit pour quitter MariaDB.
SHOW GRANTS FOR 'librenms'@'localhost';
exitLa sortie affichée ci-dessous vous montre que l’utilisateur librenms peut accéder à la base de données librenms.

Télécharger et installer LibreNMS
Dans cette section, vous allez télécharger le code source de LibreNMS, configurer la propriété et les permissions appropriées, puis vous allez installer les dépendances PHP via le script composer_wrapper qui est inclus dans le code source.
Exécutez la commande git ci-dessous pour télécharger le code source de LibreNMS dans le répertoire /opt/librenms.
git clone https://github.com/librenms/librenms.git /opt/librenmsMaintenant, changez la propriété du répertoire /opt/librenms à l’utilisateur librenms et changez la permission à 771.
sudo chown -R librenms:librenms /opt/librenms
sudo chmod 771 /opt/librenms
Après cela, exécutez la commande suivante pour configurer les listes de contrôle d’accès et assurer la permission de lecture, d’écriture et d’exécution pour certains répertoires 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/Ensuite, connectez-vous en tant qu’utilisateur librenms en utilisant la commande suivante. Vous devriez être dans le répertoire /opt/librenms.
su - librenms
pwdExécutez la commande suivante pour installer les dépendances PHP pour LibreNMS. Lorsque l’installation est terminée, tapez exit pour vous déconnecter de l’utilisateur librenms.
./scripts/composer_wrapper.php install --no-dev
exit
Configuration de SELinux
Si vous avez SELinux activé avec le mode enforcing sur votre serveur AlmaLinux 9, vous devez le configurer pour LibreNMS. Dans cette section, vous allez installer le package policycoreutils-python-utils pour configurer SELinux pour LibreNMS.
Exécutez la commande suivante pour installer le package policycoreutils-python-utils.
sudo dnf install -y policycoreutils-python-utilsEnsuite, exécutez la commande suivante pour configurer l’étiquetage pour le code source de LibreNMS, permettre au serveur web d’envoyer un e-mail et d’exécuter des programmes qui nécessitent des adresses mémoire.
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/.envMaintenant, créez un nouveau fichier http_fping.tt en utilisant la commande de l’éditeur nano suivante.
sudo nano http_fping.ttInsérez la configuration suivante dans le fichier. Cela permettra la commande fping via 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 };Enregistrez le fichier et quittez l’éditeur lorsque vous avez terminé.
Enfin, exécutez la commande suivante pour compiler le fichier http_fping.tt et l’ajouter à 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.ppConfiguration de Firewalld
Après avoir configuré SELinux, vous allez configurer firewalld pour ouvrir les protocoles HTTP et HTTPS.
Exécutez les commandes firewall-cmd ci-dessous pour ouvrir les ports HTTP et HTTPS, puis rechargez le firewalld pour appliquer les modifications.
sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reloadMaintenant, vérifiez la liste des règles firewalld en utilisant la commande suivante. Si cela réussit, vous devriez voir les protocoles HTTP et HTTPS dans la liste des règles.
sudo firewall-cmd --list-all
Configurer le service SNMP
SNMP ou Simple Network Management Protocol est un protocole le plus largement utilisé par les dispositifs réseau tels que les modems, les commutateurs et les routeurs. Dans cette section, vous allez configurer le service snmpd sur votre installation LibreNMS qui sera utilisé pour surveiller les dispositifs réseau.
Copiez la configuration SNMP par défaut vers /etc/snmp/snmpd.conf et ouvrez-la en utilisant la commande de l’éditeur nano ci-dessous.
sudo cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
sudo nano /etc/snmp/snmpd.confChangez le mot de passe SNMP par défaut RANDOMSTRINGGOESHERE avec le nouveau mot de passe.
# Change RANDOMSTRINGGOESHERE to your preferred SNMP community string
com2sec readonly default RANDOMSTRINGGOESHEREEnregistrez le fichier et fermez l’éditeur lorsque vous avez terminé.
Ensuite, téléchargez le fichier binaire de l’outil agent LibreNMS pour détecter les systèmes d’exploitation Linux et UNIX et rendez-le exécutable.
sudo curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
sudo chmod +x /usr/bin/distro
Maintenant, démarrez et activez le service snmpd en utilisant la commande suivante.
sudo systemctl start snmpd
sudo systemctl enable snmpdEnfin, vérifiez le service snmpd en utilisant la commande systemctl ci-dessous.
sudo systemctl status snmpdSi le service snmpd fonctionne, vous devriez obtenir une sortie telle que ‘active (running)‘.

Paramètres supplémentaires de LibreNMS
La section suivante contient quelques configurations supplémentaires pour LibreNMS. Vous allez configurer les éléments suivants :
- Configurer la commande binaire de LibreNMS ‘lnms’ et son bash_completion.
- Configurer cron pour le polling de LibreNMS.
- Configurer le planificateur LibreNMS via le minuteur systemd.
- Configurer logrotate pour les journaux de LibreNMS.
Tout d’abord, créez un lien symbolique pour la ligne de commande LibreNMS lnms vers /usr/bin/lnms. Ensuite, copiez la complétion bash pour la commande lnms vers le répertoire /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/Maintenant, connectez-vous en tant qu’utilisateur librenms et exécutez la commande lnms, puis appuyez sur TAB pour obtenir la liste des paramètres disponibles de la commande lnms.
su - librenms
lnms TABUne sortie similaire à celle-ci sera affichée dans votre terminal.

Ensuite, exécutez la commande suivante pour copier la configuration cron de LibreNMS vers /etc/cron.d/librenms.
cp /opt/librenms/dist/librenms.cron /etc/cron.d/librenmsPuis, copiez la configuration logrotate pour LibreNMS en utilisant la commande ci-dessous.
sudo cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenmsAprès cela, copiez le service et le minuteur du planificateur LibreNMS vers le répertoire /etc/systemd/system/ et rechargez le gestionnaire systemd pour appliquer les modifications.
sudo cp /opt/librenms/dist/librenms-scheduler.service /opt/librenms/dist/librenms-scheduler.timer /etc/systemd/system/
sudo systemctl daemon-reloadEnfin, démarrez et activez le service du planificateur LibreNMS.
sudo systemctl enable librenms-scheduler.timer
sudo systemctl start librenms-scheduler.timer
Configuration de Nginx
Avec toutes les configurations terminées, vous allez maintenant configurer le bloc de serveur Nginx pour LibreNMS.
Créez une nouvelle configuration de bloc de serveur Nginx /etc/nginx/conf.d/librenms.conf en utilisant la commande de l’éditeur nano suivante.
sudo nano /etc/nginx/conf.d/librenms.confInsérez la configuration suivante et assurez-vous de changer le nom de domaine dans l’option server_name.
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é.
Maintenant, exécutez la commande ci-dessous pour vérifier la configuration Nginx. Si cela réussit, vous devriez voir une sortie telle que ‘test is successful - syntax is ok‘.
sudo nginx -tEnsuite, démarrez et activez le service Nginx en utilisant la commande suivante.
sudo systemctl start nginx
sudo systemctl enable nginx
Puis, entrez la commande ci-dessous pour vérifier l’état du service Nginx et vous assurer que le service fonctionne.
sudo systemctl status nginxSi cela réussit, vous devriez obtenir la sortie suivante :

Installer LibreNMS via le navigateur web
Après avoir créé la configuration du bloc de serveur Nginx, vous êtes prêt à commencer l’installation de LibreNMS depuis le navigateur web.
Lancez votre navigateur web et visitez le nom de domaine de votre installation LibreNMS c’est-à-dire : http://librenms.howtoforge.local.
Sur la première page, LibreNMS vérifiera et validera votre environnement actuel. Assurez-vous de passer la vérification des prérequis, puis cliquez sur l’icône base de données pour continuer.

Maintenant, saisissez les détails de la base de données que vous avez créés et cliquez sur Vérifier les identifiants.

Ensuite, cliquez sur Construire la base de données pour migrer la base de données LibreNMS.

Ensuite, cliquez sur l’icône clé pour configurer l’utilisateur admin et le mot de passe LibreNMS. Saisissez les détails de l’utilisateur admin, le mot de passe et l’e-mail, puis cliquez sur Ajouter un utilisateur.

Maintenant, cliquez sur Terminer l’installation pour compléter l’installation de LibreNMS.

Une fois l’installation de LibreNMS terminée, vous serez redirigé vers la page de connexion de LibreNMS. Saisissez votre utilisateur admin et votre mot de passe, puis cliquez sur Connexion.

Si cela réussit, vous devriez voir le tableau de bord de LibreNMS comme ceci. Vous pouvez créer et organiser le tableau de bord de LibreNMS comme vous le souhaitez.

Enfin, vous pouvez utiliser le script validate.php pour vous assurer que vous avez une configuration correcte de LibreNMS. Exécutez la commande suivante pour vous connecter en tant qu’utilisateur librenms et exécuter le script validate.php.
su - librenms
./validate.phpSi vous avez une configuration correcte de LibreNMS, tout devrait avoir le statut OK comme suit :

Conclusion
Félicitations, vous avez maintenant installé avec succès l’outil de surveillance LibreNMS sur AlmaLinux 9. Vous avez installé et configuré LibreNMS avec le serveur de base de données MariaDB et le serveur web Nginx. Et vous avez également configuré SELinux et firewalld pour LibreNMS.
De plus, visitez la documentation de LibreNMS pour ajouter de nouveaux hôtes ou dispositifs à surveiller.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.