Surveillance réseau · 10 min read · Nov 17, 2025
Comment configurer l'outil de surveillance LibreNMS avec Nginx sur Ubuntu 16.04 LTS
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, etc.
Dans ce tutoriel, je vais vous montrer comment installer et configurer l’outil de surveillance open source ‘LibreNMS’ en utilisant Nginx comme serveur web, MariaDB comme base de données, et Ubuntu 16.04 serveur comme notre serveur principal. Nous vous guiderons étape par étape sur la façon d’installer et de configurer ‘LibreNMS’ sur le serveur Ubuntu 16.04 Xenial Xerus.
Ce que nous allons faire
- Installer les paquets
- Installer le serveur web Nginx
- Installer et configurer PHP-FPM
- Installer et configurer MariaDB
- Télécharger et configurer LibreNMS
- Installateur web de LibreNMS
- Configuration finale
Prérequis
- Serveur Ubuntu 16.04
- Droits root
Étape 1 - Installer les paquets
La première étape que nous devons faire pour installer les outils de surveillance LibreNMS est d’installer certains paquets nécessaires sur le serveur. Connectez-vous à votre serveur et mettez à jour le dépôt.
ssh root@hakase-labs-server
sudo apt updateInstallez tous les paquets requis pour LibreNMS à partir du dépôt Ubuntu en utilisant la commande suivante.
apt install fping imagemagick whois mtr-tiny nmap python-mysqldb snmpd rrdtool git snmp graphvizAprès que l’installation soit terminée, passez à l’étape suivante.
Étape 2 - Installer le serveur web Nginx
Dans ce tutoriel, nous allons exécuter LibreNMS sous le serveur web Nginx. Nginx est un serveur web puissant qui est disponible dans les dépôts Ubuntu.
Installez nginx en utilisant la commande apt à partir du dépôt de la manière suivante.
apt install nginxQuand c’est fait, démarrez le service et activez-le pour qu’il s’exécute automatiquement à chaque démarrage du système.
systemctl start nginx
systemctl enable nginxLe serveur web Nginx fonctionne sous le port par défaut 80. Nous pouvons vérifier le port en utilisant la commande netstat, et vérifier Nginx en utilisant la commande curl pour obtenir le code d’état HTTP, comme montré ci-dessous.
netstat -plntu | grep 80
curl -I localhost
L’installation de Nginx est terminée.
Étape 3 - Installer et configurer PHP-FPM
LibreNMS est un outil de surveillance d’application web basé sur PHP. Il offre un support pour la nouvelle version PHP 7.0, et nous allons l’utiliser pour ce guide.
Installez PHP, PHP-FPM, et toutes les extensions/modules nécessaires pour l’installation de LibreNMS en utilisant la commande apt ci-dessous.
apt install php7.0-cli php7.0-mysql php7.0-gd php7.0-snmp php-pear php7.0-curl php7.0-fpm php7.0-mcrypt php7.0-json php-net-ipv4 php-net-ipv6Ensuite, nous devons ajouter quelques configurations aux fichiers php.ini. 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.
Vérifiez le fuseau horaire actuellement utilisé par le système avec la commande suivante.
timedatectlVous devriez obtenir un résultat similaire à celui-ci.

