Obtenha a configuração do host virtual sem arquivo de configuração

Obtenha a configuração do host virtual sem arquivo de configuração

Excluí acidentalmente um arquivo de hosts virtuais 010-foo.conf. O Apache2.4 ainda está rodando sem reloadou restartaté agora. Existe uma maneira de ver a configuração real do arquivo que não existe mais (talvez via comando apachectl ou qualquer outro)?

Responder1

Se você não tiver o mod_info instalado, poderá usar gcorepara despejar a memória do processo pai do Apache (aquele de propriedade do pid 1) em um arquivo e, em seguida, pesquisar por "VirtualHost" ou algo assim. Acabei de testar no meu sistema e funciona. Você terá que mexer em algo como grepcortar o que deseja e substituir o arquivo de configuração.

gcore <pid>
less core.<pid>

EDITAR (do OP):

Se você não tiver gcore, você pode instalá-lo via apt-get install gdb(Ubuntu). O arquivo pid normalmente está localizado em /var/run/apache2/apache2.pid. Então você pode executar os comandos mencionados acima e pesquisar os arquivos binários, por exemplo, com grep -obUaP "text to search" <dump file>, vejaaquipara obter mais informações sobre como usar grep para arquivos binários.

Responder2

Se você instalou mod_info, você podeuse isso para imprimir a configuração do seu servidor. No meu caso, posso ver toda a configuração como o Apache a vê, incluindo todos os VirtualHosts.

Se você ainda não mod_infoo instalou e está funcionando, essas informações podem não estar disponíveis para você.

Você também pode ver algumas informações do VirtualHost na linha de comando usandohttpd-S. Não está completo, mas é melhor que nada:

-S
Show the settings as parsed from the config file (currently only shows the virtualhost settings).

informação relacionada