Objectif: Utiliser le serveur d’annuaire OpenLDAP pour protéger l’accès à un site web. Protéger l’accès revient à n’autoriser qu’un ensemble restreint de personnes à lire le contenu de ce site. Plus concrètement, à chaque demande d’accès au site web, il sera demandé la saisie d’un identifiant et un mot de passe. L’accès n’est autorisé que pour ceux qui sont référencés dans l’annuaire LDAP. Pré-requis: L’article Ajouter des données à l’annuaire ainsi que ses pré-requis sont lus. Le serveur OpenLDAP est installé et alimenté avec les données de l’article.
1. Installer le serveur web apache
Vérifier si ce serveur est installésudo service apache2 status2 Possibilités selon la réponse obtenue:
- « * apache2 is running » ou « * apache2 is not running » : Le serveur est installé, passer au paragraphe 2.
- « apache2: unrecognized service »: Le serveur n’est pas installé, il faudra le faire.
sudo apt-get install apache2
2. Mettre en place un site web de test
Pour rester simple, on va utiliser le site par défaut. Sauvegarder la page d’entrée de ce site:sudo mv /var/wwww/index.html /var/www/index.html.origCréer une nouvelle page:
vi /var/wwww/index.htmlEt saisir puis enregistrer:
<html> <header> <title>OpenLDAP tutorial</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </header> <body> <h6>Site web OpenLDAP tutorial</h6> </body> </html
3. Tester le fonctionnement du site
Dans un navigateur web saisir dans la barre d’adresse: http://localhost puis entrée. Il doit s’afficher une page blanche avec le sous-titre Site web OpenLDAP en haut. Si ce n’est pas le cas, vérifier la configuration du site par défaut car l’installation a été probablement modifiée après l’installation du serveur web.ls -l /etc/apache2/sites-enabled/En réponse à cette commande on devrait avoir au moins la ligne: 000-default.conf -> ../sites-available/000-default.conf Et le contenu de ce fichier doit comporter:
<VirtualHost desktop:80> ServerName localhost DocumentRoot /var/www ... </VirtualHost>Si ce n’est pas le cas, rectifier puis redémarrer le serveur.
4. Activer et configurer le mod-ldap du serveur apache2
Le mod-ldap est un add-in du serveur web apache2, il est installé mais non activé par défaut sur les systèmes Debian et compatibles. S’il n’est pas installé, il convient de le faire avant toute autre action.sudo a2enmod authnz_ldapAprès l’activation, il convient de le configurer pour indiquer les paramètres de notre serveur OpenLDAP:
sudo vi /etc/apache2/mods-enabled/ldap.confModifier le contenu pour que ce fichier contienne:
<Location /> AuthType Basic AuthBasicProvider ldap AuthName "Saisir identifiant et mot de passe" AuthLDAPURL ldap://localhost/ou=People,dc=ldaptuto,dc=net?uid?sub?(objectClass=*) Require valid-user </Location>Et enfin redémarrer le serveur web pour tenir compte de cette nouvelle configuration:
sudo service apache2 restart