Apache httpd.conf Utilisateur/Groupe

J'ai un httpd.fichier conf qui contient les éléments suivants:

<IfModule unixd_module>
<If "env('OS') == 'Darwin'">
    User daemon
    Group admin
</If>
<Else>
    User www
    Group scm
</Else>
</IfModule>

Ce que je suis en train de faire est de définir l'id utilisateur pour le httpd exemple, dans mon environnement de développement sur OSX pour un seul utilisateur, mais d'un autre utilisateur lorsqu'il est déployé à Ubuntu. Je reçois un message d'erreur de syntaxe:

AH00526: Syntax error on line 32 of /usr/local/apps/apache2/conf/httpd.conf:
User not allowed here

J'ai regardé la Si directive et il est permis ici. Si j'en commentaire, l'Utilisateur ou le Groupe que je n'ai pas l'erreur de syntaxe. Sans le if/Else, et en n'utilisant qu'un utilisateur, cela fonctionne. Si j'essaie d'utiliser la condition avec l'utilisateur/groupe, j'ai un message d'erreur. Est-ce possible dans le httpd.conf? Si oui, comment? Est-il une façon différente de faire la même chose? Les "OS" de la variable d'environnement est définie dans chaque environnement avec "l'exportation OS=uname". C'est dans Apache httpd 2.4.4.

ce n'est pas sûr 2.4.4 mais n'est-ce pas là une autre façon d'obtenir ce que vous voulez? en cas de doute, regardez dans le code source de la façon dont la syntaxe vérification est effectuée, c'est ce que je ferais. Peut-être, que l'Utilisateur/Groupe ou Si/d'Autre ne sont pas censés être utilisés toghether, ou c'est un comportement autre que prévu, c'est à dire de bug. Je me souviens dans Debian et les précédentes versions d'apache, il y a une autre manière, les variables shell $APACHEUSER et $APACHEGROUP a été utilisé à partir de l'appel de script ( généralement init.d script ), en provenance de /etc/default/apache2 fichier. Et la question devrait probablement être déplacé à superuser.com car ce n'est pas vraiment de la programmation rel.

OriginalL'auteur jmq | 2013-06-13