Mod auth mysql

De SME Server Wiki

installation

installez le module

yum install mod_auth_mysql

ajouter le template ad hoc

mkdir --parent  /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/
cd  /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/
touch 20LoadModule80mod_auth_mysql
echo "LoadModule mysql_auth_module modules/mod_auth_mysql.so">20LoadModule80mod_auth_mysql
expand-template /etc/httpd/conf/httpd.conf ;service httpd-e-smith restart

maintenant vous avez le module installé et chargé et vous pouvez créer une authentification mysql

base sql

créez un utilisateur avec mot de passe mysql avec les droits sur la table que vous voulez

créez éventuellement la table si ce n'est déjà fait

dossier apache

La plusieurs options s'offrent à vous authentification par user/pass, cryptage ou non de la base, utilisation d'un groupe, utilisation d'un groupe avec user pouvant être dans plusieurs groupes... à vous de tester votre configuration. lisez le manuel !


voici un exemple

<Directory /home/e-smith/files/ibays/Primary/html/membres>
   Order deny,allow
   Deny from all
   allow from all
   AuthName "Mysql Auth"
   AuthType Basic
       AuthMYSQLEnable on
       AuthMySQLHost localhost
       AuthMySQLUser authentifuser
       AuthMySQLPassword  -------
       AuthMySQLDB database
       AuthMySQLUserTable "users,group_membership"
       AuthMySQLNameField uname
       AuthMySQLPasswordField pass
       AuthMySQLUserCondition  "users.uid = group_membership.uid and group_membership.gid=2"
       AuthMySQLPwEncryption md5
       require valid-user
    Satisfy all

</Directory>

Dans cet exemple je cherche un utilisateur valide qui soit membre du groupe 2. J'ai adapté cette façon sachant que la structure utilsiant Group est trop restrictive pour mon cas d'utilisation (elle necessite que le uname soit dans la table groupe et non pas un uid).

vous pouvez consulter le manuel pour adapter à votre cas : http://modauthmysql.sourceforge.net/CONFIGURE