**LibreNMS - Installation** # Introduction ## Objectif * Apprendre à installer le système de gestion de réseau LibreNMS ## Notes * Les commandes précédées de "`$`" signifient que vous devez exécuter la commande en tant qu'utilisateur général - et non en tant qu'utilisateur root. * Les commandes précédées de "#" signifient que vous devez travailler en tant qu'utilisateur root. * Les commandes comportant des lignes de commande plus spécifiques (par exemple "rtrX" ou "mysql>") signifient que vous exécutez des commandes sur des équipements à distance, ou dans un autre programme. * Si une ligne de commande se termine par "\", ceci signifie que la commande se poursuit sur la ligne suivante et que vous devez la traiter comme une seule ligne. * Ces instructions supposent que vous êtes l'utilisateur root. Si vous ne l'êtes pas, ajoutez "sudo" aux commandes Shell (celles qui ne sont pas dans les invites "mysql>") ou invoquez temporairement les privilèges de root avec "sudo -s". # Installation et configuration ## Création de la base de données REMARQUE: Ces instructions sont basées sur les [notes d'installation officielles de LibreNMS](http://docs.librenms.org/Installation/Installation-(Debian-Ubuntu)/) et ont été testées lors d'une nouvelle installation d'Ubuntu 16.04. Nous supposerons que la base de données fonctionne sur la même machine que votre serveur de gestion de réseau (c'est le scénario de déploiement initial le plus courant). D'abord, devenez root : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $ sudo bash ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Ensuite installez mysql et configurez : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # apt update # apt install mysql-server mysql-client ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Vous serez invité à entrer un mot de passe pour l'utilisateur root de MySQL. *Soyez absolument sûr* de vous souvenir de ce que vous choisissez ici. Vous utiliserez cela plus tard. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # mysql -u root -p ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Entrez le mot de passe root de MySQL (celui que vous avez choisi dans l'étape précédente) afin de pouvoir entrer dans l'interface ligne de commande MySQL où vous obtiendrez une invite *mysql>* . Créer la base de données : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CREATE DATABASE librenms; GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost' IDENTIFIED BY ''; FLUSH PRIVILEGES; exit ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ **NOTEZ S'IL VOUS PLAÎT** Ici, nous utilisons comme mot de passe de LibreNMS pour accéder à MySQL. Remplacez avec le mot de passe fourni de la classe. ## Installation de LibreNMS NMS est l'hôte où le serveur Web et le poller SNMP seront exécutés. Installez les paquetages requis : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # apt install libapache2-mod-php5 php5-cli php5-mysql php5-gd php5-snmp php-pear \ php5-curl snmp graphviz php5-mcrypt php5-json apache2 fping imagemagick whois \ mtr-tiny nmap python-mysqldb snmpd php-net-ipv4 php-net-ipv6 rrdtool git ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Les paquetages énumérés ci-dessus sont une liste exhaustive des paquetages qui sont nécessaires pour une installation propre d'Ubuntu 16.04. ### Configuration post-installation #### SNMP Vous devez configurer snmpd de manière appropriée si vous ne l'avez pas déjà fait. Nous allons faire une configuration snmp minimale sur notre serveur - *NE PAS* faire ceci si vous avez déjà configuré SNMP auparavant! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.orig # editor /etc/snmp/snmpd.conf ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Ensuite, ajoutez la ligne suivante au fichier vide : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rocommunity NetManage 127.0.0.1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Maintenant, redémarrez le service snmp afin que les modifications soient appliquées. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # systemctl restart snmpd ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Vous pouvez vérifier que snmp vous répond localement en tapant : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # snmpstatus -v2c -c NetManage 127.0.0.1 sysStatus ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #### PHP Dans "/etc/php5/apache2/php.ini" et "/etc/php5/cli/php.ini", assurez-vous que "date.timezone" correspond à votre fuseau horaire. Voir ou les fichiers dans "/usr/share/zoneinfo" pour une liste des fuseaux horaires pris en charge. Pour cet atelier, nous allons tous utiliser le même fuseau horaire, c'est-à-dire **VEUILLEZ UTILISER** Indian/Antananarivo uniquement. Si vous sélectionnez autre chose que Indian/Antananarivo, d'autres programmes ne fonctionneront pas correctement. Dans les deux fichiers indiqués ci-dessus, trouvez la ligne qui se lit comme suit : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;date.timezone = ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Modifiez-le pour correspondre à : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ date.timezone = Indian/Antananarivo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Enregistrez et quittez l'éditeur. ## Ajout de l'utilisateur LibreNMS Nous devons créer un utilisateur système `librenms` : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # useradd librenms -d /opt/librenms -M -r # usermod -a -G librenms www-data ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ## Clonage du code source de LibreNMS avec git LibreNMS est installé à l'aide de git. Si vous n'êtes pas familier avec git, consultez le [git book](https://git-scm.com/book/en/v2) ou les conseils chez [git ready](http://gitready.com/). L'installation initiale depuis github.com s'effectue avec "git clone". Les mises à jour subséquentes sont récupérées avec "git pull". Le clone initial peut prendre un certain temps (près de 3 minutes sur une connexion de 10Mbps) car la taille du référentiel de logiciel est supérieure à plus de 220 Mo. Procédez comme suit: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # cd /opt # git clone http://www.ws.nsrc.org/git/librenms.git ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ À ce stade, vous devriez avoir un répertoire "librenms", la révision la plus récente étant extraite. Il est fortement recommandé de vérifier la version la plus récente. Pour ce faire : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # cd librenms # git tag ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Recherchez la marque la plus récente sous la forme `YYYYMM` , puis tapez : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # git checkout YYYYMM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Par exemple, si la marque la plus récente est `201605` , alors la commande est `git checkout 201605`. REMARQUE: Si, pour une raison quelconque, le clonage depuis le NOC ci-dessus échoue, vous pouvez revenir à l'utilisation du dépôt sur GitHub. Cela prendra plus de temps! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # cd /opt # git clone --depth 1 https://github.com/librenms/librenms.git librenms ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ## Interface Web Pour préparer l'interface Web (et ajouter des périphériques sous peu), vous devez créer et modifier la propriété d'un répertoire, et créer une définition Virtual Host dans Apache. Tout d'abord, créez et modifiez les droits du répertoire "rrd" et créez le répertoire "logs" : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # cd /opt/librenms # mkdir rrd logs # chown -R librenms:librenms /opt/librenms # chmod 775 rrd # chown www-data /opt/librenms ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Ensuite, créez le fichier "/etc/apache2/sites-available/librenms.conf" : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # editor /etc/apache2/sites-available/librenms.conf ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Ajoutez les lignes suivantes : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ DocumentRoot /opt/librenms/html/ ServerName librenmsN.ws.nsrc.org CustomLog /opt/librenms/logs/access_log combined ErrorLog /opt/librenms/logs/error_log AllowEncodedSlashes NoDecode Require all granted AllowOverride All Options FollowSymLinks MultiViews ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Changez le N dans "librenmsN.ws.nsrc.org" suivant le numéro de votre PC. Sur Ubuntu 16.04, "mcrypt" n'est pas activé lors de l'installation. Exécutez ce qui suit pour l'activer : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # php5enmod mcrypt ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Maintenant, activez l'hôte virtuel avant de redémarrez Apache : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # a2ensite librenms.conf # a2enmod rewrite # service apache2 restart ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ## Installateur Web Vous pouvez choisir une configuration Web ou une configuration manuelle via la ligne de commande. Nous allons utiliser l'installateur Web, ce qui est de loin le plus simple, mais nous allons inclure la configuration manuelle comme référence à la fin de ce document. À ce stade, vous pouvez lancer l'installateur Web en allant vers [http://librenmsN.ws.nsrc.org/install.php](https://translate.googleusercontent.com/translate_c?depth=1&hl=en&ie=UTF8&prev=_t&rurl=translate.google.com&sl=en&sp=nmt4&tl=fr&u=http://librenmsn.ws.nsrc.org/install.php&usg=ALkJrhilw8MGWyOm1RP9O020ddoPoqFXUQ) Suivez les instructions à l'écran. - L'étape 0 est un résumé des modules PHP installés, normalement, il suffit de cliquer sur "Prochaine étape" - L'étape 1 vous invite à définir les paramètres de la base de données. Entrez : - DB Host: localhost - Utilisateur DB: librenms - Pass DB: - DB Name: librenms - L'étape 2 étant la création de la base de données elle-même - elle devrait se terminer correctement, et vous cliquerez simplement sur "Goto Add User" en bas. - Étape 3: entrez un nom d'utilisateur, un mot de passe et une adresse électronique. Cela deviendra le login que vous utiliserez pour accéder à l'interface Web. Nous vous suggérons d'utiliser "sysadm", le mot de passe de la classe et votre propre adresse e-mail. - L'étape 4 devrait vous notifier de la réussite de la création de l'utilisateur, cliquez sur "Générer la configuration" - Etape 5: l'interface devrait montrer, à ce stade : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The config file has been created ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - L'étape 4 devrait vous montrer la création réussie de l'utilisateur, cliquez sur '' Générer la configuration '' Etape 5: l'interface devrait montrer, à ce stade: - L'étape 4 devrait vous montrer la création réussie de l'utilisateur, cliquez sur '' Générer la configuration '' - Etape 5: l'interface devrait montrer, à ce stade: - L'étape 4 devrait vous montrer la création réussie de l'utilisateur, cliquez sur '' Générer la configuration '' - Etape 5: l'interface devrait montrer, à ce stade: Vous pouvez maintenant cliquer sur "Terminer l'installation". REMARQUE: **SI** le programme d'installation vous dit qu'il ne peut pas écrire le fichier de configuration, il se peut que vous avez oublié de lancer "chown www-data /opt/librenms". Vous devriez essayer de résoudre le problème et recharger la page [http://librenmsN.ws.nsrc.org/install.php](http://librenmsn.ws.nsrc.org/install.php) Voir ci-dessous si vous rencontrez toujours des problèmes. - Étape 6: vous avez terminé! Vous pouvez maintenant suivre les instructions et cliquer où il dit "Cliquez ici pour vous connecter à votre nouvelle installation". Un outil utile est fourni avec LibreNMS pour vérifier si le logiciel est correctement installé. Essayons le : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # cd /opt/librenms # ./validate.php ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Vous pouvez avoir des avertissements sur le logiciel indiquant qu'il n'est pas à jour et un peu plus sur les autorisations. Vous pouvez probablement les ignorer pour l'instant, mais cela pourrait être utile plus tard si vous rencontrez des problèmes avec LibreNMS. Nous pouvons maintenant sécuriser le répertoire "/opt/librenms" à nouveau: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # chown librenms /opt/librenms ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ => VOUS POUVEZ DESORMAIS PROCEDER AU LAB SUIVANT ! <= ### Si vous rencontrez toujours des problèmes ... Si cela ne fonctionne toujours pas, vous devrez copier la configuration générée affichée dans la fenêtre du navigateur et la placer dans un nouveau fichier : "/opt/librenms/config.php" en utilisant un éditeur de texte de votre choix. (Rappelez-vous si vous utilisez "vi" , vous devez entrer en mode insertion avant de coller)