Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

htaccess et OS X Lion

14 réponses
Avatar
Gerald
Quelqu'un sait-il comment paraméter le chemin des mots de passe pour le
fichier .htaccess dans OS X Lion ? (syntaxe de l'arborescence, pour un
site situé dans un dossier du dossier Sites).

Pour ceux qui ne savent pas de quoi il s'agit, sur fciwa : je veux
protéger par mot de passe un nouveau site hébergé sur un MacMINI qui me
sert de serveur, chez moi sur le bureau (c'est une des fonctions
intégrées à Mac OS X depuis le début et qui dépend du serveur Apache
intégré dans le système). Il faut donc paramétrer un fichier .htaccess à
la racine du site en question, et un fichier "passlist" planqué ailleurs
(un dossier code à la racine du dossier Sites). Le problème est de la
saisie en "dur" du chemin d'accès à ce fichier passlist, parce que, sous
Mac OS X, le dossier "Sites" des utilisateurs est en fait un peu
"virtuel" et je n'arrive pas à trouver la bonne syntaxe pour le pointer.

D'avance merci à ceux qui savent,
(léger crosspost amha justifié, et fu2 approprié)

--
Gérald

10 réponses

1 2
Avatar
ch.delplanche
Gerald wrote:

Quelqu'un sait-il comment paraméter le chemin des mots de passe pour le
fichier .htaccess dans OS X Lion ? (syntaxe de l'arborescence, pour un
site situé dans un dossier du dossier Sites).

Pour ceux qui ne savent pas de quoi il s'agit, sur fciwa : je veux
protéger par mot de passe un nouveau site hébergé sur un MacMINI qui me
sert de serveur, chez moi sur le bureau (c'est une des fonctions
intégrées à Mac OS X depuis le début et qui dépend du serveur Apache
intégré dans le système). Il faut donc paramétrer un fichier .htaccess à
la racine du site en question, et un fichier "passlist" planqué ailleurs
(un dossier code à la racine du dossier Sites). Le problème est de la
saisie en "dur" du chemin d'accès à ce fichier passlist, parce que, sous
Mac OS X, le dossier "Sites" des utilisateurs est en fait un peu
"virtuel" et je n'arrive pas à trouver la bonne syntaxe pour le pointer.

D'avance merci à ceux qui savent,
(léger crosspost amha justifié, et fu2 approprié)


Salut je ne sais pas si cela peut vous aider mais pour protéger un site
j'ai utilisé ceci :
http://www.siteduzero.com/tutoriel-3-14649-proteger-un-dossier-avec-un-h
taccess.html

pour mon site sur le syndrome de fatigue chronique
http://www.delplanche.be/sfc
id : delplanche
pw : dudule

Je ne sais pas si cela peut être utilisé dans votre cas.. je vois que
vous hébergez chez vous vos fichiers et je ne sais pas si cette
procédure tient la route.
C'est vrai que j'ai eu aussi du mal pour le chemin absolu... mais il y a
une fonction php qui retourne le chemin
Bye
Christophe

--
Delplanche Christophe
http://www.delplanche.be
Avatar
unbewusst.sein
Gerald wrote:

Quelqu'un sait-il comment paraméter le chemin des mots de passe pour le
fichier .htaccess dans OS X Lion ? (syntaxe de l'arborescence, pour un
site situé dans un dossier du dossier Sites).



mon login : yt
le path de mon site : /Users/yt/Sites
c'est la valeur de Document Root.

ensuite, dans le dossier à protéger, soit :
/Users/yt/Sites/landp
j'ai mon .htaccess qui contient :
----------------------------------------------------
AuthType Basic
AuthName "Page confidentielle"
AuthUserFile /path/absolu/vers/le/fichier/.passwords
Require user yt
----------------------------------------------------

le fichier (pour mon login) /private/etc/apache2/users/yt.conf contient
:
----------------------------------------------------
<Directory "/Users/yt/Sites/">
Options Indexes FollowSymLinks MultiViews
# AllowOverride None
AllowOverride AuthConfig
Order allow,deny
Allow from all
</Directory>
----------------------------------------------------

par ailleurs, j'ai modifié le fichier /private/etc/apache2/httpd.conf
comme suit :

#DocumentRoot "/Library/WebServer/Documents"
# changé le 20 septembre 2011 :
DocumentRoot "/Users/yt/Sites"

et un peu plus loin :
#
# This should be changed to whatever you set DocumentRoot to.
#
#<Directory "/Library/WebServer/Documents">
# changé le 20 septembre 2011 :
<Directory "/Users/yt/Sites">

