Comment installer phpIPAM sur Ubuntu 16.04

introduction

À mesure que votre infrastructure grandit, le nombre d’adresses IP que vous utilisez peut également augmenter de manière telle que vous ne pourrez plus vous fier uniquement à votre mémoire pour toutes les gérer. À ce stade, vous voudrez un outil pour vous aider à garder une trace des choses.

Les feuilles de calcul et les fichiers texte brut sont des solutions peu techniques que vous pouvez mettre en œuvre rapidement, mais ils peuvent également s’avérer trop lourds lorsque vous travaillez avec de grands pools d’adresses IP ou lorsque vous essayez de suivre plusieurs points de données autour de chaque adresse.

phpIPAM, un outil dédié à la gestion des adresses IP, va bien au-delà des options low-tech en fournissant des analyses de ping automatiques, des rapports de statut vous permettant de voir quels hôtes sont en veille et lesquels sont en panne. , notifications par courrier électronique sur les modifications apportées aux hôtes que vous surveillez et autres fonctionnalités facilitant grandement la gestion de l’infrastructure.

Dans ce guide, vous allez installer et configurer phpIPAM sur une pile Linux, Apache, MySQL et PHP (LAMP) s’exécutant sous Ubuntu 16.04.

Conditions préalables

Avant de commencer, vous aurez besoin de:

Étape 1 - Configuration d’Apache

Par défaut, phpIPAM s’appuie sur query strings dans sa structure d’URL pour transmettre les données d’une partie de l’application à une autre. Les chaînes de requête sont ajoutées à une URL avec un signe "? +" Et contiennent une ou plusieurs paires champ-valeur séparées par " + +".

PhpIPAM supporte URL-rewriting par le module + mod_rewrite + d’Apache, qui traduit les chaînes de requête en URL plus lisibles et plus conviviales.

Si vous n’avez pas encore activé + mod_rewrite + dans https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-16-04 [sécurisez votre installation Apache avec un certificat TLS] comme condition préalable en redirigeant toutes les requêtes HTTP vers HTTPS, utilisez maintenant l’utilitaire Apache + a2enmod + pour activer + mod_rewrite + afin de pouvoir activer la réécriture d’URL à l’étape 2.

sudo a2enmod rewrite

Cette commande crée un lien symbolique vers + / etc / apache2 / mods-available / rewrite.load + dans + / etc / apache2 / mods-enabled / rewrite / +, ce qui activera le module au prochain démarrage d’Apache.

Si + mod_rewrite + était déjà activé, la sortie indiquera:

Output of sudo a2enmod rewriteModule rewrite already enabled

Sinon, la sortie vous indiquera que le lien symbolique a été créé et que vous devez redémarrer Apache pour activer le changement.

Output of sudo a2enmod rewriteEnabling module rewrite.
To activate the new configuration, you need to run:
 service apache2 restart

Même si Apache activera désormais + mod_rewrite + lors du prochain démarrage du serveur Web, vous devez toujours modifier la configuration de votre hôte virtuel phpIPAM pour rendre + mod_rewrite + disponible pour phpIPAM. Donc, ne redémarrez pas Apache pour l’instant.

A la place, ouvrez le fichier de configuration Apache que vous avez créé pour phpIPAM dans les Prérequis.

sudo nano /etc/apache2/sites-available/

Collez les lignes suivantes dans le fichier de configuration sous la section + DocumentRoot +.

phpipam.conf

...
   <Directory /var/www/
           Options FollowSymLinks
           AllowOverride all
           Require all granted
   </Directory>
...
  • + Directory + est l’emplacement sur le serveur où les directives seront appliquées. Cela devrait être le répertoire dans lequel vous prévoyez d’installer phpIPAM. Si vous avez suivi le https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu-16-04 de Guide des hôtes virtuels Apache] dans les Conditions préalables, cette est + / var / www / +.

  • + Options FollowSymLinks + indique à Apache de suivre les liens symboliques dans ce répertoire. Ce sont les paramètres par défauts.

  • + AllowOverride all + signifie que toute directive dans un fichier + .htaccess + dans ce répertoire doit remplacer toute directive globale correspondante.

  • + Exiger tous les droits accordés + indique à Apache d’autoriser les demandes entrantes de tous les hôtes.

