Estou tentando configurar hosts virtuais no Mac OS X. Modifiquei o httpd.conf e reiniciei o servidor, mas não tive sorte em fazê-lo funcionar. Além disso, percebo que ele não está servindo arquivos no DocumentRoot mencionado em httpd.conf (Libraries / WebServer / Documents), mas em um diretório diferente (/ usr / local / apache2 / htdocs). Não vejo essa pasta mencionada em nenhum lugar no httpd.conf. Além disso, o PHP funciona, mas a linha "LoadModule php5_module" está comentada. Isso me faz pensar que está usando outro arquivo .conf. Como posso descobrir qual configuração está realmente sendo carregada?
Atualização: Acabei de excluir que o httpd.conf e o apache se comportam da mesma maneira após a reinicialização, por isso definitivamente não estavam sendo usados!
fonte
/usr/sbin/httpd -D FOREGROUND -f /Library/Server/Web/Config/apache2/httpd_server_app.conf -D WEBSERVICE_ON
Há outra questão de falha no servidor sobre isso . Se você estiver usando um servidor baseado em debian, poderá
apache2ctl
determinar qual arquivo de configuração está sendo usado:Mais sobre isso:
Como descobrir qual httpd.conf apache está usando em tempo de execução
fonte
Experimentar
e você deve (pode) obter saída como
Além disso, como exatamente você está reiniciando o servidor? Apenas curioso, caso você de alguma forma não esteja realmente relendo o arquivo de configuração.
fonte
-f
bandeira #Como algumas configurações usam o aplicativo Server, brew ou o que for, e porque os liners FTW:
Este comando faz o seguinte:
Testado em Sierra & El Capitan
fonte
$
é importante (não é o prompt da linha de comando neste caso). Se converte a declaração em parens em um comando, para o qual passamos a-V
bandeira. Deixar de fora resulta em: "erro de sintaxe próximo ao token inesperado` -V '".Primeiro, verifique qual é o script de inicialização do Apache. Para o macOS, deve ser / Library / LaunchDaemons. Isso pode incluir um diretório de trabalho ou informações semelhantes.
Você também pode depurar o próprio processo em execução com o dtruss. Você pode se conectar ao processo em execução usando
dtruss -p <pid>
. Então, se você o HUP, provavelmente poderá examinar a saída para ver de onde ela está tirando sua configuração. Como alternativa, basta iniciar o Apache chamando o dtruss diretamente comdtruss start_apache_command
.Você sempre pode fazer uma pesquisa em todo o sistema pelo httpd.conf
find / -name httpd.conf
.fonte