GNU/Linux >> Tutoriels Linux >  >> Cent OS

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. Il s'agit d'un système de surveillance de réseau complet qui prend en charge une large gamme de matériel réseau et de systèmes d'exploitation, notamment FreeBSD, Cisco, Linux, HP, etc.

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 le serveur CentOS 7 comme serveur principal.

Ce que nous allons faire

  1. Installer les packages 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 packages requis

Avant d'installer LibreNMS sur le serveur, nous devons installer certains packages, dont ImageMagick , rrdtool , SNMP , git , et plus. 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 référentiel EPEL (Extra Packages for Enterprise Linux) est un référentiel supplémentaire pour les systèmes d'exploitation basés sur rpm, y compris CentOS 7.

Installez le dépôt EPEL en utilisant le yum commande 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 à l'aide du systemctl suivant commandes.

systemctl start nginx
systemctl enable nginx

Le serveur Web Nginx a donc été installé sur le système à partir du référentiel EPEL.

Étape 3 - Installer et configurer PHP-FPM

Avant de poursuivre, voici quelques informations qui méritent d'être partagées :

Nous utiliserons PHP-FPM version 7 pour l'installation de LibreNMS. Tous les packages PHP 7 pour CentOS 7 sont disponibles sur un référentiel tiers, et nous utiliserons la version PHP 7 du référentiel "webtatic".

Alors commençons.

Ajoutez le référentiel webtatic PHP 7 au système à l'aide de 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 référentiel 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 référentiel PEAR et installez certaines extensions PEAR (PHP Extension and Application Repository) à l'aide de pear commande.

pear channel-update pear.php.net
pear install Net_IPv4-1.3.4
pear install Net_IPv6-1.2.2b2

De cette façon, vous pouvez installer tous les packages 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 via la commande suivante.

timedatectl

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

Nous utilisons donc "Europe/Paris ' fuseau horaire.

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 ça. Enregistrez maintenant les modifications et quittez l'éditeur.

Ensuite, nous devons définir comment PHP-FPM s'exécute sur le système. Dans notre cas, PHP-FPM s'exécutera sous le fichier 'sock' au lieu du port du serveur.

Modifiez le fichier 'www.conf' avec vim pour configurer le PHP-FPM.

vim /etc/php-fpm.d/www.conf

Remplacez la ligne de port 'listen' par le fichier chaussette comme ci-dessous.

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

Décommentez la ligne "écouter" pour le propriétaire, le groupe et l'autorisation du fichier chaussette comme configuration ci-dessous.

listen.owner = nginx
listen.group = nginx
listen.mode = 0660

C'est ça. Enregistrez maintenant les modifications et quittez l'éditeur.

La configuration de PHP-FPM est donc maintenant terminée. Démarrez le service et activez-le pour qu'il s'exécute automatiquement au démarrage à l'aide des commandes suivantes.

systemctl start php-fpm
systemctl enable php-fpm

Maintenant, PHP-FPM s'exécute sous le fichier chaussette. 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. Il est disponible dans le référentiel, et nous devons installer et ajouter une configuration pour l'installation de LibreNMS, y compris l'ajout de la base de données et de l'utilisateur pour LibreNMS.

Installez MariaDB à l'aide de 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

Configurez maintenant le mot de passe racine de MariaDB à l'aide de la commande "mysql_secure_installation" ci-dessous.

mysql_secure_installation

On vous demandera le nouveau mot de passe root pour la base de données MariaDB ainsi que d'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

Donc MariaDB a été installé. Nous devons maintenant créer une nouvelle base de données et un nouvel utilisateur pour LibreNMS. Connectez-vous à la ligne de commande du shell mysql à l'aide du 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 le tout 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.

Vous devez maintenant modifier le fichier my.cnf pour ajouter une nouvelle configuration mysql. Modifiez le fichier '/etc/my.cnf' à l'aide de vim.

vim /etc/my.cnf

Collez la configuration supplémentaire suivante sous '[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

Étape 5 - Téléchargez et configurez 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 LibreNMS

Créez un nouvel utilisateur système nommé 'librenms', puis définissez le répertoire personnel de l'utilisateur sur 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 LibreNMS en utilisant git clone commande comme ci-dessous.

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

Créez un nouveau répertoire pour les journaux LibreNMS et les fichiers rrd.

mkdir -p /opt/librenms/logs/
mkdir -p /opt/librenms/rrd/
chmod 775 /opt/librenms/rrd/

Changez maintenant la propriété de tous les fichiers et répertoires sous le répertoire '/opt/librenms' pour l'utilisateur et le 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 nginx 'conf.d'.

vim /etc/nginx/conf.d/librenms.conf

Collez la configuration ci-dessous.

