{{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]]