Installation · 11 min read · Nov 03, 2025
Comment installer l'outil de surveillance LibreNMS avec Nginx sur CentOS 7
LibreNMS est un outil de surveillance open source basé sur PHP/MYSQL/SNMP. C’est un système de surveillance réseau complet qui prend en charge une large gamme de matériel réseau et de systèmes d’exploitation, y compris FreeBSD, Cisco, Linux, HP, et plus encore.
Dans ce tutoriel, nous allons vous montrer comment installer et configurer LibreNMS en utilisant Nginx comme serveur web et MariaDB comme base de données. Nous utiliserons un serveur CentOS 7 comme notre serveur principal.
Ce que nous allons faire
- Installer les paquets requis
- Installer le serveur web Nginx
- Installer et configurer PHP-FPM
- Installer et configurer MariaDB
- Télécharger et configurer LibreNMS
- Installation basée sur le web de LibreNMS
- Configuration finale
Prérequis
- Serveur CentOS 7
- Privilèges root
Étape 1 - Installer les paquets requis
Avant d’installer LibreNMS sur le serveur, nous devons installer certains paquets, y compris ImageMagick, rrdtool, SNMP, git, et plus encore. La commande suivante devrait faire le nécessaire :
yum -y install net-snmp ImageMagick jwhois nmap mtr rrdtool MySQL-python net-snmp-utils cronie fping gitSi tout se passe bien, passez à l’étape suivante.
Étape 2 - Installer le serveur web Nginx
Dans cette étape, nous allons installer epel-repository pour l’installation du serveur web nginx. Le dépôt EPEL (Extra Packages for Enterprise Linux) est un dépôt supplémentaire pour les systèmes d’exploitation basés sur rpm, y compris CentOS 7.
Installez le dépôt EPEL en utilisant la commande yum ci-dessous.
yum -y install epel-releaseMaintenant, installez nginx.
yum -y install nginxAprès l’installation de nginx, démarrez le service et activez-le pour qu’il s’exécute automatiquement au démarrage en utilisant les commandes systemctl suivantes.
systemctl start nginx
systemctl enable nginxAinsi, le serveur web Nginx a été installé sur le système à partir du dépôt EPEL.

Étape 3 - Installer et configurer PHP-FPM
Avant de continuer, voici quelques informations à partager :
Nous allons utiliser PHP-FPM version 7 pour l’installation de LibreNMS. Tous les paquets PHP 7 pour CentOS 7 sont disponibles dans un dépôt tiers, et nous utiliserons la version PHP 7 du dépôt ‘webtatic’.
Alors commençons.
Ajoutez le dépôt webtatic PHP 7 au système en utilisant la commande rpm suivante.
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpmInstallez PHP 7 et toutes les extensions nécessaires à partir du dépôt wetatic en utilisant yum.
yum -y install php70w php70w-cli php70w-gd php70w-mysql php70w-snmp php70w-pear php70w-curl php70w-common php70w-fpm php70w-mcryptMaintenant, mettez à jour le dépôt PEAR et installez quelques extensions PEAR (PHP Extension and Application Repository) en utilisant la commande pear.
pear channel-update pear.php.net
pear install Net_IPv4-1.3.4
pear install Net_IPv6-1.2.2b2
Ainsi, vous pouvez installer tous les paquets PHP requis.
Ensuite, configurez PHP-FPM pour l’installation de LibreNMS. Nous devons définir le fuseau horaire par défaut dans le fichier php.ini et nous assurer que le fuseau horaire correspond au fuseau horaire actuel utilisé par le système. Vous pouvez vérifier le fuseau horaire actuel utilisé par votre système à l’aide de la commande suivante.
timedatectlLa capture d’écran suivante montre la commande ci-dessus en action :

