Vous pouvez vous servir d'un fichier .htaccess pour modifier le comportement du serveur web pour le répertoire dans lequel il se trouve (ainsi que tous ses sous-répertoires).
Il est possible de protéger l'accès à un répertoire Web avec un mot de passe. Prenons un usager <nom-d'usager> dont le répertoire web est <dossier-web> et le sous-répertoire à protéger est <sous-dossier>. Ce répertoire sera autorisé en lecture pour quelqu'un fournissant le nom <identifiant> et le mot de passe <mdp>, contenus dans le fichier <.fichier-mdp>. Voici alors la procédure pour créer ce fichier.
arcade.iro.umontreal.ca.public_html: mieux vaut ne pas mettre <.fichier-mdp> là où apache pourrait le montrer à tout le monde).htpasswd -n <identifiant> et fournir le <mdp> deux fois. Cela retourne une ligne <identifiant>:############# (le hash de <mdp>).<.fichier-mdp> si nécessaire et y ajouter cette ligne (par ex. à l'aide de vi).
Ensuite, on ajoute un fichier .htaccess contenant les règles d'authentification dans le répertoire à protéger.
<sous-dossier> s'il n'existe pas déjà..htaccess contenant les lignes suivantes :AuthUserFile /u/<nom-d'usager>/<.fichier-mdp> AuthName <ce-qu'on-veut-voir-apparaître-dans-l'invite-d'authentification> AuthType Basic Require valid-user
Attention: le chemin /u/<nom-d'usager> du .htaccess est interprété sur le serveur web et n'a de sens que dans ce contexte. Sur arcade, vous ne trouverez pas le fichier <.fichier-mdp> dans /u/<nom-d'usager>/ mais bien dans /home/www-ens/<nom-d'usager>/.
Note: Ne pas oublier d'ajuster les permissions de lecture de tous les répertoires et fichiers créés.
Exemple :
cd /home/www-ens/alice htpasswd -n bob
On entre deux fois le mot de passe voulu. Le résultat est
bob:nhMKTi4awTWbk
qu'on ajoute au fichier .htpasswd
echo "bob:nhMKTi4awTWbk" >> .htpasswd
On se déplace dans le répertoire à protéger
cd public_html mkdir -p secrets cd secrets vi .htaccess
et on met dans le .htaccess ces lignes
AuthUserFile /u/alice/.htpasswd AuthName "Zone de secrets" AuthType Basic Require valid-user