Tout d'abord la différence.
mod_authn_dbd fournit des interfaces d'authentification telles que mod_auth_digest et mod_auth_basic pour authentifier les utilisateurs en recherchant des utilisateurs dans des tables SQL.
mod_auth_mysql est un module Apache qui permet l'authentification à l'aide de données d'utilisateurs et de groupes stockées dans des bases de données MySQL. Le projet ne semble pas avoir été mis à jour depuis 2005, donc je choisirais mod_authn_dbd .
Pour configurer cela correctement, vous devez d'abord configurer correctement mod_authn_dbd et mod_dbd dans votre configuration apache, mod_dbd s'occupe de votre connexion à la base de données. Une fois que vous avez fait cela (assurez-vous que votre Apache est en cours d'exécution avec ces modules actifs), vous pouvez continuer à les configurer.
Ajoutez quelque chose comme ceci à votre configuration apache pour configurer la connexion à la base de données :
<IfModule mod_dbd.c>
DBDriver mysql
DBDParams "host=(your_db_server, p.e. 127.0.0.1) dbname=your_db_name user=your_db_user pass=your_db_pass"
DBDMin 1
DBDKeep 8
DBDMax 20
DBDExptime 200
</IfModule>
Ajoutez maintenant la configuration d'authentification souhaitée dans la configuration apache :
<Directory "/your/svn/repository/path/">
Options FollowSymLinks Indexes MultiViews
AuthType Basic
AuthName "Allowed users Only"
AuthBasicProvider dbd
AuthDBDUserPWQuery "SELECT pwd FROM tbl_users, tbl_user_group WHERE tbl_users.user_id=%s AND tbl_user.user_id=tbl_user_group.user_id"
Require valid-user
AllowOverride None
Order allow,deny
Allow from all
</Directory>
J'ai simplifié l'instruction SELECT pour une meilleure lisibilité, vous devez l'étendre pour affiner votre configuration.
MODIF :
Après avoir tapé, j'ai trouvé un très bon exemple sur le Web, lisez-le peut-être ici , aussi. Cela va beaucoup plus loin que ma réponse simplifiée.