Por que o Mac OS X Lion Apache DocumentRoot / usr / htdocs?

15

Estou perplexo.

Não vejo onde /usr/htdocsé especificado como o DocumentRoot para apache2 no Mac OS X Lion.

É o DocumentRoot padrão em uma nova instalação do OSX Lion.

Alguém pode me indicar onde isso está especificado?

Procurei em todo o /etc/apache2diretório e não consegui encontrar essa regra.

vinhboy
fonte
nada nas /etc/apache2/available-sites/*configurações?
Ragnq
A configuração padrão do OSX não usa a estrutura de sites disponíveis ou sites ativados.
vinhboy
1
Não é. Uma nova instalação do OS X Lion usa /Library/WebServer/Documents, assim como os principais lançamentos anteriores ao Lion, que também é onde o botão Abrir pasta do site do computador ... em Preferências do sistema »Compartilhamento» Compartilhamento da Web aponta para. Você instalou um gerenciador de pacotes como o Homebrew, Fink ou MacPorts; XAMPP ou uma solução similar do Apache? Qual é a saída which httpde ps aux | grep httpdno Terminal?
Daniel Beck
Não instalei nenhum desses gerenciadores de pacotes. Mas obrigado, vou olhar por esse caminho. Eu vejo a /Library/WebServer/Documentsdiretiva no arquivo httpd.conf. No entanto, obviamente está sendo substituído em outro lugar. Tentei seguir todas as referências a outro arquivo .conf, mas ainda não tive sorte.
vinhboy
Por que não grepprocurar /usr/htdocsna sua máquina e ver onde ela é substituída? - (/ cc @dan, você não recebeu uma resposta)
slhck 18/11/11

Respostas:

14

Quando o "Compartilhamento da Web" NÃO está ativado, ele assume /usr/htdocscomo raiz. Quando você ativa o "Compartilhamento da Web", o arquivo de configuração fica em /etc/apache2/httpd.conf. O diretório será o especificado perto da seção a seguir no arquivo.

<IfDefine WEBSHARING_ON>
#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "/Library/WebServer/Documents"

Além disso, você pode usar o diretório "Sites" ao /Users/USERNAME/Sitesacessar com localhost/~USERNAME.

timoto
fonte
Spot on. Observe também a linha ServerRoot "/usr"- com o compartilhamento na Web desativado e nenhum DocumentRoot alternativo especificado, parece que o padrão do Apache é procurar htdocsdentro da raiz do servidor definida.
Rymo # 24/13
É verdade que alguns <IfDefine WEBSERVICE> devem ser comentados, pois é um WEBSERVICE?
Gucho Ca
0

Ative seu compartilhamento na web primeiro, vá para as preferências do sistema -> compartilhamento e ative o compartilhamento na web. Eu escrevi um post sobre isso.

dimas.priyanto
fonte
Você poderia adicionar mais detalhes? Sua postagem contém mais informações do que você disse aqui.
Simon Sheehan
então ele escreveu um post, leia-o e reconfigure seu compartilhamento na Web no lion))) Eu também fiz isso, agora tenho a pasta "Sites" no meu diretório pessoal e tudo funciona.
holms
0

Este Q me ajudou a resolver problemas idênticos no SnowLeopard hoje. Cuidado: foi o httpd.confin /private/etc/apache2 not /etc/apache2 (que também existe) que foi lido e apontado /Library/WebServer/Documentsno meu caso.

Espero que isso ajude (outros também).

P Marecki
fonte
A pasta / etc inteira é um link para / private / etc; portanto, as duas são uma e a mesma.
precisa saber é o seguinte
@ Fireandlight27 Eu não acho que estava no SL, como eu não escreveria de outra forma. Fico feliz que eles estejam ligados no seu caso; qual versão do sistema operacional?
Marecki