Ten eerste het verschil.
mod_authn_dbd biedt authenticatie front-ends zoals mod_auth_digest en mod_auth_basic om gebruikers te authenticeren door gebruikers op te zoeken in SQL-tabellen.
mod_auth_mysql is een Apache-module die authenticatie mogelijk maakt met behulp van gebruikers- en groepsgegevens die zijn opgeslagen in MySQL-databases. Het project lijkt niet te zijn bijgewerkt sinds 2005, dus ik zou gaan voor mod_authn_dbd .
Om dit correct in te stellen, moet u eerst mod_authn_dbd en mod_dbd correct configureren in uw apache-configuratie, mod_dbd zorgt voor uw databaseverbinding. Als je dit eenmaal hebt gedaan (zorg ervoor dat je Apache draait met die modules actief), kun je doorgaan met het configureren ervan.
Voeg iets als dit toe aan uw apache-configuratie om de databaseverbinding te configureren:
<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>
Voeg nu uw gewenste authenticatieconfiguratie toe aan de apache-configuratie:
<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>
Ik heb het SELECT-statement vereenvoudigd voor een betere leesbaarheid, je moet dit uitbreiden om je configuratie te verfijnen.
BEWERKEN:
Na het typen heb ik een heel goed voorbeeld op internet gevonden, misschien lees ik het hier , te. Het gaat veel dieper dan mijn vereenvoudigde antwoord.