server {

    # Add your own domain name
    listen      80;
    server_name librenms.irsyadf.me;

    # LibreNMS Webroot directory
    root        /opt/librenms/html;
    index       index.php;

    # LibreNMS logs
    access_log  /opt/librenms/logs/access_log;
    error_log   /opt/librenms/logs/error_log;
   
    # Enabling Gzip compression on 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 handle all .php files requests
    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 ça. Maintenant, enregistrez et quittez Vim.

Testez la configuration nginx et assurez-vous qu'il n'y a pas d'erreur. Redémarrez ensuite le serveur Web.

nginx -t
systemctl restart nginx

- Configuration du pare-feu

Assurez-vous que le pare-feu packages sont installés sur votre système. Sinon, vous pouvez installer firewalld en utilisant la commande yum suivante.

yum -y install firewalld

Démarrer firewalld et activez-le au démarrage à l'aide des commandes systemctl suivantes.

systemctl start firewalld
systemctl enable firewalld

Ouvrez les nouveaux ports HTTP, HTTPS et SNMP 161/udp à l'aide de 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 dans la liste.

Étape 6 - Installation Web de LibreNMS

Ouvrez votre navigateur Web et saisissez l'URL LibreNMS dans la barre d'adresse.

http://librenms.hakase-labs.me/

Vous serez redirigé vers la page d'installation 'install.php'.

- Vérifier la prise en charge du module PHP

Assurez-vous que tous les modules et extensions php requis sont installés sur le système.

Cliquez ensuite sur "Étape suivante" pour continuer.

- Configuration de la base de données

Tapez les détails de la base de données ci-dessous :

  1. Utilisateur BD :'librenms '
  2. Nom de la base de données :'librenms '
  3. Pass DB :'hakase-labs123 '

Et cliquez sur "Étape suivante" 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.

Une fois le processus terminé, cliquez sur "Goto Add User" pour ajouter un nouvel utilisateur administrateur.

- Ajouter un utilisateur administrateur

Saisissez votre nom d'utilisateur administrateur, votre adresse e-mail et votre mot de passe.

Cliquez sur "Ajouter un utilisateur" pour continuer l'installation.

- Générer le fichier de configuration

Cliquez sur le bouton "Générer la configuration" 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.php

Collez dans le nouveau fichier le code que vous venez de copier, puis enregistrez et quittez l'éditeur. Changez maintenant les permissions de propriété du fichier config.php pour l'utilisateur et le groupe 'librenms'.

chown librenms:librenms config.php

Revenez à votre navigateur et cliquez sur le bouton "Terminer l'installation" présent en bas de la page. Vous verrez un message de bienvenue semblable au suivant.

À ce stade, nous en avons terminé avec l'installation basée sur le Web. Retournez au terminal/shell et ajoutez plus de configuration.

Étape 7 - Configuration finale

À cette étape, nous allons ajouter une configuration pour notre installation LibreNMS.

- Définir la commande fping

Définissez la commande 'fping' en éditant le fichier de configuration LibreNMS. Allez dans le répertoire '/opt/librenms/' et modifiez le fichier config.php à l'aide de l'éditeur vim.

cd /opt/librenms/
vim config.php

Ajoutez la ligne suivante au 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-en un 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

Modifiez la nouvelle configuration.

vim /etc/snmp/snmpd.conf

Remplacez le texte "RANDOMSTRINGGOESHERE" par le nom de votre propre communauté comme ci-dessous.

com2sec readonly  default         hakaselabs

C'est ça. Enregistrez et quittez Vim.

Ensuite, téléchargez le librenms-agent script pour détecter le système d'exploitation que 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 à l'aide de 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

Redémarrez maintenant le service SNMP à l'aide de la commande systemctl suivante.

systemctl restart snmpd

- Configurer Logrotate pour LibreNMS

LibreNMS fournit la configuration pour la configuration de logrotate, et c'est 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 de la tâche cron LibreNMS

Allez dans le répertoire 'opt/librenms' et copiez le fichier du 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 LibreNMS

Pour vérifier l'installation, utilisez le validate.php scénario. 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 un résultat semblable à celui-ci :

Ceci termine donc l'installation de LibreNMS avec le serveur Web Nginx sur CentOS 7.


Cent OS
  1. Comment installer WordPress avec Nginx sur CentOS 7

  2. Comment installer phpMyAdmin avec Nginx sur CentOS 7

  3. Comment installer l'outil de surveillance Cacti sur CentOS 8 / RHEL 8

  4. Comment installer phpMyAdmin avec Nginx sur CentOS 7 / RHEL 7

  5. Comment installer Sitemagic CMS sur CentOS 7 – Avec Nginx

Comment installer l'outil de surveillance des ressources Bpytop sur CentOS 8

Comment installer Nginx avec ngx_pagespeed sur CentOS

Comment installer Nginx avec PHP-FastCGI sur CentOS 6

Comment installer Magento avec Nginx sur CentOS 7

Comment installer l'outil de surveillance du système Glances sur CentOS 7

Comment installer Laravel avec Nginx sur CentOS 8