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

4 réponses

1 2
Avatar
unbewusst.sein
Gerald wrote:

peux-tu confirmer que "ça marche chez toi" ? avec un exemple de ton
chemin absolu ?



Ce qui marche chez moi :
$ cat landp/.htaccess
AuthType Basic
AuthName "Page confidentielle"
AuthUserFile /Users/yt/Sites/landp/css/.passwords
Require user yt

à noter que je mets tjs un n à *fin* de la dernière ligne (ci dessus
après "Require user yt".

ensuite as tu modifié ton httpd.conf (/private/etc/apache2/httpd.conf)
ou ton <ton login>.conf (/private/etc/apache2/users/<ton login>.conf) ?

par exemple, chez moi, mon login est "yt" et c'est le fichier :
/private/etc/apache2/users/yt.conf

il contient :
$ cat /private/etc/apache2/users/yt.conf
<Directory "/Users/yt/Sites/">
Options Indexes FollowSymLinks MultiViews
# AllowOverride None
AllowOverride AuthConfig
Order allow,deny
Allow from all
</Directory>

toujours avec un n à la fin de la dernière ligne.
Notes bien que j'ai commenté ("#" en 1er caractère) le ligne :
# AllowOverride None
et ajouté la ligne :
AllowOverride AuthConfig

c'est cette dernière ligne qui permet la lecture par Apache2 des
.htaccess.

Notes aussi que j'ai mis, tout à la fin de mon httpd.conf :
Include /etc/apache2/users/yt.conf

ligne qui n'est pas présente dans le fichier "httpd.conf.default"
(/private/etc/apache2/httpd.conf.default)

cette ligne permet l'inclusion de "/etc/apache2/users/yt.conf" dans
"/private/etc/apache2/httpd.conf".

A noter qu'il y a un symlink entre /etc et private/etc :
$ ls -al /etc
lrwxr-xr-x@ 1 root wheel 11 20 jul 22:21 /etc -> private/etc

voili voulou.

--
« L'essence même du génie, c'est de mettre en pratique
les idées les plus simples. »
(Charles Peguy)
Avatar
unbewusst.sein
Gerald wrote:

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



ce n'est peut-être pas lié au path mais à tes directives dans ton
httpd.conf, cf. mon fil plus bas posté il y a qq minutes...
--
« L'essence même du génie, c'est de mettre en pratique
les idées les plus simples. »
(Charles Peguy)
Avatar
Gerald
Une Bévue wrote:

Ce qui marche chez moi :
$ cat landp/.htaccess
AuthType Basic
AuthName "Page confidentielle"
AuthUserFile /Users/yt/Sites/landp/css/.passwords
Require user yt



D'abord un immense merci pour ton aide, je sens que le graal est proche!
Ci-dessus, nou sommes d'accord, donc mon chemin serait "bon".

à noter que je mets tjs un n à *fin* de la dernière ligne (ci dessus
après "Require user yt".



Je ne sais pas comment faire ce caractère...

ensuite as tu modifié ton httpd.conf (/private/etc/apache2/httpd.conf)
ou ton <ton login>.conf (/private/etc/apache2/users/<ton login>.conf) ?



Ce qui me gène un peu dans cette phrase c'est le "ou" : c'est au choix ?
parce que la modification isolée de l'équivalent de ton :

par exemple, chez moi, mon login est "yt" et c'est le fichier :
/private/etc/apache2/users/yt.conf



en ajoutant comme tu le proposes AllowOverride AuthConfig

provoque (enfin !) un résultat mais pas le bon : une violente erreur 500
d'impossibilité d'accéder au site.

Notes aussi que j'ai mis, tout à la fin de mon httpd.conf :
Include /etc/apache2/users/yt.conf



serait-ce l'explication de l'erreur ?

ligne qui n'est pas présente dans le fichier "httpd.conf.default"
(/private/etc/apache2/httpd.conf.default)



il est où celui-là ? je n'ai pas de .default mais seulement httpd.conf

cette ligne permet l'inclusion de "/etc/apache2/users/yt.conf" dans
"/private/etc/apache2/httpd.conf".



donc c'est bien celui-là qu'il faut aussi modifier ? Il est un peu
"fleuve" et plein de commentaires, je ne sais pas bien où mettre ma
ligne... vraiment à la toute fin ?

A noter qu'il y a un symlink entre /etc et private/etc :
$ ls -al /etc
lrwxr-xr-x@ 1 root wheel 11 20 jul 22:21 /etc -> private/etc



voui mais je ne sais absolument pas quoi faire de cette info : ce
symlink existe par défaut ? Il faut le créer ?

D'avance encore mille mercis. J'ai l'impression de progresser mais je
m'interroge sur le fait que ce ne soit documenté nulle part (de prime
abord)


--
Gérald
Avatar
unbewusst.sein
Gerald wrote:

Une Bévue wrote:

> Ce qui marche chez moi :
> $ cat landp/.htaccess
> AuthType Basic
> AuthName "Page confidentielle"
> AuthUserFile /Users/yt/Sites/landp/css/.passwords
> Require user yt

D'abord un immense merci pour ton aide, je sens que le graal est proche!
Ci-dessus, nou sommes d'accord, donc mon chemin serait "bon".
>
> à noter que je mets tjs un n à *fin* de la dernière ligne (ci dessus
> après "Require user yt".

Je ne sais pas comment faire ce caractère...



ben le n est une notation, c'est le retour à la ligne :
<http://cjoint.com/11oc/AJdtM4KtHJa_return.JPG>

>
> ensuite as tu modifié ton httpd.conf (/private/etc/apache2/httpd.conf)
> ou ton <ton login>.conf (/private/etc/apache2/users/<ton login>.conf) ?

Ce qui me gène un peu dans cette phrase c'est le "ou" : c'est au choix ?



soit tu mets ce que j'ai dit avoir dans mon yt.conf dans le httpd.conf,
soit tu mets ça dans ton <login>.conf MAIS ALORS, il faut ajouter à la
fin de ton httpd.conf la ligne :
Include /etc/apache2/users/<login>.conf
afin que ce fichier <login>.conf soit lu par Apache2.

parce que la modification isolée de l'équivalent de ton :
>
> par exemple, chez moi, mon login est "yt" et c'est le fichier :
> /private/etc/apache2/users/yt.conf

en ajoutant comme tu le proposes AllowOverride AuthConfig

provoque (enfin !) un résultat mais pas le bon : une violente erreur 500
d'impossibilité d'accéder au site.
>
> Notes aussi que j'ai mis, tout à la fin de mon httpd.conf :
> Include /etc/apache2/users/yt.conf

serait-ce l'explication de l'erreur ?



je ne sais pas; vérifies les droits de lecture des tes fichiers
.htaccess et .passwords moi j'ai :
ls -al landp/.htaccess
-rwxr-xr-x 1 yt staff 118 20 sep 17:12 landp/.htaccess
imyt% ls -al landp/css/.passwords
-rwxr-xr-x 1 yt staff 17 20 sep 17:16 landp/css/.passwords

ahma le x est en trop )))

>
> ligne qui n'est pas présente dans le fichier "httpd.conf.default"
> (/private/etc/apache2/httpd.conf.default)

il est où celui-là ? je n'ai pas de .default mais seulement httpd.conf



il est aussi dans /private/etc/apache2/

>
> cette ligne permet l'inclusion de "/etc/apache2/users/yt.conf" dans
> "/private/etc/apache2/httpd.conf".

donc c'est bien celui-là qu'il faut aussi modifier ? Il est un peu
"fleuve" et plein de commentaires, je ne sais pas bien où mettre ma
ligne... vraiment à la toute fin ?



oui
sinon elle pourrait être invalidée par le reste du fichier...

>
> A noter qu'il y a un symlink entre /etc et private/etc :
> $ ls -al /etc
> lrwxr-xr-x@ 1 root wheel 11 20 jul 22:21 /etc -> private/etc

voui mais je ne sais absolument pas quoi faire de cette info : ce
symlink existe par défaut ? Il faut le créer ?



oui, il existe par défaut "Made in Apple land" )))

--
« L'essence même du génie, c'est de mettre en pratique
les idées les plus simples. »
(Charles Peguy)
1 2