Първо разликата.
mod_authn_dbd предоставя интерфейси за удостоверяване като mod_auth_digest и mod_auth_basic за удостоверяване на потребители чрез търсене на потребители в SQL таблици.
mod_auth_mysql е Apache модул, който позволява удостоверяване с използване на потребителски и групови данни, съхранявани в MySQL бази данни. Изглежда, че проектът не се е актуализирал от 2005 г., така че бих избрал mod_authn_dbd .
За да настроите това правилно, първо трябва да конфигурирате mod_authn_dbd и mod_dbd правилно във вашата конфигурация на apache, mod_dbd се грижи за връзката с вашата база данни. След като направите това (уверете се, че вашият Apache работи с тези модули активни), тогава можете да продължите да ги конфигурирате.
Добавете нещо подобно към вашата конфигурация на apache, за да конфигурирате връзката с базата данни:
<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>
Сега добавете желаната от вас конфигурация за удостоверяване в конфигурацията на 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>
Опростих оператора SELECT за по-добра четливост, трябва да го разширите, за да прецизирате конфигурацията си.
РЕДАКТИРАНЕ:
След като написах, намерих много добър пример в мрежата, може би го прочетох тук , също Той е много по-дълбок от моя опростен отговор.