Я всегда изо всех сил пытался найти это: как вы можете спросить apache, какой файл httpd.conf он использовал для загрузки?
Это становится трудным, если у вас работает несколько экземпляров apache или если вы долгое время не смотрели на машину, а на диске много файлов httpd.conf!
Большое спасибо :)
apache2ctl -V | grep SERVER_CONFIG_FILE
/usr/sbin/apache2 -V
предоставляет эту информацию и немного больше :)
В Йосемити я обнаружил, что это было /Library/Server/Web/Config/apache2/httpd_server_app.conf
Даже если apachectl -V | grep .conf
Дает -D SERVER_CONFIG_FILE="/private/etc/apache2/httpd.conf"
По состоянию на 2016 год (Ошибка 59376), из Apache 2.4.23
и далее доступна опция, предназначенная для этой цели.
Он может отображать все дерево файла конфигурации, включая номера строк, что полезно для отладки сложных конфигураций.
$ apachectl -t -D DUMP_INCLUDES
Included configuration files:
(*) /etc/httpd/conf/httpd.conf
(21) /etc/httpd/conf.d/elasticbeanstalk_log.conf
(21) /etc/httpd/conf.d/healthd.conf
(21) /etc/httpd/conf.d/ssl.conf
(22) /etc/httpd/conf.d/elasticbeanstalk/00_application.conf
(22) /etc/httpd/conf.d/elasticbeanstalk/01_gzip.conf
(22) /etc/httpd/conf.d/elasticbeanstalk/02_static.conf
Или,
$ httpd -t -D DUMP_INCLUDES
Для RHEL или Centos сначала найдите запущенный процесс Apache ...
ps ax | grep httpd
Обратите внимание на путь на выходе. Для меня это...
/opt/rh/httpd24/root/usr/sbin/httpd
Затем вы можете использовать параметр -V с этим путем, чтобы получить путь к конфигурации ...
/opt/rh/httpd24/root/usr/sbin/httpd -V
Среди выходных данных вы должны увидеть абсолютный путь для HTTPD_ROOT, а также относительный путь для SERVER_CONFIG_FILE. Соедините этот абсолютный путь и относительный путь вместе, и у вас будет расположение файла конфигурации.