Enregistrez et fermez le fichier pour continuer.

Maintenant, testez les modifications de configuration avant de redémarrer Apache.

sudo apache2ctl configtest

Si le résultat dit + Syntax OK +, vous êtes prêt à passer à autre chose. Sinon, lisez les instructions précédentes et suivez les messages à l’écran pour plus d’informations.

Enfin, redémarrez Apache pour activer + mod_rewrite + et activer la nouvelle configuration.

sudo systemctl restart apache2

Comme vous n’avez pas encore installé phpIPAM, il n’ya rien à voir sur + https: // +. Nous allons donc télécharger et installer phpIPAM maintenant.

Étape 2 - Installer phpIPAM

Les /official instructions d’installation] suggèrent deux méthodes pour installer phpIPAM: le téléchargement d’une archive à partir de du dépôt SourceForge du projet ou clonage du projet à partir de son référentiel GitHub. Pour faciliter les futures mises à jour, utilisons cette dernière méthode.

Par défaut, Git ne clonera dans un répertoire existant que si ce dernier est vide. Utilisez donc la commande + ls + pour afficher le contenu du répertoire que vous avez configuré pour Apache à l’étape 1.

ls /var/www/

Si le répertoire n’est pas vide, utilisez basic Commandes de navigation et de gestion de fichiers Linux pour le nettoyer maintenant. + mv + déplace le contenu vers un emplacement différent et + rm + les supprime complètement.

Maintenant, clonez le projet Git dans le répertoire.

git clone https://github.com/phpipam/phpipam.git /var/www/

La sortie confirme l’emplacement dans lequel vous clonez, puis fournit un rapport en temps réel du processus, comprenant le nombre d’objets que Git est censé copier ainsi que le nombre effectivement copié.

Output of git cloneCloning into /var/www/ ...
remote: Counting objects: 14234, done.
remote: Compressing objects: 100% (50/50), done.
remote: Total 14234 (delta 27), reused 40 (delta 17), pack-reused 14161
Receiving objects: 100% (14234/14234), 11.38 MiB | 21.30 MiB/s, done.
Resolving deltas: 100% (10066/10066), done.
Checking connectivity... done.

Vous avez maintenant l’application complète phpIPAM sur votre serveur, mais il vous manque encore certains modules PHP dont phpIPAM a besoin pour fonctionner. Installez-les avec + apt-get.

Ces paquets supplémentaires fournissent à PHP le GNU module de précision multiple permettant de travailler avec des entiers de longueur arbitraire, le http://php.net/manual/en /book.mbstring.php[Multibyte String module] pour la gestion des langages ne pouvant pas être exprimés en 256 caractères, le PEAR framework pour les composants PHP réutilisables et le http: // php.net/manual/fr/book.image.php[GD module] pour le traitement des images.

sudo apt-get install php7.0-gmp php7.0-mbstring php-pear php7.0-gd

Redémarrez Apache pour rendre les nouveaux modules disponibles.

sudo systemctl restart apache2

Avec les fichiers d’application et les modules supplémentaires sur le serveur, vous êtes prêt à configurer phpIPAM.

Étape 3 - Configuration de phpIPAM

phpIPAM recherche ses principaux paramètres de configuration dans un fichier nommé + config.php. Bien que ce fichier n’existe pas par défaut, l’application est fournie avec un exemple de fichier de configuration.

Accédez au répertoire d’installation et faites une copie de l’exemple de fichier de configuration pour vous y reporter ultérieurement si vous rencontrez un problème.

cd /var/www/
cp config.dist.php config.php

Ouvrez le nouveau fichier pour le modifier.

nano config.php

Recherchez la section intitulée «+ * détails de la connexion à la base de données». Ces paramètres indiquent à phpIPAM comment se connecter à la base de données MySQL qui contiendra toutes vos données.

Comme vous avez installé MySQL sur le même ordinateur que phpIPAM, vous pouvez laisser la valeur + $ db ['hôte'] + définie sur + localhost +. Et comme MySQL écoute sur le port + 3306 + par défaut, vous n’avez pas besoin de changer la valeur + $ db ['port'] +.

