Za prvé rozdíl.
mod_authn_dbd poskytuje autentizační front-endy, jako je mod_auth_digest a mod_auth_basic pro ověřování uživatelů vyhledáním uživatelů v tabulkách SQL.
mod_auth_mysql je modul Apache, který umožňuje autentizaci pomocí uživatelských a skupinových dat uložených v databázích MySQL. Zdá se, že projekt nebyl od roku 2005 aktualizován, takže bych šel po mod_authn_dbd .
Chcete-li to správně nastavit, musíte nejprve správně nakonfigurovat mod_authn_dbd a mod_dbd v konfiguraci Apache, mod_dbd se stará o připojení k databázi. Jakmile to uděláte (ujistěte se, že váš Apache běží s těmito moduly aktivní), můžete pokračovat v jejich konfiguraci.
Přidejte něco takového do konfigurace Apache pro konfiguraci připojení k databázi:
<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>
Nyní přidejte požadovanou konfiguraci ověřování do konfigurace 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>
Zjednodušil jsem příkaz SELECT pro lepší čitelnost, musíte jej rozšířit, abyste svou konfiguraci zdokonalili.
UPRAVIT:
Po zadání jsem našel na webu velmi dobrý příklad, možná si ho přečtěte zde , také. Jde to mnohem hlouběji než moje zjednodušená odpověď.