Eu realmente encontrei este mesmo problema (pelo menos os mesmos sintomas) apenas hoje. No meu caso, eu olhei para /var/log/apache2/error_log
e vi um monte de erros como este:
[Mon Mar 19 15:30:30 2012] [error] [client ::1] Directory index forbidden by Options directive: /var/empty/
Então eu olhei em /etc/apache2/httpd.conf
e vi estas duas linhas…
<IfDefine MACOSXSERVER>
DocumentRoot /var/empty
... e mais tarde, essas linhas ...
<IfDefine !MACOSXSERVER>
<IfDefine WEBSHARING_ON>
# Some comments were here
DocumentRoot "/Library/WebServer/Documents"
… então imaginei que de alguma forma MACOSXSERVER
estava sendo definida, quando não deveria, já que esta máquina não é uma máquina servidora. Então me lembrei que precisava instalar as ferramentas de administração do Lion Server nessa máquina, e a maneira como a documentação da Apple me disse para fazer isso foi instalar o pacote Lion Server da Mac App Store na minha máquina de administração, mesmo que não fosse destinado a ser uma máquina servidora. Então talvez isso realmente transmogrificou minha máquina de administração em uma máquina Mac OS X Server. Para verificar novamente, eu corri:
$ sw_vers ProductName: Mac OS X Server ProductVersion: 10.7.3 BuildVersion: 11D50
Com certeza, minha máquina agora estava se reportando como Mac OS X Server, apesar de tudo o que eu queria fazer era colocar as Server Admin Tools nessa máquina.
Voltando ao problema do Apache, eu finalmente encontrei o /etc/apache2/ReadMe.txt
, que explica sobre o Apache específico do Mac OS X (não deixe de ler por si mesmo para mais informações boas!), e então ele disse:
Those IfDefine settings – MACOSXSERVER, WEBSHARING_ON, WEBSERVICE_ON – are set or not set by Apache's launchd plist, which is present in /System/Library/LaunchDaemons/org.apache.httpd.plist.
Então, no meu caso, optei por corrigi-lo editando em que launchd
plist
para o Apache não definiu MACOSXSERVER
, já que eu realmente não considero a minha máquina como um servidor, e quero controlar isso coisas da caixa Compartilhamento na Web no painel Compartilhamento de Preferências do Sistema, não de Server.app.
Então, eu editei este arquivo:
/System/Library/LaunchDaemons/org.apache.httpd.plist
Para remover ou comentar essas linhas, na ProgramArguments
array:
<string>-D</string>
<string>MACOSXSERVER</string>
Eu escolhi comentá-los colocando marcadores de início / fim de comentários SGML antes e depois deles:
<!--
<string>-D</string>
<string>MACOSXSERVER</string>
-->
Depois de salvar minhas alterações no arquivo plist
, reiniciei o Apache normalmente:
sudo apachectl graceful
... e foi tudo melhor!
Talvez eu tenha precisado recarregar a página em meu navegador uma ou duas vezes se meu navegador tivesse armazenado em cache um resultado "403 Proibido" para a página que eu estava tentando acessar.
Mesmo que não seja exatamente a mesma causa raiz do seu problema, espero que minha saga ajude você a descobrir sua situação.