Bonjour. Je cherche depuis plusieurs jours sans trouver…
Mon index.html est situé dans /var/www/html/
dans ce dossier , j’ai créé un sous-dossier « admin » que je souhaite protéger par mdp.
J’y ai placé .htaccess et .htpasswd.
Quand j’ouvre ma page web dans laquelle se trouve un lien vers la racine de mon site, je vois tous les fichiers qui s’y trouvent sauf le sous-dossier « admin ».
Si je retire le fichier .htaccess, le sous-dossier « admin » est affiché.
Je m’attendais à voir apparaître la boîte de dialogue m’invitant à rentrer mon identifiant et mon mdp définis dans le fichier .htpasswd…
Quelqu’un pourrait-il m’aider?
Merci d’avance
Salut,
Tu as une invit’ de nom/mot de passe à la première connexion (si tes .htaccess et .htpasswd sont bons).
Pas par la suite.
(Si tu surfes, comme moi, en mode parano avec purge de tout historique/cookies/… à la fermeture du navigateur, tu auras cette invitation à chaque connexion.)
Tu peux tester avec un autre navigateur ou une autre machine ?
++
Merci pour cette réponse: cela correspond à ce que je constate.
L’invit’ de nom/mdp arrive bien lors de la nouvelle connexion si je place les .htaccess et .htpasswd à la racine de mon site.
Par contre, je voudrais protéger un sous-dossier privé plus bas dans l’arborescence en plaçant des nouveaux .htaccess et .htpasswd : c’est là que le problème apparaît. L’invit’ ne s’affiche pas et le site affiche « Internal Server Error »
Idem sur un autre PC…
Re,
Ce n’est pas juste une erreur de fichier .htaccess ou .htpasswd ?
Ce n’est pas mon domaine, mais je crois que (pour le .htaccess) la ligne est AuthUserFile /var/www/html/.htpasswd
si tu protèges le dossier ‹ html › mais deviendra AuthUserFile /var/www/html/admin/.htpasswd
si tu protèges le dossier ‹ admin › qui est dans ‹ html ›
Ou alors, tu as une erreur dans ton .htpasswd.
Tu peux essayer avec ça ?
mic:$1$Ecclz6o/$vfJ1YQH5c9xHZsw/g3Ufl.
(user=mic ; mot de passe=nabla)
Edit :
Je confirme.
J’ai fait un dossier ‹ test ›
il est protégé par un couple user/pass
dans ce dossier, j’ai fait un dossier ‹ dossier ›
il est protégé par un autre couple user/pass (le n°2)
Si je veux aller à …/test/dossier = je dois taper le couple user/pass n°2
Je veux remonter à …/test = je dois taper le couple user/pass.
Les fichiers .htaccess sont : (je suis chez hébergeur)
AuthUserFile /home/mon-compte/www/test/.htpasswd
AuthGroupFile /dev/null
AuthName "Accès Restreint"
AuthType Basic
require valid-user
et
AuthUserFile /home/mon-compte/www/test/dossier/.htpasswd
AuthGroupFile /dev/null
AuthName "Accès Restreint"
AuthType Basic
require valid-user
Je te laisse adapter.
Pour le 2ème dossier, j’ai mis mic2 en user et nabla2 en mot de passe
ce qui donne
mic2:$1$jMC2szCO$Ks6B/0Tt3NA785aCqeOcT/
Espérant t’aider à résoudre ton souci,
++
Je te remercie pour tes conseils qui m’ont été d’une très grande utilité.
Après de nombreuses tentatives pour pouvoir protéger n’importe quel sous-répertoire par un couple user/mdp, cela ne marche bien que pour le dossier racine; j’ai retourné ce problème pendant plusieures heures et pendant plusieurs jours…
Les sous-dossiers deviennent invisibles sur la page web dès qu’ils comportent le fichier .htaccess.
Ils redeviennent visibles si j’enlève ce fichier!
J’ai recommencé de nombreuses fois cette manipulation.
J’ai alors pensé à utiliser cette astuce: je crée un lien symbolique dans le dossier « racine » (où le système fonctionne), je le fais pointer vers un sous-dossier quelconque à protéger et alors , « bingo! », ça marche à tous les coups!
je fais donc dans le répertoire 'racine" :
sudo ln -s /nom_du_sous_dossier_à_protéger nom_du_lien
Dans mon cas : sudo ln -s /mnt liendisk1
C’est à l’ntérieur de liendisk1 que je place les .htaccess et .htpasswd.
J’ai ainsi pu confirmer cette procédure pour n’importe quel sous-dossier et pu résoudre mon problème.
Quand j’aurai un peu plus de temps, je voudrais bien comprendre pourquoi la méthode normale ne marche pas chez moi …
Je te tiens au courant si j’ai du nouveau.
Encore un grand merci pour tes conseils.
Yo,
Par principe, j’ai vérifié.
Création d’un dossier « dossier1 » à la racine
J’ai juste mis les fichiers .htaccess et .htpasswd ; pas de fichier index ou autre
J’y accède par https://mon-site.truc/dossier1
Demande de couple user/pass
ça charge et j’ai le listage du dossier (puisque pas de fichier index)
Je vois bien mon dossier « dossier2 »
Je peux accéder au dossier2 par un autre couple user/pass.
Je ne comprends pas pourquoi ton « dossier2 » (ou équivalent) ne serait pas visible.
Je n’ai pas testé en autohébergement sur mon Rpi, mais sur un de mes sites chez OVH, mais pourquoi cela serait-il différent sur le Rpi ?
Bon, si ce que tu veux, c’est protéger le dossier, mais le laisser visible, alors tu peux contourner de façon simple en faisant une page index.html ou index.php dans « dossier1 ».
Et cette page d’index contiendrait un lien vers « dossier2 ».
++
J’ai tout repris à zéro en suivant tes conseils : résultat, ça fonctionne super!
Je ne comprends pas ce qui « coinçait », mais tout est ok maintenant.
Encore un tout grand merci!
Merci ! les tutos sont bien faits et très intéressants!