Aujourd'hui j'ai voulu protéger un répertoire grâce a un fichier htaccess.
Il y a des centaines de sites qui indiquent comment faire ça de façon simple "créer votre fichier .htpasswd, coller ceci, créer votre htaccess et coller ceci..."
Je créer très souvent des fichiers htaccess / htpasswd de la manière suivante (en ligne de commande) :
Pour savoir ou je me trouve par rapport a la racine de mon serveur j'utilise "pwd" :
$ pwd /home/sites/www.point2zero.net/exemples
Ensuite je créer mon fichier .htaccess
$ vi .htaccess
Dedans j'ajoute (grâce à la touche i pour passer en mode insertion) :
AuthName "Point2Zero" AuthType Basic AuthUserFile "/home/sites/www.point2zero.net/exemples/.htpasswd" Require valid-user
Le texte de la première ligne sera le message affiché dans ma fenêtre de login.
Dans le AuthUserFile nous allons spécifier le chemin (grâce a la commande précédente pwd) et nous ajoutons à la fin un /.htpasswd qui sera le fichier avec les identifiant et mot de passe.
Sauvez et quitter votre fichier grâce à ":wq"
Maintenant créons le fichier ".htpasswd" grâce à la commande htpasswd :
$ htpasswd -bcm .htpasswd login p4ssw0rd
Détail de la commande :
l'option "b" : permet d'utiliser un fichier pour sauvegarder les informations
l'option "c" : permet de créer le fichier (a enlever lors du 2eme ajout si on veut ajouter plusieurs utilisateurs dans le même fichier)
l'option "m" : permet d'encrypter le mot de passe en MD5
ensuite on indique le fichier, le login et le mot de passe.
Voilà vous savez maintenant sécuriser un dossier grâce à deux fichier htaccess et htpasswd !

3 commentaires pour “Protéger un répertoire grâce à un htaccess”
sirlepape
Toujours utile, perso j'aurai pas utilisé VI
. Et sinon il existe vraiment aucun moyen de spécifier directement le pwd directement dans le .htaccess ?
ChoiZ
Pas avec la commande htpasswd je n'ai pas trouvé l'option.
Mais sinon un petit script bash devrait faire l'affaire
ChoiZ
Ne pas oublier d'ajouter dans la config du vhost :
/etc/apache2/sites-enabled/ votre fichier vhost
l'option AllowOverride doit être à All
Laisser un commentaire