{{tag>fr fr:linux fr:serveur fr:web fr:authentification}}
====== Authentification avec Apache ======
===== Authentification LDAP =====
Ce paragraphe décrit comment configurer l'authentification LDAP dans [[linux:serveur_web|Apache]].
==== Installation ====
Pour l'installation d'un serveur LDAP, voir [[linux: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#
==== Configuration ====
Voici un exemple d'authentification LDAP :
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
Les principales directives à utiliser pour authentifier les utilisateurs en LDAP sont decrite ci-dessous :
* AuthType : Définit le type d'authentification
* AuthName : Nom du royaume présenté à l'utilisateur
* AuthBasicProvider : Indique le moteur d'authentification pour cette URL
* AuthLDAPURL : Définit les paramètres de recherche LDAP
* AuthLDAPBindDN : Définit le compte de service pour se connecter au LDAP (lorsque l'authentification anonyme est impossible).
* AuthLDAPBindPassword : Définit le mot de passe du compte de service
* AuthzLDAPAuthoritative : Permet de contrôler si d'autre module d'authentification peuvent authentifier l'utilisateur en cas d'utilisateur introuvable dans le LDAP.
* Require : Définit quelle personne authentifiée peut accèder à ce répertoire
Exemples :
* N'importe quel utilisateur valide :
require valid-user
* L'utilisateur matthieu :
require matthieu
* Le groupe "web" :
require ldap-group cn=web,ou=groups,dc=matthieu,dc=bouthors,dc=org
===== Authentification MySQL =====
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.
==== Installation ====
Pour l'installation de Mysql, voir [[linux:mysql]].\\
Pour construire la base de données contenant les utilisateurs, voir [[linux:authent_sql]].
Le paquet suivant est nécessaire :
* libapache2-auth-mysql
Une fois installé, il suffit d'activer le module avec la commande suivante :
a2enmod auth_mysql
==== Configuration ====
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
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
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
Require valid-user
===== Links =====
* [[linux:serveur_web]]