Pas à pas
Afin de comprendre le fonctionnement concret de Vulture, je vous propose de suivre ce pas à pas basé sur ma petite expérience personnelle
0. Identification des besoins
Mon besoin est relativement simple : j'ai plusieurs applications intranet dont GLPI, Oreon, un portail Joomla et quelques développements maison en PHP.
Ces applications sont toutes hébergées sur une machine du réseau. Un pointeur DNS a été créé afin que les utilisateurs y accèdents via le nom 'clinique'.
Ainsi, les URL des mes applications intranet sont de cette forme : http://clinique/progop, http://clinique/intranet, http://clinique/glpi etc...
Point important, toutes mes applications utilisent déjà l'authentification LDAP de mon Active Directory. L'intérêt c'est que tous mes utilisateurs utilisent d'ores et déjà le même couple username/password dans toutes les applications mais l'inconvénient est qu'ils doivent retaper leur username/password dès qu'ils changent d'application.
Grâce à Vulture, j'ai souhaité mettre en place un système de SSO : portail d'authentification unique donnant accès à une liste d'applications autorisées pour cet utilisateur avec passage des username/password pour éviter la resaisie.
1. Mise en place de la machine de test
L'équipe de développement a eu l'excellente idée de préparer une machine virtuelle VMWare ; ce qui réduit considérablement le temps de mise en place d'une machine de test.
Vous pouvez la télécharger là : http://vulture.open-source.fr/download/vmware/
Attention ! La version de Vulture installée sur la VM est la 1.99-3 et n'est donc pas forcément la dernière version (actuellement, 1.99-4)
Une fois téléchargée, j'ai lancé cette VM (via VMWare Workstation ou VMWare Player).
Lorsque le prompt est apparu, je me suis connecté en root ; user : root, password : root)
1.1 Configuration initiale
Ayant un serveur DHCP sur mon réseau, la machine virtuelle a automatiquement obtenu une adresse ip.
Après un ifconfig , j'ai noté l'ip de cette machine : 172.16.0.59
Une fois l'IP notée, j'ai commencé à éditer le fichier de configuration principal de Vulture : nano /var/www/vulture/conf/httpd.conf
J'ai cherché Listen 127.0.0.1:9090 et remplacé par Listen 172.16.0.59:9090 //Cette modification permet d'accéder à l'interface d'admin de Vulture depuis n'importe quel poste du réseau (voir la Documentation)
Juste en dessous, remplacez aussi la ligne par Virtualhost 172.16.0.59:9090
Il est désormais possible d'accéder à l'interface d'administration : https://172.16.0.59:9090
(user : admin, password : admin)
1.2 Paramétrage
Première chose à faire : changer le mot de passe de l'administrateur.
Sur la gauche, allez dans la partie Utilisateurs. En face de l'utilisateur 'admin', cliquez sur le bouton Modifier et changez le mot de passe.
La seconde chose à faire est de mettre en place une interface.
Sur la gauche, allez dans la partie Interfaces . Cliquez ensuite sur 'Ajouter'.
Indiquez les informations suivantes :
Description : http
Adresse IP : 172.16.0.59
Port : 80
Puis validez. Juste après sa création, l'interface reste arrêtée (croix rouge). Ne la démarrez pas tout de suite.
La troisième chose à faire est de créer au moins une application.
Sur la gauche, allez dans la partie Applications. Cliquez ensuite sur 'Ajouter'.
Concernant le champ 'Nom Internet' : Ce champ ne doit pas être un nom court.
Ainsi, les URL de mes applications actuelles devront changer : http://clinique/appli -> http://appli.clinique.local par exemple
Commençons par l'application Progop (développement maison)
Indiquez les informations suivantes :
- Nom Internet : progop.clinique.local
- Description : Progop
URL privée : http://clinique/progop/
Puis validez. Retournez sur l'écran des Interfaces et démarrez l'interface http créée précédemment.
Plutôt que de modifier les entrées du serveur DNS de mon domaine, j'ai préféré modifier le fichier hosts de mon poste perso : plus rapide et moins risqué en période de tests !
Sur mon poste, j'ai donc édité le fichier hosts (sous windows c:\windows\system32\drivers\etc , sous unix /etc/hosts) pour indiquer : 172.16.0.59 progop.clinique.local
<to be continued...>