Apache Howto AuthLDAP
Un article de openSUSE.
Sommaire |
Introduction
L'authentification avec un annuaire LDAP est très pratique. Voici comment le faire avec Apache 2.2 ( attention c'est différent dans apache 1 et 2.0, les modules n'ont pas le même nom auth_ldap au lieu de authnz_ldap)
Pre-requis
- vous devez disposez d'un annuaire LDAP, ici openLDAP sous openSUSE (paquet openldap2)
- vous devez disposez d'un serveur Apache 2.2 (paquet apache2)
Installation
Le module Ldap est en standard ( à partir de la version 2 de apache me semble t'il ) donc il n'y a rien a installer.
Configuration
Pour ajouter un module, il faut éditer le fichier /etc/sysconfig/apache2 et à la ligne APACHE_MODULES et ajouter "ldap authnz_ldap" dans la liste des modules. Egalement, vérifier bien que auth_basic et dans la liste des modules activés, car il permet de configurer ldap comme module a utilisé poru l'authentification.
Par exemple:
APACHE_MODULES="alias auth_basic authz_host ldap authnz_ldap autoindex dir env expires include log_config mime negotiation setenvif php5 mod_python"
Ensuite il faut configurer "virtualhost" concerné:
Par exemple, pour restreindre l'accès la "location" "/secure":
<Location /secure>
AuthType Basic
AuthName "restricted area"
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthLDAPBindDN LDAP_Username,cn=Users,dc=exemple,dc=org
AuthLDAPBindPassword xxxxxxxx
AuthLDAPRemoteUserIsDN off
AuthLDAPGroupAttributeIsDN off
AuthLDAPUrl ldap://LDAP_Serveur/ou=People,dc=exemple,dc=org?uid?sub?(objectClass=posixAccount)
AuthLDAPGroupAttribute member memberUid
require ldap-group cn=Users,ou=Groups,dc=exemple,dc=org
</Location>
Finalisation
Redémarrer apache, dans une console en root
~#/etc/init.d/apache2 restart