Nous utilisons donc le fuseau horaire ‘ Europe/Paris ‘.
Maintenant, éditez le fichier ‘/etc/php.ini’ en utilisant vim.
vim /etc/php.iniEnsuite, décommentez la ligne ‘date.timezone’ et donnez une valeur avec le fuseau horaire du serveur ‘Europe/Paris’.
data.timezone = Europe/ParisDe même, décommentez la ligne cgi et changez la valeur en ‘ 0 ‘.
cgi.fix_pathinfo=0C’est tout. Maintenant, enregistrez les modifications et quittez l’éditeur.
Ensuite, nous devons définir comment PHP-FPM fonctionne sur le système. Dans notre cas, PHP-FPM fonctionnera sous le fichier ‘sock’ au lieu du port du serveur.
Éditez le fichier ‘www.conf’ avec vim pour configurer le PHP-FPM.
vim /etc/php-fpm.d/www.confChangez la ligne du port ‘listen’ au fichier sock comme ci-dessous.
listen = /var/run/php-fpm/php7.0-fpm.sockDécommentez la ligne ‘listen’ pour le propriétaire, le groupe et la permission du fichier sock comme configuration ci-dessous.
listen.owner = nginx
listen.group = nginx
listen.mode = 0660C’est tout. Maintenant, enregistrez les modifications et quittez l’éditeur.
Ainsi, la configuration de PHP-FPM est maintenant terminée. Démarrez le service et activez-le pour qu’il s’exécute automatiquement au démarrage en utilisant les commandes suivantes.
systemctl start php-fpm
systemctl enable php-fpmMaintenant, PHP-FPM fonctionne sous le fichier sock. Vous pouvez le vérifier avec la commande netstat.
netstat -pl | grep phpAssurez-vous d’avoir le résultat du fichier ‘/var/run/php-fpm/php7.0-fpm.sock’.
Étape 4 - Installer et configurer MariaDB
LibreNMS utilise la base de données MySQL pour stocker toutes les données. Pour ce guide, nous utiliserons la version de la base de données MariaDB. Elle est disponible dans le dépôt, et nous devons installer et ajouter quelques configurations pour l’installation de LibreNMS, y compris l’ajout de la base de données et de l’utilisateur pour LibreNMS.
Installez MariaDB en utilisant la commande yum ci-dessous.
yum -y install mariadb mariadb-serverDémarrez le service MariaDB et activez-le pour qu’il démarre automatiquement au démarrage.
systemctl start mariadb
systemctl enable mariadb
Maintenant, configurez le mot de passe root de MariaDB en utilisant la commande ‘mysql_secure_installation’ ci-dessous.
mysql_secure_installationVous serez invité à entrer le nouveau mot de passe root pour la base de données MariaDB ainsi que quelques autres questions.
Tapez ‘Y’ et appuyez sur Entrée pour confirmer.
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] YAinsi, MariaDB a été installé. Maintenant, nous devons créer une nouvelle base de données et un nouvel utilisateur pour LibreNMS. Connectez-vous à l’interface de ligne de commande mysql en utilisant le client mysql et avec votre nouveau mot de passe.
mysql -u root -pCréez une nouvelle base de données nommée ‘ librenms ‘, un nouvel utilisateur ‘ librenms ‘ avec le mot de passe ‘ hakase-labs123 ‘.
Créez tout cela en utilisant les requêtes MySQL ci-dessous.
CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_unicode_ci;
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'hakase-labs123';
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
FLUSH PRIVILEGES;Un nouvel utilisateur et une nouvelle base de données pour l’installation de LibreNMS ont été créés.