Il n’existe pas encore de configuration de base de données MySQL pour phpIPAM, mais à l’étape 4, l’installation Web de phpIPAM créera une base de données et un utilisateur de base de données en utilisant les valeurs que vous avez entrées dans ce fichier. Donc, définissez la valeur + $ db ['utilisateur'] + sur le nom de l’utilisateur auquel vous voulez que phpIPAM se connecte à MySQL, définissez la valeur + $ db ['pass'] + avec le mot de passe souhaité phpIPAM à utiliser lors de la connexion à MySQL, et attribuez + $ db ['name'] + le nom que vous voulez donner à la base de données MySQL.

phpIPAM’s config.php

<?php

/**
* database connection details
******************************/
$db['host'] = 'localhost';
$db['user'] = '';
$db['pass'] = '';
$db['name'] = '';
$db['port'] = 3306;
...

Outre les paramètres précédents, de nombreuses autres options sont disponibles dans ce fichier. Par exemple, vous pouvez configurer une connexion sécurisée à la base de données à l’aide d’un certificat SSL, vous pouvez activer les notifications par courrier électronique pour divers événements de base de données et activer le mode de débogage pour générer des journaux plus détaillés. Toutefois, pour une installation de base, vous pouvez laisser le reste de ces paramètres sur leurs valeurs par défaut.

Lorsque vous avez terminé, enregistrez et fermez le fichier.

Maintenant que vous avez créé le fichier de configuration principal pour phpIPAM, il est temps de vous connecter à l’interface Web et de terminer l’installation.

Étape 4 - Création de la base de données et de l’utilisateur de la base de données

La dernière étape du processus d’installation consiste à créer une base de données MySQL et un utilisateur pour phpIPAM et à configurer un compte utilisateur administrateur pour l’interface Web de phpIPAM. Tout cela peut être fait via l’assistant d’installation Web de phpIPAM.

Naviguez dans votre navigateur pour + https: /// install. La page d’accueil de l’installation phpIPAM vous souhaite la bienvenue et vous invite à choisir le type d’installation à effectuer. Si vous ne parvenez pas à afficher cet écran, vérifiez que votre pare-feu ne bloque pas l’accès au port + 80 + et retracez les étapes précédentes pour résoudre le problème.

Il y a trois options sur cet écran - * Nouvelle installation phpipam *, * Migrer l’installation phpipam * et * Installation en cours * - chacune avec une brève description de son objectif. Lorsque vous configurez une nouvelle installation phpIPAM, appuyez sur le bouton intitulé "Nouvelle installation phpipam".

image: http: //assets.digitalocean.com/articles/how-to-install-phpipam/installation-step1.png [Installer phpIPAM, étape 1]

Sur l’écran suivant, l’assistant décrit le reste du processus d’installation, vous dirige vers la documentation d’installation officielle pour plus de détails et vous demande de choisir le type d’installation de la base de données. tu aimerais jouer.

Encore une fois, vous avez trois choix:

  • * Installation automatique de la base de données *: L’assistant utilisera les informations que vous avez saisies dans + config.php + à l’étape 3 pour créer une base de données MySQL et un utilisateur.

  • * Instructions d’importation de MySQL *: vous utiliserez l’utilitaire mysqlimport de MySQL pour créer la base de données à partir des fichiers en clair que vous fournissez.

  • * Installation manuelle de la base de données *: L’assistant vous fournira les commandes SQL par défaut nécessaires pour créer manuellement une nouvelle base de données phpIPAM.

Par souci de simplicité, choisissez l’option entièrement automatisée en cliquant sur le bouton * Installation automatique de la base de données *.

image: http: //assets.digitalocean.com/articles/how-to-install-phpipam/installation-step2.png [Installation de phpIPAM, étape 2]

L’assistant va maintenant vous demander de fournir les informations nécessaires pour vous connecter à MySQL. Cela inclut les informations de connexion de l’utilisateur auquel il doit se connecter, l’emplacement de la base de données et le nom de la base de données.

Comme vous avez besoin de l’assistant pour créer une nouvelle base de données et un nouvel utilisateur, vous devez entrer les informations d’identification de connexion d’un utilisateur disposant de privilèges suffisants. Votre utilisateur MySQL * root * est un bon choix.

Par défaut, l’emplacement de la base de données est défini sur * localhost * et son nom sur * phpipam *. Si vous souhaitez modifier l’un de ces éléments, vous devez éditer le fichier + config.php + créé à l’étape 3, puis redémarrer l’assistant d’installation.