ATTENTION ça c'est uniquement pour pouvoir accéder à mon site par :
http://localhost/
au lieu de :
http://localhost/~yt/


Pour créer le fichier /path/absolu/vers/le/fichier/.passwords :

au terminal, entrer :
htpasswd -c /path/absolu/vers/le/fichier/.passwords yt

car yt est mon login
le path est le nom du fichier, ici ".passwords", peuvent être
quelconques.

htpasswd demande alors le mot de passe et sa confirmation

cf. : <http://httpd.apache.org/docs/2.0/howto/auth.html>

Pour ceux qui ne savent pas de quoi il s'agit, sur fciwa : je veux
protéger par mot de passe un nouveau site hébergé sur un MacMINI qui me
sert de serveur, chez moi sur le bureau (c'est une des fonctions
intégrées à Mac OS X depuis le début et qui dépend du serveur Apache
intégré dans le système). Il faut donc paramétrer un fichier .htaccess à
la racine du site en question, et un fichier "passlist" planqué ailleurs
(un dossier code à la racine du dossier Sites). Le problème est de la
saisie en "dur" du chemin d'accès à ce fichier passlist, parce que, sous
Mac OS X, le dossier "Sites" des utilisateurs est en fait un peu
"virtuel" et je n'arrive pas à trouver la bonne syntaxe pour le pointer.



euh, il n'est pas virtuel. Si, par exemple, il n'y a qu'un utilisateur,
on peut le fixer dans le fichier httpd.conf
(/private/etc/apache2/httpd.conf) à la valeur Document Root.


--
« Là où la vérité n'est pas libre,
la liberté n'est pas vraie. »
(Jacques Prévert)
Avatar
Gerald
Delplanche Christophe wrote:

Salut je ne sais pas si cela peut vous aider mais pour protéger un site
j'ai utilisé ceci :
http://www.siteduzero.com/tutoriel-3-14649-proteger-un-dossier-avec-un-h
taccess.html



C'est une bonne page et je suis sûr que dans le cas d'un hébergeur
standard (en ligne) ça marche très bien mais :

C'est vrai que j'ai eu aussi du mal pour le chemin absolu... mais il y a
une fonction php qui retourne le chemin



...et elle ne marche pas ici ! Il faut dire que la Bbox (*certaines*
Bbox, les Sagem et pas les Thomson... ou l'inverse) a ceci de
particulier qu'elle ne supporte pas les connexions ré-entrantes. Pour
créer et tester mon site je procède donc en "local", avec l'IP fixe du
MacMINI, et pour tester de l'extérieur, il me faut passer par un proxy:
<http://www.theopenproxy.net/>

à moins qu'il ne faille activer le php qui ne le serait pas par défaut ?

Tout ça est pénible comme un caillou dans la chaussure. C'est rien du
tout, j'en suis sûr, mais j'ai passé une demi-journée à essayer toutes
les syntaxes de chemin possibles et ça ne veut pas !

Mais merci de ton aide, cordialement,

--
Gérald
Avatar
Gerald
Une Bévue wrote:

cf. : <http://httpd.apache.org/docs/2.0/howto/auth.html>



Très bonne source d'information, merci (mais qui ne résout pas le pb)

euh, il n'est pas virtuel. Si, par exemple, il n'y a qu'un utilisateur,
on peut le fixer dans le fichier httpd.conf
(/private/etc/apache2/httpd.conf) à la valeur Document Root.



Merci de ton aide détaillée. Si je comprends bien, une partie importante
de ta problématique a été de faire en sorte que les accès à la racine de
ton nom de domaine redirigent bien vers le site unique que tu as placé
directement dans le dossier "Sites" de ton utilisateur yt.

J'ai procédé différemment pour ça : pour la racine (et le dossier Sites
de mon utilisateur "toto"), j'ai créé des pages simples qui remplacent
courtoisement les pages par défaut "Apache" et "Site Apple". Ça marche
très bien, et depuis longtemps, tout comme mes sites perso.

Ce qui ne marche pas c'est la mise en place d'une protection par mot de
passe avec htaccess pour certains de ces sites.

Et même très spécifiquement la syntaxe de AuthUserFile :
- car, déjà, toi (et le mode d'emploi Apache) décrivez une fonction
AuthUserFile, alors que d'autres sources proposent une ligne :
PerlSetVar AuthFile code/.passlist
que choisir ? (et pourquoi ?)

- ensuite j'ai plusieurs sites dans plusieurs dossiers placés dans le
dossier Sites de l'utilisateur "toto". Le fichier .passlist se trouve
dans un dossier code, placé également directement dans le dossier Sites
de "toto".
Pour le(s) site(s) que je voudrais protéger, je mets un fichier
.htaccess dans le dossier du site en question, et il ne me manque donc
que ce fichu chemin d'accès à mon .passlist (et accessoirement la
confirmation/infirmation de la syntaxe précédente).

