Como posso saber qual arquivo de configuração o Apache está usando?

34

Estou tentando configurar hosts virtuais no Mac OS X. Eu modifiquei o httpd.conf e reiniciei o servidor, mas não tive a menor sorte em fazê-lo funcionar. Além disso, percebo que não está servindo arquivos no DocumentRoot mencionado em httpd.conf (Libraries / WebServer / Documents), mas em um diretório diferente (/ usr / local / apache2 / htdocs). Eu não vejo essa pasta mencionada em qualquer lugar no httpd.conf. Além disso, o PHP funciona, mas a linha "LoadModule php5_module" é comentada. Isso me faz pensar que está usando outro arquivo .conf. Como posso descobrir qual configuração está sendo carregada?

Atualização: Acabei de excluir que o httpd.conf e o apache se comportam da mesma forma após a reinicialização, por isso definitivamente não o estava usando!

    
por Claudiu 26.06.2010 / 17:37

5 respostas

43

Com qualquer aplicação * nix, o método mais fácil é consultar o próprio binário. No caso do httpd, imagino que o processo seria algo assim:

$ whereis httpd
/usr/sbin/httpd
$ /usr/sbin/httpd -V
Server version: Apache/2.2.11 (Unix)
Server built:   Jun 17 2009 14:55:13
Server's Module Magic Number: 20051115:21
Server loaded:  APR 1.2.7, APR-Util 1.2.7
Compiled using: APR 1.2.7, APR-Util 1.2.7
Architecture:   64-bit
Server MPM:     Prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/prefork"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_FLOCK_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=128
 -D HTTPD_ROOT="/usr"
 -D SUEXEC_BIN="/usr/bin/suexec"
 -D DEFAULT_PIDLOG="/private/var/run/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="/private/var/run/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="/private/etc/apache2/mime.types"
 -D SERVER_CONFIG_FILE="/private/etc/apache2/httpd.conf"

Como você pode ver - meu OS X diz que o binário, se não for direcionado, usará o arquivo de configuração: /private/etc/apache2/httpd.conf

Se isso não ajudar, talvez a sugestão de Christopher de encontrar seja o próximo passo.

    
por 26.06.2010 / 19:58
15

Existe outra questão de falha de servidor referente a isso . Se você estiver usando um servidor baseado no debian, você pode usar apache2ctl para determinar qual arquivo de configuração está sendo usado:

apache2ctl -V

Mais sobre isso:

Como descobrir quais httpd.conf o apache está usando em tempo de execução

    
por 28.05.2014 / 05:24
10

Tente

ps ax | grep httpd

e você deve (pode) obter resultados como

1633   ??  Ss     0:00.21 /usr/sbin/httpd -f /etc/httpd.conf

Além disso, exatamente como você está reiniciando o servidor? Apenas curioso no caso de você de alguma forma não estar realmente relendo o arquivo de configuração.

    
por 26.06.2010 / 17:45
1

Porque algumas configurações usam o aplicativo do servidor, brew ou qualquer outra coisa, e porque um fora o FTW:

$(ps ax -o comm | grep -m 1 httpd) -V | grep SERVER_CONFIG_FILE

Este comando faz o seguinte:

  • Encontrar um processo httpd ativo
  • Informações de configuração de saída
  • Grep o arquivo de configuração

Testado no Sierra & El Capitan

    
por 06.12.2016 / 13:27
0

Primeiro, verifique qual é o script de inicialização do Apache. Para 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 dtruss. Você pode se conectar ao processo em execução usando dtruss -p <pid> . Então, se você fizer o HUP, você provavelmente poderá se debruçar sobre a saída para ver de onde ela está pegando sua configuração. Como alternativa, basta iniciar o Apache chamando dtruss diretamente com dtruss start_apache_command .

Você pode sempre fazer uma pesquisa em todo o sistema pelo httpd.conf com find / -name httpd.conf .

    
por 26.06.2010 / 18:03