Vous pouvez accéder à d’autres options d’installation en cliquant sur le bouton * Afficher les options avancées *. Ici, vous aurez trois autres choix:

  • * Supprimer la base de données existante * Avant d’exécuter la procédure d’installation, l’assistant tente de supprimer une base de données portant le même nom que la valeur indiquée dans le champ * Nom de la base de données MySQL *. Ceci est désactivé par défaut.

  • * Créer une base de données * L’assistant essaiera de créer une base de données portant le même nom que la valeur indiquée dans le champ * Nom de la base de données MySQL *. Ceci est activé par défaut.

  • * Créer des autorisations * L’assistant essaiera de définir des autorisations sur la nouvelle base de données en limitant l’accès à l’utilisateur MySQL défini dans + config.php +. Ceci est activé par défaut.

Entrez le nom d’utilisateur et le mot de passe de l’utilisateur MySQL auquel vous souhaitez connecter l’assistant, laissez les options avancées définies sur leurs valeurs par défaut et appuyez sur le bouton * Installer la base de données phpipam *.

image: http: //assets.digitalocean.com/articles/how-to-install-phpipam/installation-step3.png [Installation de phpIPAM, étape 3]

Un message de confirmation vous indique que l’assistant a correctement installé la base de données. Si ce n’est pas le cas, consultez les messages d’erreur de l’assistant pour obtenir une aide supplémentaire.

Cliquez sur * Continuer * pour poursuivre l’installation.

image: http: //assets.digitalocean.com/articles/how-to-install-phpipam/installation-step4.png [Installation de phpIPAM, étape 4]

Sur cet écran, l’assistant vous invite à définir le mot de passe de l’utilisateur administrateur de l’interface Web, le titre à afficher en haut de chaque écran de l’interface Web phpIPAM et l’URL de votre installation phpIPAM.

Entrez le mot de passe administrateur que vous souhaitez utiliser, un titre descriptif pour votre interface phpIPAM et le nom de domaine pleinement qualifié qui pointe vers votre installation phpIPAM, puis appuyez sur le bouton * Enregistrer les paramètres *.

image: http: //assets.digitalocean.com/articles/how-to-install-phpipam/installation-step5.png [Installation de phpIPAM, étape 5]

Vous devriez maintenant voir un message de confirmation vous indiquant que les paramètres ont été enregistrés avec succès. Si ce n’est pas le cas, utilisez les messages d’erreur de l’assistant pour diagnostiquer le problème.

image: http: //assets.digitalocean.com/articles/how-to-install-phpipam/installation-step6.png [Installation de phpIPAM, étape 6]

Cliquez sur le bouton * Continuer pour vous connecter * pour aller à la page d’accueil de votre installation phpIPAM, et connectez-vous avec le nom d’utilisateur * admin * et le mot de passe que vous avez entrés dans le champ * Mot de passe administrateur *.

L’installation et la configuration de phpIPAM sont maintenant terminées, vous pouvez donc commencer à ajouter des informations pour gérer plus facilement les réseaux que vous surveillez.

Conclusion

Dans cet article, vous avez installé et configuré phpIPAM, une application Web de gestion d’adresses IP open source. Vous pouvez maintenant surveiller l’utilisation des adresses IP dans votre propre infrastructure et dans d’autres réseaux.

De plus, vous pouvez utiliser phpIPAM pour suivre vos VLAN et les mapper sur vos sous-réseaux, garder un inventaire de vos périphériques réseau incluant des informations telles que le type de périphérique et son emplacement, et configurer les notifications par courrier électronique pour être alerté des changements sur votre réseau.

Pour automatiser la programmation de phpIPAM et l’intégration aux applications que vous écrivez vous-même, consultez la documentation officielle sur l’API intégrée de phipIPAM. Pour être opérationnel plus rapidement avec l’API, explorez les tutoriels d’introduction official.

Enfin, veillez à examiner les paramètres d’analyse automated par rapport à une infrastructure publique que vous gérez ou à votre propre infrastructure locale. C’est l’automatisation de l’analyse de l’hôte qui peut vous apporter le plus grand avantage en tant qu’ingénieur système ou administrateur système.