J'ai rencontré le même problème (du moins les mêmes symptômes) aujourd'hui même. Dans mon cas, j'ai regardé /var/log/apache2/error_log
et j'ai vu un tas d'erreurs comme celle-ci :
[Mon Mar 19 15:30:30 2012] [error] [client ::1] Directory index forbidden by Options directive: /var/empty/
Puis j'ai regardé dans /etc/apache2/httpd.conf
et j'ai vu ces deux lignes
<IfDefine MACOSXSERVER>
DocumentRoot /var/empty
et puis plus tard, ces lignes
<IfDefine !MACOSXSERVER>
<IfDefine WEBSHARING_ON>
# Some comments were here
DocumentRoot "/Library/WebServer/Documents"
donc je me suis dit que d'une manière ou d'une autre MACOSXSERVER
a été défini, alors qu'il ne devrait pas l'être, puisque cette machine est pas une machine serveur. Puis je me suis souvenu que je devais installer les outils d'administration Lion Server sur cette machine, et que la documentation d'Apple m'indiquait de le faire en installant le paquet Lion Server du Mac App Store sur ma machine d'administration, même si celle-ci n'était pas destinée à être une machine serveur. Peut-être que cela a réellement/accidentellement transformé ma machine admin en une machine Mac OS X Server. Pour vérifier, j'ai lancé :
$ sw\_vers
ProductName: Mac OS X Server
ProductVersion: 10.7.3
BuildVersion: 11D50
Bien sûr, ma machine se présentait maintenant comme Mac OS X Server, alors que tout ce que j'avais voulu faire était d'installer les outils d'administration du serveur sur cette machine.
Pour en revenir au problème d'Apache, j'ai finalement trouvé /etc/apache2/ReadMe.txt
qui explique les définitions d'Apache spécifiques à Mac OS X (lisez-le vous-même pour plus d'informations !), puis il dit ceci :
Ces paramètres IfDefine - MACOSXSERVER, WEBSHARING_ON, WEBSERVICE_ON - sont définis ou non par la plist launchd d'Apache, qui se trouve dans le répertoire suivant /System/Library/LaunchDaemons/org.apache.httpd.plist.
Donc, dans mon cas, j'ai choisi de le corriger en éditant dans ce launchd
plist
pour Apache à non défini MACOSXSERVER
Je ne suis pas un serveur, et je veux contrôler ce genre de choses à partir de la case à cocher Partage Web dans le panneau Partage des Préférences Système, et non à partir de Server.app.
Donc, j'ai édité ce fichier :
/System/Library/LaunchDaemons/org.apache.httpd.plist
Pour supprimer ou commenter ces lignes, dans le fichier ProgramArguments
le tableau :
<string>-D</string>
<string>MACOSXSERVER</string>
J'ai choisi de les commenter en plaçant des marqueurs de début/fin de commentaire SGML avant et après eux, comme ceci :
<!--
<string>-D</string>
<string>MACOSXSERVER</string>
-->
Après avoir enregistré mes modifications dans ce plist
j'ai redémarré Apache sans problème :
sudo apachectl graceful
et c'était mieux !
J'ai peut-être dû recharger la page dans mon navigateur une ou deux fois si celui-ci avait mis en cache un résultat "403 Forbidden" pour la page à laquelle j'essayais d'accéder.
Même si ce n'est pas exactement la même cause que votre problème, j'espère que ma saga vous aidera à comprendre votre situation.