Ok, eu percebi (obrigado joschi por sugerir a alteração ServerRoot , que fazia parte da solução).
O que eu tenho são dois locais relacionados ao Apache, por exemplo:
Y:\Servers\HTTP\Apache
- binários e X:\Docs\Settings\Apache
- arquivos de configuração
Então o que eu fiz foi:
-
Eu movi os diretórios
conf
elogs
do diretório binaries para o diretório docs. Em…Settings\Apache\conf
está o link , que é quase idêntico ao link . Tem a seguinte entrada:ServerRoot "Y:\Servers\HTTP\Apache"
# como normal
-
Então, na parte inferior do arquivo, adicionei
ServerRoot "X:\Docs\Settings\Apache"
- altere o ServerRoot paraInclude "conf/Includes.conf"
- inclua personalizações
-
O próximo passo foi simplesmente editar alguns dos meus arquivos Includ -ed .conf que usam LoadModule e passar o caminho completo para o arquivo .so
Se eu tivesse muitas chamadas LoadModule em meus arquivos .conf personalizados, em vez de usar caminhos absolutos, o que eu faria seria criar dois novos arquivos .conf (por exemplo, BinLoc.conf e < strong> ConfLoc.conf ) contendo cada uma diretiva ServerRoot para configurá-lo para os diretórios binário / docs. Então eu poderia envolver as chamadas do LoadModule como:
Include "conf/BinLoc.conf"
LoadModule ssl_module modules/mod_ssl.so
Include "conf/ConfLoc.conf"
(Infelizmente, o segundo Include teria que usar um caminho absoluto para o diretório de configurações, então seria uma espécie de derrotar o propósito.)
-
Finalmente, eu configuro o Apache para carregar o arquivo link do meu diretório docs (isto é, load
X:\Docs\Settings\Apache\httpd.conf
). Havia várias maneiras de fazer isso. O instalador usa a entrada de registro ConfigArgs para o serviço Apache, mas eu decidi não usá-lo e esvaziá-lo. Eu tentei definir HKLM \ SOFTWARE \ Apache \ Foundation \ Apache \ 2.2.15 \ ServerRoot paraX:\Docs\Settings\Apache
, mas o Apache não parece entender isso. Eu decidi ir com a linha de comando. Eu modifiquei meu Install.bat para que quando cria o serviço Apache, ele passe o arquivo link usando o argumento-f
(editar um arquivo em lote é muito mais fácil / rápido do que modificar uma cadeia múltipla no registro).
Na verdade, eu já estava passando o arquivo .conf usando -f
, então as únicas mudanças necessárias (além de mover as pastas para o diretório docs) foram adicionar um
O Apache agora roda muito bem, e os binários (substituíveis) e os arquivos de configuração (insubstituíveis) são bons e separados. %código%
(Ah, e os logs estão em outro lugar, por exemplo, :)
. As entradas relacionadas ao log no link usam um caminho absoluto para isso, mas eu deveria alterar o diretório de log, é um simples questão de procurar-e-substituir-em-arquivos para atualizar, assim como seria com os caminhos absolutos para as diretivas LoadModule em meus arquivos .conf personalizados se eu mudei a localização dos binários.)