Maintenant, vous devez éditer le fichier my.cnf pour ajouter une nouvelle configuration mysql. Éditez le fichier ‘/etc/my.cnf’ en utilisant vim.
vim /etc/my.cnfCollez la configuration supplémentaire suivante sous la section ‘ [mysqld] ‘.
innodb_file_per_table=1
sql-mode=""
lower_case_table_names=0Enregistrez et quittez vim, puis redémarrez le serveur mariadb.
systemctl restart mariadb
Étape 5 - Télécharger et configurer LibreNMS
Dans cette étape, nous allons configurer le système pour l’installation de LibreNMS.
- Ajouter un utilisateur et télécharger le code source de LibreNMS
Créez un nouvel utilisateur système nommé ‘librenms’, puis définissez le répertoire personnel pour l’utilisateur dans le répertoire ‘/opt/librenms’, et enfin ajoutez l’utilisateur ‘librenms’ au groupe ‘nginx’.
useradd librenms -d /opt/librenms -M -r
usermod -a -G librenms nginxAllez dans le répertoire ‘/opt/‘ et téléchargez le code source de LibreNMS en utilisant la commande git clone comme ci-dessous.
cd /opt/
git clone https://github.com/librenms/librenms.git librenms
Créez un nouveau répertoire pour les journaux et les fichiers rrd de LibreNMS.
mkdir -p /opt/librenms/logs/
mkdir -p /opt/librenms/rrd/
chmod 775 /opt/librenms/rrd/Maintenant, changez la propriété de tous les fichiers et répertoires sous le répertoire ‘/opt/librenms’ à l’utilisateur et au groupe ‘librenms’.
chown -R librenms:librenms /opt/librenms/
- Configurer l’hôte virtuel LibreNMS
LibreNMS est une application Web et nous utilisons un serveur web Nginx pour l’héberger.
Créez un nouveau fichier d’hôte virtuel ‘librenms.conf’ sous le répertoire ‘conf.d’ de nginx.
vim /etc/nginx/conf.d/librenms.confCollez la configuration ci-dessous.
server {
# Ajoutez votre propre nom de domaine
listen 80;
server_name librenms.irsyadf.me;
# Répertoire racine Web de LibreNMS
root /opt/librenms/html;
index index.php;
# Journaux de LibreNMS
access_log /opt/librenms/logs/access_log;
error_log /opt/librenms/logs/error_log;
# Activation de la compression Gzip sur Nginx
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;
}
# PHP-FPM gère toutes les requêtes de fichiers .php
location ~ \.php {
include fastcgi.conf;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php-fpm/php7.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}C’est tout. Maintenant, enregistrez et quittez Vim.
Testez la configuration de nginx et assurez-vous qu’il n’y a pas d’erreur. Puis redémarrez le serveur web.
ginx -t
systemctl restart nginx- Configuration de Firewalld
Assurez-vous que les paquets firewalld sont installés sur votre système. Si ce n’est pas le cas, vous pouvez installer firewalld en utilisant la commande yum suivante.
yum -y install firewalldDémarrez firewalld et activez-le pour qu’il s’exécute au démarrage en utilisant les commandes systemctl suivantes.
systemctl start firewalld
systemctl enable firewalld
Ouvrez le nouveau port HTTP, HTTPS et SNMP 161/udp en utilisant la commande firewall-cmd comme indiqué ci-dessous.
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --add-port=161/udp --permanentAppliquez la configuration en rechargeant firewalld et vérifiez tous les services.
firewall-cmd --reload
firewall-cmd --list-allAssurez-vous que les services HTTP et HTTPS figurent sur la liste.
Étape 6 - Installation basée sur le web de LibreNMS
Ouvrez votre navigateur web et tapez l’URL de LibreNMS dans la barre d’adresse.
http://librenms.hakase-labs.me/
Vous serez redirigé vers la page d’installation ‘install.php’.
- Vérifier le support des modules PHP
Assurez-vous que tous les modules et extensions PHP requis sont installés sur le système.

Puis cliquez sur ‘Next Stage’ pour continuer.
- Configuration de la base de données
Tapez les détails de la base de données ci-dessous :
- Utilisateur DB : ‘ librenms ‘
- Nom de la DB : ‘ librenms ‘
- Mot de passe DB : ‘ hakase-labs123 ‘

Et cliquez sur ‘Next Stage’ pour continuer.
- Importer la base de données MySQL
Ne fermez pas la page d’installation car elle affichera l’importation de la base de données. Assurez-vous qu’il n’y a pas d’erreurs.

