For det første forskellen.
mod_authn_dbd leverer autentificeringsfront-ends såsom mod_auth_digest og mod_auth_basic til at godkende brugere ved at slå brugere op i SQL-tabeller.
mod_auth_mysql er et Apache-modul, der tillader godkendelse ved hjælp af bruger- og gruppedata gemt i MySQL-databaser. Projektet ser ikke ud til at være blevet opdateret siden 2005, så jeg ville gå efter mod_authn_dbd .
For at konfigurere dette korrekt, skal du først konfigurere mod_authn_dbd og mod_dbd korrekt i din apache-konfiguration, mod_dbd tager sig af din databaseforbindelse. Når du har gjort dette (sørg for, at din Apache kører med disse moduler aktive), så kan du gå videre med at konfigurere dem.
Tilføj noget som dette til din apache-konfiguration for at konfigurere databaseforbindelsen:
<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>
Tilføj nu din ønskede godkendelseskonfiguration til apache-konfigurationen:
<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>
Jeg har forenklet SELECT-sætningen for bedre læsbarhed, du skal udvide denne for at få din konfiguration forfinet.
EDIT:
Efter at have skrevet har jeg fundet et meget godt eksempel på nettet, måske læs det her , også. Det går meget dybere end mit forenklede svar.