Acces page web avec authentification
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