j'ai essayé (entre autres !) en essayant d'être logique :
1/ un chemin relatif par rapport au dossier "Sites" donc
PerlSetVar AuthFile code/.passlist
2/ un chemin en dur par rapport à la racine du disque :
PerlSetVar AuthFile /Users/toto/Sites/code/.passlist
3/ d'utiliser la syntaxe d'accès au site, qui inclut le tilde ~ avant
l'utilisateur (et ignore "Sites")
PerlSetVar AuthFile ~toto/code/.passlist

rien n'y fait. Si au moins j'avais une syntaxe dont on puisse me dire
"chez moi elle marche" (en fait c'est sous Snow Leopard cette histoire
parce que le MacMINI est trop vieux pour passer à Lion), je
l'appliquerais et je donnerais volontiers le vrai lien en messagerie
pour tester hors de "openproxy" mais tant qu'on n'est pas à peu près sûr
d'avoir la bonne ça ne sert à rien (et je ne veux pas donner l'accès au
site tant qu'il n'est pas protégé, logique, bien qu'il n'y ait rien
dedans pour l'instant).

En tout cas merci de ton intérêt pour ma misère, cordialement,

--
Gérald
Avatar
Sergio
Le 02/10/2011 07:27, Gerald a écrit :

C'est vrai que j'ai eu aussi du mal pour le chemin absolu... mais il y a
une fonction php qui retourne le chemin



