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

apache n'aime pas access control

5 réponses
Avatar
Nicolas
Bonjour,

J'avais poster une message sur fr.comp.mac-os.x, mais il me semble que
ici soit un meilleur endroit.

J'ai installé la dernière version de MAMP sous macos 10.5.1, qui inclue
apache 2.0.59. Je suis en train de faire un site qui est pour l'instant
uniquement en local.

Mon symptôme est le suivant. Si dans un repertoire je mets un .htaccess
avec quelque chose de simple comme "deny from all", tout fonctionne
comme voulu. Si je mets dans un repertoire un met un .htaccess avec une
authentification de type:
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /usr/local/apache/passwd/passwords
Require user rbowen

le serveur apache revoit une erreur 500, internal system error.
Evidemment j'ai créer le mot passe et configurer les 4 lignes de dessus
selon mes répertoires et nom de fichier.

Deuxième point:
Maintenant, il est aussi décrit dans le doc apache que les .htaccess ne
sont pas la méthode préférée pour restreindre l'accès a certains
répertoire avec apache 2. La meilleur méthode, qui lui est strictement
identique, dixit la doc, est d'inclure ces restrictions dans httpd.comf
dans des balises <Directory>. Ce que j'ai donc fait.
Si au lieu d'utiliser les .htaccess, je configure donc httpd.conf,
apache refuse de démarrer et il ne produit rien dans le fichier de log.
J'ajoute que j'ai aussi lu la doc concernant le parametre AllowOverride
et que a priori c'est correct.

Alors j'ai aussi eu des infos concernant le fait que sous macos, la
gestions des utilisateur est différentes de sous linux, et qu'il y aussi
des fichiers de conf dans /private/etc/apache2/users/

Je dois dire que je ne comprends pas toutes les subtilités de ces
histoires de gestions d'utilisateurs. Concenrant mes fichiers de config
httpd.conf et autres, rien de bien terrible a ce que je vois.

J'imagine qu'il faudrait savoir pourquoi ne démarre pas si j'ajoute un
access control dans httpd.conf, mais comme il ne laisse pas dans le
apache-errors.log je suis ne sais pas quoi faire. N'y aurait-il pas un
autre log?
Merci d'avance pour votre aide.
Nicolas

5 réponses

Avatar
laurent.pertois
Nicolas wrote:

J'ai installé la dernière version de MAMP sous macos 10.5.1, qui inclue
apache 2.0.59. Je suis en train de faire un site qui est pour l'instant
uniquement en local.

Mon symptôme est le suivant. Si dans un repertoire je mets un .htaccess
avec quelque chose de simple comme "deny from all", tout fonctionne
comme voulu. Si je mets dans un repertoire un met un .htaccess avec une
authentification de type:
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /usr/local/apache/passwd/passwords
Require user rbowen

le serveur apache revoit une erreur 500, internal system error.
Evidemment j'ai créer le mot passe et configurer les 4 lignes de dessus
selon mes répertoires et nom de fichier.


Et les droits d'accès au fichier ? ils sont comment ?

Lorsque tu lances MAMP sans changer de droits il prend tes droits
d'utilisateur, sjmsb, donc il n'a peut-être pas accès à ce fichier en
lecture.

--
Politically Correct Unix - UTILITIES
The "touch" command has been removed from the standard distribution due
to its inappropriate use by high-level managers.

Avatar
Nicolas
Laurent Pertois wrote:

Et les droits d'accès au fichier ? ils sont comment ?


En tant qu'utilisateur, je peux le lire et l'écrire. Sinon tout le monde
peut le lire. Donc a priori je dirais que ça ne devrait pas poser de
problème.

Avatar
laurent.pertois
Nicolas wrote:

Laurent Pertois wrote:

Et les droits d'accès au fichier ? ils sont comment ?


En tant qu'utilisateur, je peux le lire et l'écrire. Sinon tout le monde
peut le lire. Donc a priori je dirais que ça ne devrait pas poser de
problème.


Effectivement, ça ne devrait pas... Et tu as regardé dans les logs
system ?

--
Politically Correct Unix - UTILITIES
The "touch" command has been removed from the standard distribution due
to its inappropriate use by high-level managers.


Avatar
Nicolas
Laurent Pertois wrote:

Effectivement, ça ne devrait pas... Et tu as regardé dans les logs
system ?


très bonne idée.
Si je mets le access control dans httpd.conf et que je tente de démarré
apache, qui ne démarre pas, voilà ce qui apparait dans systeme.log:

Feb 1 00:13:04 thebluemachine [0x0-0x8008].com.apple.dock[92]: Syntax
error on line 428 of /Applications/MAMP/conf/apache/httpd.conf:
Feb 1 00:13:04 thebluemachine [0x0-0x8008].com.apple.dock[92]: AuthType
takes one argument, An HTTP authorization type (e.g., "Basic")

Et la ligne 428 de httpd.conf est effectivement:
AuthType Basic

d'ailleurs ce qu'il y a autour est ceci:
<Directory /Users/dishio/Sites/blog/cms>
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /Users/dishio/Documents/meta/password
Require user dishio
</Directory>

Alors... pourquoi est-ce qu'il demande un argument AuthType alors que a
priori je dirais quand même qu'il y est?

Avatar
Nicolas
Cette histoire devient folle, ou c'est moi.
Dans le doute je tente une vérification de la configuration de apache
avec un:
sudo ./apachectl configtest

Il me retourne:

Syntax error on line 2 of /Applications/MAMP/conf/apache/httpd.conf:
Invalid command 'd_ssl.so', perhaps mis-spelled or defined by a module
not included in the server configuration

la ligne 2 de httpd.conf ne contient évidemment aucune référence a un
éventuelle fichier d_ssl.o. d'ailleurs la chaine de caractères 'd_ssl.o'
n'apparait qu'une soit fois sous le forme:

<IfDefine SSL>
LoadModule ssl_module modules/mod_ssl.so
</IfDefine>

fichier mod_ssl.so qui se trouve la ou il est.

Si ceci a une sens pour quelqu'un...