Acces page web avec authentification

From Tuxunix
Jump to: navigation, search

Htaccess

Directive Vhost

Il faut ajouter une instruction (AllowOverride AuthConfig), pour indiquer que nous voulons proteger les dossiers suivants :

<Directory /var/www/> 
   Options -Indexes Includes FollowSymlinks MultiViews 
   AllowOverride AuthConfig 
   Order allow,deny 
   Allow from all
</Directory>

AllowOverride AuthConfig demande a Apache de prendre en compte le fichier .htacess dans le répertoire /var/www/ et tous ses sous-répertoires.

Le fichier .htaccess :

AuthUserFile /var/www/pass/.htpasswd 
AuthName "Acces protege" 
AuthType Basic 
<Limit GET POST> 
   Require valid-user 
</Limit>


On indique que le fichier .htpasswd (qui contient les logins et les mots de pass), se trouve dans /var/www/pass/. Il est préférable de mettre de fichier hors du site lui meme. Sinon on ajoute un fichier .htaccess dans le répertoire ou se trouve .htpasswd pour en empêcher l'accès. Dans ce cas la, le fichier .htaccess contient :

deny from all

Création du fichier .htpasswd

Vous devez bien sur mettre le fichier .htpasswd dans le répertoire que vous avez indique dans .htaccess. Il se compose toujours comme suit : login:passwd

Ces mots de passe doivent être cryptes. Vous obtenez le mot de passe crypte au moyen de la commande htpasswd. Par exemple je souhaite que l'utilisateur toto accède a ma page web avec le mot de passe 'toto', on tape la commande :

[root@tuxedo]# htpasswd -c /var/www/pass/.htpasswd toto New password: Re-type new password: Adding password for user toto


L'option -c de htpasswd permet de creer le fichier .htpasswd avec le premier couple login:passwd. Si vous souhaite ajouter un deuxieme utilisateur, il faut enlever l'option -c :

[root@tuxedo]# htpasswd /var/www/pass/.htpasswd tutu New password: Re-type new password: Adding password for user tutu