...et elle ne marche pas ici ! Il faut dire que la Bbox (*certaines*
Bbox, les Sagem et pas les Thomson... ou l'inverse) a ceci de
particulier qu'elle ne supporte pas les connexions ré-entrantes. Pour
créer et tester mon site je procède donc en "local", avec l'IP fixe du
MacMINI.




Quoi de rédhibitoire ? Tant qu'on a l'adresse...

Sinon, Mac OS/X ayant la particularité d'être un Unix, tu peux, en ligne de commande, faire quelque chose comme :

find / -xdev -iname "index.html" -print

--
Serge http://leserged.online.fr/
Mon blog: http://cahierdesergio.free.fr/
Soutenez le libre: http://www.framasoft.org
Avatar
unbewusst.sein
Gerald wrote:

Et même très spécifiquement la syntaxe de AuthUserFile :
- car, déjà, toi (et le mode d'emploi Apache) décrivez une fonction
AuthUserFile, alors que d'autres sources proposent une ligne :
PerlSetVar AuthFile code/.passlist
que choisir ? (et pourquoi ?)



Comme je n'utilise pas perl, je prends "AuthUserFile".

- ensuite j'ai plusieurs sites dans plusieurs dossiers placés dans le
dossier Sites de l'utilisateur "toto". Le fichier .passlist se trouve
dans un dossier code, placé également directement dans le dossier Sites
de "toto".
Pour le(s) site(s) que je voudrais protéger, je mets un fichier
.htaccess dans le dossier du site en question, et il ne me manque donc
que ce fichu chemin d'accès à mon .passlist (et accessoirement la
confirmation/infirmation de la syntaxe précédente).

j'ai essayé (entre autres !) en essayant d'être logique :
1/ un chemin relatif par rapport au dossier "Sites" donc
PerlSetVar AuthFile code/.passlist
2/ un chemin en dur par rapport à la racine du disque :
PerlSetVar AuthFile /Users/toto/Sites/code/.passlist
3/ d'utiliser la syntaxe d'accès au site, qui inclut le tilde ~ avant
l'utilisateur (et ignore "Sites")
PerlSetVar AuthFile ~toto/code/.passlist



j'ai mis le path absolu, càd, depuis /.
--
« La gloire n'est pas de ne jamais tomber, mais de
se relever chaque fois que l'on tombe. »
(Proverbe chinois)
Avatar
francois.jacquemin
Gerald wrote:

D'avance merci à ceux qui savent,
(léger crosspost amha justifié, et fu2 approprié)



"Sites" est un dossier à la racine du "home" (dossier dans Utilisateurs,
Users en anglais, qui porte ton nom d'utilisateur) est il n'est pas
virtuel du tout.

http://AdresseDeTonOrdinateur/~ÑomdUtilisateur/NomDuFichierDansSites

permet aux clients d'aller sur ton site hébergé, et tu peux toi-même
tester avec
http://localhost/~NomdUtilisateur/NomDuFichierDansSites
ou
http://127.0.0.1/~ÑomdUtilisateur/NomDuFichier pour vérifier que ça
marche


--
F. J.
Avatar
Gerald
François Jacquemin wrote:

"Sites" est un dossier à la racine du "home" (dossier dans Utilisateurs,
Users en anglais, qui porte ton nom d'utilisateur) est il n'est pas
virtuel du tout.

http://AdresseDeTonOrdinateur/~ÑomdUtilisateur/NomDuFichierDansSites



Tu vois bien qu'il est virtuel ! (dans une certaine mesure). S'il ne
l'était pas (si Mac OS X n'était pas paramétré pour le *sous-entendre*),
l'adresse que tu décris devrait être
http://AdresseDeTonOrdinateur/~ÑomdUtilisateur/Sites/NomDuFichierDansSit
es
Mais dans le fait de le sous-entendre, il y a quelque chose de
spécifique à Mac OS X dont je ne sais pas si ça se propage ou non. CAR
ça concerne bien les sous-dossiers de Sites aussi ! Si j'ai plusieurs
sites dans plusieurs dossiers toto, titi et tata, avec chacun leur
index.html et le reste, le chemin d'accès à ces sites est bien
http://AdresseDeTonOrdinateur/~ÑomdUtilisateur/NomDuDOSSIERDansSites/
donc, en réel :
http://127.0.0.1/Utilisateur/toto/
...du moment qu'il y a un index dans le dossier, l'URL se résout.

permet aux clients d'aller sur ton site hébergé, et tu peux toi-même
tester avec
http://localhost/~NomdUtilisateur/NomDuFichierDansSites
ou
http://127.0.0.1/~ÑomdUtilisateur/NomDuFichier pour vérifier que ça
marche



Ça marche bien depuis plusieurs années comme ça, effectivement, incluant
http://127.0.0.1/ tout court : j'ai remplacé toutes les pages par défaut
par des pages personnalisées.

Mais mon problème est autre : protéger par mot de passe l'accès à un de
ces sites en utilisant la fonction .htaccess des serveurs Apache telle
que décrite (en français) ici :
<http://www.commentcamarche.net/contents/apache/apacht.php3>
et plus particulièrement la syntaxe de chemin "absolu" vers le fichier
de mot de passe à utiliser dans AuthUserFile
...sachant que :
1/ mon fichier de mot de passe .passlist se trouve dans un dossier code
situé directement dans le dossier Sites de Utilisateur
2/ que la syntaxe AuthUserFile /Users/Utilisateur/Sites/code/.passlist
NE MARCHE PAS, et que ça m'irrite ! En clair : j'accède bien à mon site
mais sans aucune demande de mot de passe. Je patauge : faut-il des
majuscules et où ? Faut-il le nom du volume au début ?

Mais encore merci pour ta réponse et en attendant de trouver "la"
formule...

--
Gérald
Avatar
Gerald
Une Bévue wrote:

j'ai mis le path absolu, càd, depuis /.



ben oui mais j'ai besoin d'un exemple concret parce que, comme je l'ai
dit précédemment :

la syntaxe : AuthUserFile /Users/Utilisateur/Sites/code/.passlist
NE MARCHE PAS

et pas mieux avec le nom du volume avant... une histoire de majuscules ?
J'ai essayé Utilisateurs au lieu de Users sans plus de succès...

peux-tu confirmer que "ça marche chez toi" ? avec un exemple de ton
chemin absolu ? D'avance merci.
--
Gérald
Avatar
Gerald
Sergio wrote:

find / -xdev -iname "index.html" -print



L'adresse qu'il me donne pour mon .motsdepasse est bien celle que je
supposais :
/Users/UtilisateurX/Sites/code/.motsdepasse

mais elle ne marche apparemment pas avec la syntaxe htaccess suivante :

AuthUserFile /Users/UtilisateurX/Sites/code/.motsdepasse
AuthName "Identification"
AuthType Basic
Require valid-user

avec le fichier .motsdepasse dans le dossier code dont chemin ci-dessus
et le fichier .htaccess dans le dossier du site à protéger, au niveau
supérieur, à côté du fichier index.html

Ça ne marche pas. (j'accède au site dans tous les sens mais sans demande
de mot de passe)
Et je suis triste.

mais merci pour ton info. Cordialement,
--
Gérald
1 2