Obtenga la configuración del host virtual sin archivo de configuración

Obtenga la configuración del host virtual sin archivo de configuración

Accidentalmente eliminé un archivo de hosts virtuales 010-foo.conf. El Apache2.4 todavía se está ejecutando sin él reloado restarthasta ahora. ¿Hay alguna manera de ver la configuración real del archivo que ya no existe (tal vez mediante el comando apachectl o lo que sea)?

Respuesta1

Si no tiene mod_info instalado, puede usarlo gcorepara volcar la memoria del proceso principal de Apache (el que pertenece al pid 1) en un archivo y luego buscar "VirtualHost" o algo así. Lo acabo de probar en mi sistema y funciona. Tendrás que trastear con algo como greprecortar lo que deseas y reemplazar el archivo de configuración.

gcore <pid>
less core.<pid>

EDITAR (de OP):

Si no lo tiene gcore, puede instalarlo a través de apt-get install gdb(Ubuntu). El archivo pid normalmente se encuentra en /var/run/apache2/apache2.pid. Luego puede ejecutar los comandos mencionados anteriormente y buscar los archivos binarios, por ejemplo, con grep -obUaP "text to search" <dump file>, consulteaquípara obtener más información sobre el uso de grep para archivos binarios.

Respuesta2

Si lo instaló mod_info, puedeÚselo para imprimir la configuración de su servidor.. En mi caso, puedo ver la configuración completa como la ve Apache, incluidos todos los VirtualHosts.

Si aún no lo ha mod_infoinstalado y no está funcionando, es posible que esta información no esté disponible para usted.

También puede ver información de VirtualHost en la línea de comandos usandohttpd -S. No está completo, pero es mejor que nada:

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

información relacionada