Apache et LDAP
De Diablotins.org.
| Cette page est en travaux, elle n'est pas encore dans un état de diffusion |
Utilisez la page discussion associée pour connaitre les tâches à faire et prendre contact avec le/les responsable(s)
|
| |
|
Sommaire |
Introduction
un annuaire LDAP, ici OpenLDAP, peut servir à de nombreuse chose :
- d'annuaire d'utilisateur, de base d'utilisateur
- de support d'athentification
- de support de configuration
- de base de description
- etc ....
En gros on petu utiliser LDAP pour stocker toutes les données de configuration et/ou d'utilisation d'un service.
- qu'est-ce que ce service ?
- comment fonctionne ce service ?
- qui est cette personne ?
- que peut-elle utiliser ?
- comment peut-elle l'utiliser ?
- etc ...
Le Web n'échappe pas à cette règle.
Nous allons donc voir comment utiliser OpenLDAP comme support global pour Apache.
Nous allons monter l'équivalent d'un Active Directory en OpenSource.
Authentification et LDAP
Le cas simple pour commencer à stocker des informations sur notre annuaire, l'authentification des utilisateurs.
Remarque : avant de commencer cette documentations vous devez maitriser les concepts de base de LDAP.
Remarque : Cette documentation n'est pas encore valable pour la branche 2 d'Apache, uniquement pour la branche 1.3.XX.
Ici on va stocker des informations sur un utilisateur nommé 'toto'.
Solution
Pour mettre en place cette authentification sur Apache il faut ajouter un module à Apache.
On va considérer que la version du port Apache installé est :
apache13-modssl
Nous ne traiterons pas ici de sont installation, mais vous pouvez allez consulter la page Installation de Apache SSL
Installation
Pour installer l'authentification il faut donc installer un port FreeBSD :
$ su - # cd /usr/ports/www/auth_ldap # make install clean
On vérifie l'installation du module :
# ls /usr/local/libexec/apache/mod_auh_ldap.so /usr/local/libexec/apache/mod_auh_ldap.so
Configuration
On va maintenant configurer le module dans Apache :
# vi /usr/local/etc/apache/httpd.conf -- [...] LoadModule auth_ldap_module libexec/apache/mod_auth_ldap.so [...] AddModule mod_auth_ldap.c [...]
Test
Arbre LDAP
![]() |
|
.htaccess dans un répertoire
AuthName www.domain.tld AuthType Basic AuthLDAPURL ldap://127.0.0.1:389/ou=webusers,dc=domain,dc=tld?uid?one require valid-user
LDIF
# dn: dc=domain,dc=tld # objectClass: domain # dc: ultragreen
dn: ou=webusers,dc=domain,dc=tld objectClass: top objectClass: organizationalUnit ou: webusers description: Web users ou dn: uid=toto,ou=webusers,dc=domaine,dc=tld uid: toto objectClass: top objectClass: account objectClass: simpleSecurityObject userPassword:: <SECRET_HASH_MD5> dn: uid=titi,ou=webusers,dc=domaine,dc=tld uid: titi objectClass: top objectClass: account objectClass: simpleSecurityObject userPassword:: <SECRET_HASH_MD5>



