Innanzitutto la differenza.
mod_authn_dbd fornisce front-end di autenticazione come mod_auth_digest e mod_auth_basic per autenticare gli utenti cercando gli utenti nelle tabelle SQL.
mod_auth_mysql è un modulo Apache che consente l'autenticazione utilizzando i dati di utenti e gruppi archiviati nei database MySQL. Il progetto sembra non essere aggiornato dal 2005, quindi sceglierei mod_authn_dbd .
Per configurarlo correttamente, prima devi configurare mod_authn_dbd e mod_dbd correttamente nella configurazione di apache, mod_dbd si occupa della connessione al database. Una volta fatto questo (assicurati che il tuo Apache sia in esecuzione con quei moduli attivi), puoi procedere con la configurazione.
Aggiungi qualcosa di simile alla configurazione di Apache per configurare la connessione al database:
<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>
Ora aggiungi la configurazione di autenticazione desiderata nella configurazione di 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>
Ho semplificato l'istruzione SELECT per una migliore leggibilità, devi espanderla per perfezionare la tua configurazione.
MODIFICA:
Dopo aver digitato ho trovato un ottimo esempio nel web, magari leggerlo qui , anche. Va molto più in profondità della mia risposta semplificata.