Vous pouvez voir que le serveur utilise le fuseau horaire ‘Europe/Paris‘.
Maintenant, allez dans le répertoire de configuration PHP et éditez les fichiers php.ini pour la configuration cli et fpm.
cd /etc/php/7.0/
vim fpm/php.ini
vim cli/php.iniDécommentez la ligne ‘date.time‘ et changez la valeur avec notre fuseau horaire système ‘Europe/Paris‘.
date.time = Europe/ParisDécommentez la configuration cgi ci-dessous, changez la valeur à 0.
cgi.fix_pathinfo = 0Enregistrez et quittez.
Toute la configuration est terminée. Maintenant, démarrez le service et activez-le pour qu’il se lance à chaque démarrage du système en utilisant les commandes systemctl suivantes.
systemctl start php7.0-fpm
systemctl enable php7.0-fpmPHP-FPM fonctionne maintenant sur le serveur ubuntu - il fonctionne sous le fichier sock. Vérifiez-le avec la commande netstat.
netstat -pl | grep php
Étape 4 - Installer et configurer MariaDB
Dans cette étape, nous allons installer le serveur mariadb pour la base de données LibreNMS. Nous allons installer, configurer et créer une nouvelle base de données et un nouvel utilisateur pour l’installation de LibreNMS.
Installez le serveur mariadb à partir du dépôt ubuntu en utilisant la commande apt ci-dessous.
apt install mariadb-server mariadb-client mariadbQuand c’est fait, démarrez le service, et activez-le pour qu’il s’exécute automatiquement au démarrage du système, ce que vous pouvez faire en utilisant les commandes systemctl suivantes.
systemctl start mysql
systemctl enable mysqlLe serveur de base de données mariadb fonctionne maintenant. Ensuite, nous devons configurer le mot de passe root pour mariadb. Nous pouvons utiliser la commande ‘mysql_secure_installation’ ci-dessous pour configurer le mot de passe root.
mysql_secure_installationVous serez invité à entrer le nouveau mot de passe root - tapez votre mot de passe et appuyez sur ‘Entrée’ pour continuer.
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] YLe mot de passe root pour mariadb a été configuré.
Ensuite, nous devons créer une nouvelle base de données et un utilisateur pour LibreNMS. Nous allons créer une nouvelle base de données nommée ‘librenms’, un nouvel utilisateur nommé ‘librenms’ avec le mot de passe ‘hakase-labs123’.
Connectez-vous à l’interface de commande mariadb en utilisant la commande suivante.
mysql -u root -p
Type the ROOT Password:Exécutez les requêtes mariadb ci-dessous pour créer une nouvelle base de données et un utilisateur, et accorder tous les privilèges sur la base de données au nouvel utilisateur.
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;Une nouvelle base de données et un utilisateur pour LibreNMS ont été créés.

Pour l’installation de LibreNMS, nous devons ajouter quelques configurations au fichier de configuration. Allez dans le répertoire ‘/etc/mysql/‘ et éditez le fichier de configuration mariadb.
cd /etc/mysql/
vim mariadb.conf.d/50-server.cnfCollez la configuration ci-dessous sous la section ‘[mysqld]‘.
innodb_file_per_table=1
sql-mode=""
lower_case_table_names=0Enregistrez et quittez.