Lorsque le processus est terminé, cliquez sur ‘Goto Add User’ pour ajouter un nouvel utilisateur administrateur.
- Ajouter un utilisateur administrateur
Tapez votre utilisateur administrateur, email et mot de passe.

Cliquez sur ‘Add User’ pour continuer avec l’installation.
- Générer le fichier de configuration

Cliquez sur le bouton ‘Generate Config’, et vous verrez une page similaire à la suivante.

Copiez le code php qui se trouve dans la boîte, et créez un nouveau fichier ‘config.php’ dans le répertoire ‘/opt/librenms/‘.
cd /opt/librenms/
vim config.phpCollez dans le nouveau fichier le code que vous venez de copier, puis enregistrez et quittez l’éditeur. Maintenant, changez les permissions de propriété du fichier config.php à l’utilisateur et au groupe ‘librenms’.
chown librenms:librenms config.php
Retournez à votre navigateur et cliquez sur le bouton ‘Finish Install’ présent en bas de la page. Vous verrez un message de bienvenue similaire à celui-ci.

À ce stade, nous avons terminé l’installation basée sur le web. Retournez au terminal/shell et ajoutez plus de configurations.
Étape 7 - Configuration finale
À cette étape, nous allons ajouter quelques configurations pour notre installation de LibreNMS.
- Définir la commande fping
Définissez la commande ‘fping’ en éditant le fichier de configuration de LibreNMS. Allez dans le répertoire ‘/opt/librenms/‘ et éditez le fichier config.php en utilisant l’éditeur vim.
cd /opt/librenms/
vim config.phpAjoutez la ligne suivante en bas du fichier.
$config['fping'] = "/usr/sbin/fping";Enregistrez et quittez l’éditeur.
- Configuration SNMP
Sauvegardez le fichier snmp.conf par défaut dans le répertoire ‘/etc/snmp/‘ et copiez le nouveau depuis le répertoire librenms.
mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.asli
cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.confÉditez la nouvelle configuration.
vim /etc/snmp/snmpd.confChangez le texte ‘RANDOMSTRINGGOESHERE’ avec votre propre nom de communauté comme ci-dessous.
com2sec readonly default hakaselabsC’est tout. Enregistrez et quittez Vim.

Ensuite, téléchargez le script librenms-agent pour détecter quel système d’exploitation vous avez ajouté. Si vous ajoutez un système d’exploitation Linux, le script détectera également la distribution Linux spécifique.
Téléchargez le script en utilisant curl et rendez-le exécutable.
curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
chmod +x /usr/bin/distroMaintenant, redémarrez le service SNMP en utilisant la commande systemctl suivante.
systemctl restart snmpd- Configurer Logrotate pour LibreNMS
LibreNMS fournit une configuration pour la configuration de logrotate, et elle se trouve dans le répertoire ‘/opt/librenms/misc’.
Copiez l’exemple de configuration dans le répertoire ‘/etc/logrotate.d’.
cp misc/librenms.logrotate /etc/logrotate.d/librenms- Configuration du cronjob LibreNMS
Allez dans le répertoire ‘opt/librenms’ et copiez le script crontab ‘librenms.nonroot.cron’ dans le répertoire ‘cron.d’.
cd /opt/librenms/
cp librenms.nonroot.cron /etc/cron.d/librenmsAttendez quelques minutes que le script s’exécute automatiquement.
- Valider la configuration de LibreNMS
Pour vérifier l’installation, utilisez le script validate.php. Allez dans le répertoire ‘/opt/librenms/‘ et exécutez le script.
cd /opt/librenms/
./validate.phpEn supposant que vous ne rencontriez aucune erreur, vous devriez voir une sortie similaire à la suivante :

Ainsi, cela complète l’installation de LibreNMS avec le serveur web Nginx sur CentOS 7.
Référence
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.