Apache et LDAP

De Diablotins.org.


Cette page est en travaux, elle n'est pas encore dans un état de diffusion
Image:Onwork.jpgUtilisez la page discussion associée pour connaitre les tâches à faire et prendre contact avec le/les responsable(s)
Image:brush.png

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

  • dc=domain,dc=tld est la racine de l'arbre
  • ou=webusers est un organizationalUnit
  • titi et toto sont de SimpleSecurityObject+Account

.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>

Configuration et LDAP

Solution

Installation

Configuration

Outils personnels
Projets :