Maintenant, appliquez la nouvelle configuration en redémarrant le service.
systemctl restart mysqlLa configuration de la base de données mariadb est terminée.
Étape 5 - Télécharger et configurer LibreNMS
Dans cette étape, nous allons configurer le système pour l’installation de LibreNMS.
- Ajouter un nouvel utilisateur et télécharger LibreNMS
Créez un nouvel utilisateur système nommé ‘librenms’, définissez ‘/opt/librenms’ comme répertoire personnel par défaut pour l’utilisateur, et assignez le nouvel utilisateur ‘librenms’ au groupe www-data.
Exécutez la commande suivante pour tout faire.
useradd librenms -d /opt/librenms -M -r
usermod -a -G librenms www-dataMaintenant, allez dans le répertoire ‘/opt/‘ et téléchargez le code source de LibreNMS en utilisant la commande git.
cd /opt/
git clone https://github.com/librenms/librenms.git librenms
Ensuite, créez un nouveau répertoire pour les fichiers journaux de libreNMS et les fichiers rrd.
mkdir -p /opt/librenms/{logs,rrd}Changez les permissions de propriété pour le répertoire ‘rrd’ à ‘775’, et changez le propriétaire du répertoire ‘librenms’ à l’utilisateur et au groupe ‘librenms’.
chmod -R 775 /opt/librenms/rrd/
chown -R librenms:librenms /opt/librenms/Un nouveau ‘librenms’ a été créé, et le code source de LibreNMS a été téléchargé.
- Configurer le Virtualhost de LibreNMS
Allez dans le répertoire de configuration ‘nginx’ et créez un nouveau fichier de virtual host ‘librenms’ avec vim.
cd /etc/nginx/
vim sites-available/librenmsCollez la configuration de Virtual host LibreNMS suivante.
server {
# Ajoutez votre propre nom de domaine
listen 80;
server_name librenms.irsyadf.me;
# Répertoire racine 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:/run/php/php7.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}Enregistrez et quittez. Maintenant, activez le virtualhost.
ln -s /etc/nginx/sites-available/librenms /etc/nginx/sites-enabled/Testez la configuration nginx et assurez-vous qu’il n’y a pas d’erreur. Puis redémarrez le service.
ginx -t
systemctl restart nginx- Configurer le pare-feu UFW
Ajoutez de nouveaux ports au pare-feu. Ajoutez un nouveau ssh, http, https et le port utilisé par snmpd 161 de type udp au pare-feu ufw.
Exécutez les commandes ufw suivantes.
ufw allow ssh
ufw allow http
ufw allow https
ufw allow 161/udp
Démarrez le pare-feu ufw avec la commande ufw enable comme montré ci-dessous.
ufw enableTapez ‘y’ et appuyez sur ‘Entrée’ pour confirmer. Démarrez et activez-le pour qu’il se lance à chaque démarrage du système.
Si vous voulez voir l’état du pare-feu, exécutez la commande ‘ufw status’.
ufw statusVous obtiendrez l’état du pare-feu - actif ou inactif - et la liste des ports et services ajoutés au pare-feu.

Étape 6 - Installateur web de LibreNMS
Après que toutes les étapes ci-dessus soient complètes, nous devons installer LibreNMS via le navigateur web. Ouvrez votre navigateur web, tapez le nom de domaine LibreNMS ‘librenms.hakase-labs.co’ dans la barre d’adresse et appuyez sur Entrée.
- Vérification des modules PHP
Vous serez redirigé vers la page install.php montrant le résultat des vérifications de support des modules PHP. Assurez-vous que tous les statuts sont verts comme montré ci-dessous.

Cliquez sur ‘Étape suivante‘ pour continuer.
- Configuration de la base de données
Remplissez toutes les informations de la base de données avec votre propre db.
- Utilisateur DB: librenms
- Mot de passe DB: hakase-labs123
- Nom de la base de données: librenms

Et cliquez sur ‘Étape suivante‘.
- Importation de la base de données MySQL
Attendez que le script d’installation importe un échantillon de base de données dans notre base de données - ne fermez pas l’onglet du navigateur pendant ce processus.

Après que toute la base de données soit importée, cliquez sur ‘Aller à Ajouter un utilisateur‘.
- Ajouter un utilisateur administrateur
Ici, tapez votre utilisateur administrateur, email, et mot de passe.

Cliquez sur ‘Ajouter un utilisateur‘.
- Générer la configuration de LibreNMS

Cliquez sur le bouton ‘Générer la configuration‘.
Et vous obtiendrez un fichier de configuration similaire à celui montré ci-dessous.

Copiez le script de configuration php, et revenez à votre session ssh. Allez dans le répertoire ‘/opt/librenms’ et créez le fichier ‘config.php’ manuellement en utilisant vim.
cd /etc/librenms/
vim config.phpCollez la configuration là, et changez la propriété du fichier à l’utilisateur et au groupe librenms.
chown librenms:librenms config.phpRetournez à votre navigateur web et cliquez sur le bouton ‘Terminer l’installation‘.
Maintenant, vous arrivez à la dernière page de l’installateur web de librenms - voir ci-dessous.

Étape 7 - Configuration finale
Après que l’installation via le navigateur web soit complète, nous devons faire quelques autres étapes.
- Configurer SNMP
Sauvegardez le fichier de configuration par défaut et copiez l’exemple de configuration dans le répertoire ‘/etc/snmp/‘.
mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.aseli
cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.confÉditez la nouvelle configuration avec vim.
vim /etc/snmp/snmpd.confRemplacez la ligne ‘RANDOMSTRINGGOESHERE’ par votre propre nom de communauté ‘hakaselabs’, comme montré ci-dessous.
com2sec readonly default hakaselabsEnregistrez et quittez.

Ensuite, nous devons télécharger le script de détection de distribution. Téléchargez-le en utilisant curl, puis rendez le script exécutable, puis enfin, redémarrez le service snmp.
curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
chmod +x /usr/bin/distro
systemctl restart snmpd- Configuration de Crontab et Logrotate
Allez dans le répertoire librenms et copiez la configuration d’exemple pour Crontab et Logrotate.
cd /opt/librenms/Copiez la configuration.
cp librenms.nonroot.cron /etc/cron.d/librenms
cp misc/librenms.logrotate /etc/logrotate.d/librenmsMaintenant, redémarrez le service cron et rechargez la configuration de logrotate.
systemctl restart cron
logrotate -f /etc/logrotate.conf- Valider la configuration
Attendez un certain temps jusqu’à ce que le script cron s’exécute sur le système. Une fois cela fait, validez avec le script ‘validate.php’.
Allez dans le répertoire librenms et exécutez le script de validation.
cd /opt/librenms/
./validate.phpSi votre installation est correcte, vous obtiendrez le résultat comme montré ci-dessous.

L’installation de LibreNMS avec le serveur web Nginx sur Ubuntu 16.04 est terminée.
Référence
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.