Utilisation de .htaccess
dominique03
Messages postés
180
Statut
Membre
-
kmf31 Messages postés 1564 Statut Contributeur -
kmf31 Messages postés 1564 Statut Contributeur -
bonjour,
j ai lu avec interet le le "toto"sur apache et l utilisation des fichiers . htacces et . htpassword.
Malheureusement,je ne suis paqs sur d avoir tout compris.
Peut o, m'aider a creer le script sachant que je veusx gerer l'acces a des pages par un login et un mot de passe associer
merci a tous
j ai lu avec interet le le "toto"sur apache et l utilisation des fichiers . htacces et . htpassword.
Malheureusement,je ne suis paqs sur d avoir tout compris.
Peut o, m'aider a creer le script sachant que je veusx gerer l'acces a des pages par un login et un mot de passe associer
merci a tous
A voir également:
- Utilisation de .htaccess
- Utilisation chromecast - Guide
- Télécharger gratuitement notice d'utilisation - Guide
- Impossible d'utiliser l'outil déplacement car la couche de destination est masquée ✓ - Forum Graphisme
- Vous avez utilisé ce numéro de téléphone à de trop nombreuses reprises - Forum Gmail
- La ressource demandée est en cours d'utilisation ✓ - Forum Logiciels
1 réponse
C'est assez simple si tu as un serveur apache sur ton propre pc (si c'est sur un hebergeur a distance c'est probablement different, notamment avec Free, pour ca il y a un autre sujet dans le forum reseau ou internet, il y a 1-2 semaines).
Tu dois creer deux fichiers un pour les mots de pass et un qui s'appelle .htaccess. Pour simplifier la discussion je suppose que tu es "root" (pour les permissions de pouvoir ecrire de fichiers partout etc.) mais ca peut aussi marcher en tant qu'utilisateur simple, seulement il faut tenir compte qu'un utilisateur simple doit deposer les fichiers et sa page web dans son home.
1) fichier mots de pass:
Tu choisis un endroit et nom pour le fichier, disons a titre exemple:
/etc/httpd/mot_de_pass_apache
Pour le creer avec un mot de pass tu tapes la commande:
Ici "toto" represente le nom d'utilisateur/login pour la page web que tu veux creer (tu mettras ce que tu veux). Apres tu entres (deux fois) le mot de pass que tu as choisi et ca y'est. Apres pour ajouter d'autres utilisateurs/mots de pass tu fais:
(donc tu enleves l'option "-c"dans la 1ere commande).
2) fichier .htaccess
Tu vas avec "cd ..." dans le repertoire ou tu as les fichiers html de la page web a proteger par un mot de pass. Ca peut etre le repertoire home d'apache, un sous-repertoire de ca ou un repertoire dans un home utilisateur prevu pour une page personnelle, comme tu veux. La dedans tu dois creer le fichier .htaccess avec un editeur a ton choix, par exemple:
et tu mettras la dedans:
et ca suffit, c'est fait. Desormais c'est protege. Peut-etre il faut redemarrer le serveur apache pour que ce soit pris en compte mais je ne suis pas sur. Peut-etre ca marche tout de suite.
Il faut aussi savoir que le fichier de config principale d'apache:
/etc/httpd/httpd.conf peut en theorie contenir une directive de genre "AllowOverride None" pour le repertoire page web a proteger. Si c'est le cas ca revient a l'interdiction de la methode de protection avec mot de pass (et aussi d'autres trucs). Donc si tu as ca il faut aussi enlever cette directive ou mieux la modifier vers "AllowOverride ALL" ou "AllowOverride AuthConfig" pour que ca marche avec les mots de pass. Typiquement cette directive permet a root d'interdire aux utilisateurs de faire de choses comme mot de pass etc.
Si tu n'es pas "root" tu peux aussi deposer le fichier mot de pass dans ton home quelque part (comme tu veux) mais dans ce cas tu mettras bien-sur le chemin et nom exacte du fichier dans .htaccess (modifier la ligne "AuthUserFile ..." ci-dessus). Bien sur il faut aussi que tu aies le droit de modifier les fichiers dans la page web en question.
EDIT: Desole, je viens de voire qu'on n'est pas dans le forum Linux. Mes explications s'appliquent en principe a Linux. En Windows ca doit etre en principe similaire mais on choisit d'autres repertoires, un autre editeur etc. Je ne suis pas sur si et comment la commande "htpasswd" marche en Windows.
Tu dois creer deux fichiers un pour les mots de pass et un qui s'appelle .htaccess. Pour simplifier la discussion je suppose que tu es "root" (pour les permissions de pouvoir ecrire de fichiers partout etc.) mais ca peut aussi marcher en tant qu'utilisateur simple, seulement il faut tenir compte qu'un utilisateur simple doit deposer les fichiers et sa page web dans son home.
1) fichier mots de pass:
Tu choisis un endroit et nom pour le fichier, disons a titre exemple:
/etc/httpd/mot_de_pass_apache
Pour le creer avec un mot de pass tu tapes la commande:
htpasswd -c /etc/httpd/mot_de_pass_apache toto
Ici "toto" represente le nom d'utilisateur/login pour la page web que tu veux creer (tu mettras ce que tu veux). Apres tu entres (deux fois) le mot de pass que tu as choisi et ca y'est. Apres pour ajouter d'autres utilisateurs/mots de pass tu fais:
htpasswd /etc/httpd/mot_de_pass_apache toto2 htpasswd /etc/httpd/mot_de_pass_apache toto3 ...
(donc tu enleves l'option "-c"dans la 1ere commande).
2) fichier .htaccess
Tu vas avec "cd ..." dans le repertoire ou tu as les fichiers html de la page web a proteger par un mot de pass. Ca peut etre le repertoire home d'apache, un sous-repertoire de ca ou un repertoire dans un home utilisateur prevu pour une page personnelle, comme tu veux. La dedans tu dois creer le fichier .htaccess avec un editeur a ton choix, par exemple:
emacs .htaccess
et tu mettras la dedans:
Deny from all AuthType Basic AuthUserFile /etc/httpd/mot_de_pass_apache AuthName "Acces Restreint" require valid-user Satisfy any
et ca suffit, c'est fait. Desormais c'est protege. Peut-etre il faut redemarrer le serveur apache pour que ce soit pris en compte mais je ne suis pas sur. Peut-etre ca marche tout de suite.
Il faut aussi savoir que le fichier de config principale d'apache:
/etc/httpd/httpd.conf peut en theorie contenir une directive de genre "AllowOverride None" pour le repertoire page web a proteger. Si c'est le cas ca revient a l'interdiction de la methode de protection avec mot de pass (et aussi d'autres trucs). Donc si tu as ca il faut aussi enlever cette directive ou mieux la modifier vers "AllowOverride ALL" ou "AllowOverride AuthConfig" pour que ca marche avec les mots de pass. Typiquement cette directive permet a root d'interdire aux utilisateurs de faire de choses comme mot de pass etc.
Si tu n'es pas "root" tu peux aussi deposer le fichier mot de pass dans ton home quelque part (comme tu veux) mais dans ce cas tu mettras bien-sur le chemin et nom exacte du fichier dans .htaccess (modifier la ligne "AuthUserFile ..." ci-dessus). Bien sur il faut aussi que tu aies le droit de modifier les fichiers dans la page web en question.
EDIT: Desole, je viens de voire qu'on n'est pas dans le forum Linux. Mes explications s'appliquent en principe a Linux. En Windows ca doit etre en principe similaire mais on choisit d'autres repertoires, un autre editeur etc. Je ne suis pas sur si et comment la commande "htpasswd" marche en Windows.