Généralement certaines parties de votre site sont sensibles, comme la partie administration. Afin de pouvoir sécuriser de façon plus stricte l’accès au fichiers de ces répertoires, il peut être judicieux de cacher derrière une autre sécurité celui-ci. Le fichier .htaccess permet de mettre des ACL d’accès sur un répertoire ou un fichier.
Vous devez avoir installé le service Apache2
Les .htaccess sont redoutablement efficaces pour permettre d’interdire l’accès à un répertoire.
Avant de commencer ce topic, vérifier que les lignes suivants du fichier /etc/apache2/apache2.conf sont bien dé-commentées, sinon créez les :
<Files ~ "^.ht">
Order allow,deny
Deny from all
Satisfy all
</Files>
Ces lignes permettent de rendre invisible à quiconque les fichiers .htaccess.
Pour information, vous pouvez éviter de créer des .htaccess en utilisant les directives des VirtualHosts et en entrant les mêmes paramètres.
Insérez les lignes suivantes afin de garantir la fonctionnalité du .htaccess :
AuthName "Accès Interdit"
AuthType Basic
AuthUserFile "/var/www/prive/.htpasswd"
Require valid-user
Ensuite il faudra créer le fichier de mots de passe. Dans les dernières version d’Apache ce fichier texte chiffre les mots de passe.
Pour créer le fichier .htpasswd :
.htpasswd -c .htpasswd toto
password: ****
repeat password: ****
Retirez l’option -c une fois que le fichier existe afin de rajouter des utilisateurs.
Votre répertoire est protégé.
ATTENTION : les mots de passe ont beau être chiffrés sur le serveur, ils transitent en clair sur votre réseau, sauf si vous utilisez du SSL !