En général, le problème n'est pas de protéger une page, mais de protéger le répertoire qui la contient. Avec Apache, vous pouvez mettre un fichier .htaccess dans le répertoire à protéger.Vous devez également avoir activé l'option AllowOverride AuthConfig dans le fichier de configuration d'Apache. Par exemple, pour protéger l'application se trouvant dans /opt/www/appli, éditez votre fichier /etc/apache2/conf.d/appli.conf que vous aviez déjà édité pour déclarer votre application. Au lieu de AllowOverride None, mettez AllowOverride AuthConfig. S'il s'agit des pages web de /opt/www/htdocs, le fichier à modifier sur Ubuntu est /etc/apache2/sites-enabled/000-default.
Faites attention ! Vous ne devez jamais modifier les permissions pour le répertoire /. Celui-ci ne doit pas être accessible depuis votre site web. Modifiez bien AllowOverride AuthConfig pour /opt/www/htdocs.
Le contenu du fichier .htaccess est généralement toujours comme ceci :
AuthType Basic AuthUserFile /opt/www/etc/htpasswd AuthName "Private zone" require user papamaman require user copain1 require user copain2
La première ligne est à laisser telle quelle. La deuxième indique où est stockée la liste des utilisateurs et leur mot de passe. La troisième vous permet d'indiquer un message justifiant la boîte d'authentification qui apparaîtra à l'utilisateur. Puis vous pouvez indiquer une liste d'utilisateurs. Nous en avons indiqué ici trois : papamaman, copain1 et copain2.
Pour mettre un mot de passe à ces utilisateurs, utilisez le programme htpasswd. La toute première fois, indiquez l'option -c pour également créer le fichier.
Voici ce que cela donne :
$ mkdir /opt/www/etc $ htpasswd -c /opt/www/etc papamaman New password: Re-type new password: Adding password for user papamaman $ htpasswd copain1 New password: Re-type new password: Adding password for user copain1 $ htpasswd copain2 New password: Re-type new password: Adding password for user copain2
Il ne vous reste plus qu'à vérifier que le répertoire est effectivement protégé.
Retrouvez cet article dans : Linux Pratique Hors série 5

