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

  1. Installer les paquets requis
  2. Installer le serveur web Nginx
  3. Installer et configurer PHP-FPM
  4. Installer et configurer MariaDB
  5. Télécharger et configurer LibreNMS
  6. Installation basée sur le web de LibreNMS
  7. 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 git

Si 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-release

Maintenant, installez nginx.

yum -y install nginx

Aprè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 nginx

Ainsi, le serveur web Nginx a été installé sur le système à partir du dépôt EPEL.

Démarrer et vérifier le serveur web Nginx

É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.rpm

Installez 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-mcrypt

Maintenant, 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

Installer quelques paquets pear

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.

timedatectl

La capture d’écran suivante montre la commande ci-dessus en action :

utiliser la commande timedatectl

Nous utilisons donc le fuseau horaire ‘ Europe/Paris ‘.

Maintenant, éditez le fichier ‘/etc/php.ini’ en utilisant vim.

vim /etc/php.ini

Ensuite, décommentez la ligne ‘date.timezone’ et donnez une valeur avec le fuseau horaire du serveur ‘Europe/Paris’.

data.timezone = Europe/Paris

De même, décommentez la ligne cgi et changez la valeur en ‘ 0 ‘.

cgi.fix_pathinfo=0

C’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.conf

Changez la ligne du port ‘listen’ au fichier sock comme ci-dessous.

listen = /var/run/php-fpm/php7.0-fpm.sock

Dé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 = 0660

C’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-fpm

Maintenant, PHP-FPM fonctionne sous le fichier sock. Vous pouvez le vérifier avec la commande netstat.

netstat -pl | grep php

Assurez-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-server

Démarrez le service MariaDB et activez-le pour qu’il démarre automatiquement au démarrage.

systemctl start mariadb  
systemctl enable mariadb

Configurer la base de données MariaDB

Maintenant, configurez le mot de passe root de MariaDB en utilisant la commande ‘mysql_secure_installation’ ci-dessous.

mysql_secure_installation

Vous 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] Y

Ainsi, 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 -p

Cré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.

Ajouter l'utilisateur MySQL librenms

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.cnf

Collez la configuration supplémentaire suivante sous la section ‘ [mysqld] ‘.

innodb_file_per_table=1  
 sql-mode=""  
 lower_case_table_names=0

Enregistrez et quittez vim, puis redémarrez le serveur mariadb.

systemctl restart mariadb

Configurer les paramètres de 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 nginx

Allez 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

Installer 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.conf

Collez 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 firewalld

Dé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

Configurer le pare-feu

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 --permanent

Appliquez la configuration en rechargeant firewalld et vérifiez tous les services.

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

Assurez-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.

Installateur web de LibreNMS

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 :

  1. Utilisateur DB : ‘ librenms
  2. Nom de la DB : ‘ librenms
  3. Mot de passe DB : ‘ hakase-labs123

Configurer la base de données

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.

Importer le schéma de la base de données MySQL

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.

Ajouter l'utilisateur administrateur

Cliquez sur ‘Add User’ pour continuer avec l’installation.

- Générer le fichier de configuration

Générer le fichier de configuration

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

Paramètres du fichier de configuration

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.php

Collez 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

Enregistrer le fichier de configuration dans le shell

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.

L'outil de surveillance LibreNMS a été installé

À 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.php

Ajoutez 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.conf

Changez le texte ‘RANDOMSTRINGGOESHERE’ avec votre propre nom de communauté comme ci-dessous.

com2sec readonly  default         hakaselabs

C’est tout. Enregistrez et quittez Vim.

Définir la chaîne aléatoire

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/distro

Maintenant, 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/librenms

Attendez 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.php

En supposant que vous ne rencontriez aucune erreur, vous devriez voir une sortie similaire à la suivante :

Valider la configuration

Ainsi, cela complète l’installation de LibreNMS avec le serveur web Nginx sur CentOS 7.

Référence

Share: X/Twitter LinkedIn

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

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