Protection d'un répertoire via htaccess

Dans /usr/local/etc/apache/httpd.conf vérifier que vous avez bien ces lignes pour le virtual hosts que vous souhaiter protéger

AccessFileName .htaccess
#conf par défaut de tout répertoire apache
#Ainsi tous les virutal hosts ont les .htacces activés
<Directory />
    Options FollowSymLinks
    AllowOverride All
</Directory>

Maintenant,quand Apache verra un fichier .htacces dans un répertoire il controlera si l'utilisateur ou la machine à le droit d'y accéder, faute de quoi il renverra une erreur "401 Authorization Required".

 

Exemple : protection de phpMyAdmin

créer un répertoire qui contiendra les mots de passe

mkdir /usr/local/www/phpMyAdmin/pass/

protéger le fichier de mot de passe via un .htaccess contenant

deny from all

 

vi /usr/local/www/phpMyadmin/.htaccess

AuthName "Interface d’administration phpMyAdmin"
AuthType Basic
Require valid-user
AuthUserFile "/usr/local/www/phpMyAdmin/pass/.htpasswd"

Et créer un utilisateur via la commande htpasswd

htpasswd -cb /usr/local/www/phpMyAdmin/pass/.htpasswd « utilisateur » « motdepasse »

Pour créée un autre utilisateur il suffit d'enlever l'option -c

htpasswd -b /usr/local/www/phpMyAdmin/pass/.htpasswd « utilisateur2 » « motdepasse2 »

Pour plus de détail sur la protection des pages : http://www.infres.enst.fr/~danzart/frames/htaccess.html