Installation du paquet
aptitude install libapache2-mod-auth-mysql
Activation du module
a2enmod auth_mysql
Fichier de configuration pour la connexion à MySQL :
/etc/apache2/conf.d/auth_mysql.conf 1)
<IfModule mod_auth_mysql.c> auth_mysql_info 127.0.0.1 MySQL_User MySQL_User_pass auth_mysql_general_db MySQL_DB </IfModule>
Exemple pour un vhost donné:
... <Directory /home/bob/protected> Options FollowSymLinks AllowOverride None AuthType Basic AuthName "nothing" AuthBasicAuthoritative off # Permet à une autre autorité de prendre la relève en cas de défaillance de mysql. AuthUserFile /dev/null # '' Auth_MySQL_Authoritative on Auth_Mysql_Encryption_Types SHA1Sum # Type de cryptage des mots de passe en bdd. Require valid-user # user, group, valid-user </Directory> ...
Note au sujet du “AuthType Basic”:
Le module ne peut fonctionner qu'avec un authtype “Basic”, donc les mots de passe bien que chiffrés seront transmit en clair sur le réseau. Il est fortement conseillé d'utiliser une connexion chiffrée pour toute utilisation de ce module.
création de la table mysql:
CREATE TABLE IF NOT EXISTS `mysql_auth` ( `username` char(25) NOT NULL, `passwd` char(40) DEFAULT NULL, `groups` char(25) DEFAULT NULL, PRIMARY KEY (`username`) ) -- Attention à la taille du champ pour les mots de passe, suivant l'algo choisis. MD5 -> 32, SHA1 -> 40
information Debian: http://packages.debian.org/fr/stable/libapache2-mod-auth-mysql