Ceci est une ancienne révision du document !
Ce paragraphe décrit comment configurer l'authentification LDAP dans Apache.
Pour l'installation d'un serveur LDAP, voir OpenLDAP.
L'authentification LDAP d'Apache2 est réalisée par le module authnz_ldap. Son activation se fait de la façon suivante :
bender:/etc/apache2# a2enmod authnz_ldap Enabling ldap as a dependency Module ldap installed; run /etc/init.d/apache2 force-reload to enable. Module authnz_ldap installed; run /etc/init.d/apache2 force-reload to enable. bender:/etc/apache2#
Voici un exemple d'authentification LDAP :
<Directory /home/ssl> AuthType basic AuthName "private area" AuthBasicProvider ldap AuthLDAPURL ldap://127.0.0.1/dc=matthieu,dc=bouthors,dc=org?cn?sub?(objectClass=*) AuthLDAPBindDN cn=apache,ou=services,dc=matthieu,dc=bouthors,dc=org AuthLDAPBindPassword *** AuthzLDAPAuthoritative off require ldap-group cn=web,ou=groups,dc=matthieu,dc=bouthors,dc=org </Directory>
Les principales directives à utiliser pour authentifier les utilisateurs en LDAP sont decrite ci-dessous.
Lien | http://httpd.apache.org/docs/2.2/mod/core.html#authtype |
---|---|
Description | Définit le type d'authentification |
Syntaxe | AuthType Basic|Digest |
Contexte | directory, .htaccess |
Lien | http://httpd.apache.org/docs/2.2/mod/core.html#authname |
---|---|
Description | Nom du royaume présenté à l'utilisateur |
Syntaxe | AuthName auth-domain |
Contexte | directory, .htaccess |
Lien | http://httpd.apache.org/docs/2.2/mod/mod_auth_basic.html#authbasicprovider |
---|---|
Description | Indique le moteur d'authentification pour cette URL |
Syntaxe | AuthBasicProvider provider-name [provider-name] ... |
Contexte | directory, .htaccess |
Lien | http://httpd.apache.org/docs/2.2/mod/mod_authnz_ldap.html#authldapurl |
---|---|
Description | Définit les paramètres de recherche LDAP |
Syntaxe | AuthLDAPUrl ldap://host:port/basedn?attribute?scope?filter [NONE|SSL|TLS|STARTTLS] |
Contexte | directory, .htaccess |
Lien | http://httpd.apache.org/docs/2.2/mod/mod_authnz_ldap.html#authldapbinddn |
---|---|
Description | Définit le compte de service pour se connecter au LDAP (lorsque l'authentification anonyme est impossible). |
Syntaxe | AuthLDAPBindDN distinguished-name |
Contexte | directory, .htaccess |
Lien | http://httpd.apache.org/docs/2.2/mod/mod_authnz_ldap.html#authldapbindpassword |
---|---|
Description | Définit le mot de passe du compte de service |
Syntaxe | AuthLDAPBindPassword password |
Contexte | directory, .htaccess |
Lien | http://httpd.apache.org/docs/2.2/mod/mod_authnz_ldap.html#authzldapauthoritative |
---|---|
Description | Permet de contrôler si d'autre module d'authentification peuvent authentifier l'utilisateur en cas d'utilisateur introuvable dans le LDAP. |
Syntaxe | AuthzLDAPAuthoritative on|off |
Contexte | directory, .htaccess |
Lien | http://httpd.apache.org/docs/2.2/fr/mod/core.html#require |
---|---|
Description | Définit quelle personne authentifiée peut accèder à ce répertoire |
Syntaxe | Require entity-name [entity-name] … |
Contexte | directory, .htaccess |
Exemples :
require valid-user
require matthieu
require ldap-group cn=web,ou=groups,dc=matthieu,dc=bouthors,dc=org
Attention : la méthode décrite ci dessous ne fonctionne plus avec les dernières version de apache. En effet le module utilisé n'est plus maintenu.
Pour l'installation de Mysql, voir mysql.
Pour construire la base de données contenant les utilisateurs, voir authent_sql.
Le paquet suivant est nécessaire :
Une fois installé, il suffit d'activer le module avec la commande suivante :
a2enmod auth_mysql
Voici un exemple de configuration avec l'authentification Mysql.
Pour le descriptif des directives, voir http://www.diegonet.com/support/mod_auth_mysql.shtml
# configuration authentification mysql (auth mysql) Auth_MySQL_Info localhost apache ********* Auth_MySQL_General_DB users <Directory /> AllowOverride None Auth_MySQL_Password_Table users Auth_MySQL_Group_Table groupes_apache Auth_MySQL_Username_Field login Auth_MySQL_Password_Field password Auth_MySQL_Group_Field groupe Auth_MySQL_Empty_Passwords off Auth_MySQL_Encryption_Types Crypt Auth_MySQL_Authoritative on Auth_MySQL on AuthType Basic AuthName Extranet_matthieu.bouthors.org Require group admin Order Deny,Allow Deny from All </Directory> <Directory /home/ssl> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all Require valid-user </Directory>