Я пытаюсь выяснить, какова полная полная конфигурация установки httpd.
Все файлы конфигураций разбросаны по разным файлам (/etc/httpd/conf.d, httpd.conf, различные конфигурации модов)
Есть ли способ указать окончательную конфигурацию httpd?
Как вся текущая конфигурация установки в одном файле?
apachectl -S
для запуска конфигурации,apachectl -M
чтобы показать загруженные модулиapachectl -S
не дает вам ни «полной полной конфигурации», ни «всей текущей конфигурации установки в одном файле».Ответы:
Как отмечает arco444, вы можете использовать
apachectl -S
для отображения обзора VirtualHosts, запущенных в настоящее время из конфигураций, иapachectl -M
для отображения всех загруженных в данный момент модулей - я не знаю инструмента для отображения подробного вывода всех проанализированных конфигураций (и в каком порядке они были проанализированы в) при запуске httpd, но я бы рекомендовал вам ознакомиться с общей структурой файлов конфигурации httpd :Особо обратите внимание на ваш вопрос: «основной» файл конфигурации apache находится в
/etc/httpd/conf/httpd.conf
(в области строки 221 при установке httpd по умолчанию из репозиториев, включенных в CentOS 6, которые, как я полагаю, вы используете на основе своих тегов сообщений), а «дополнительные» файлы конфигурации находятся/etc/httpd/conf.d
в главном файле конфигурации и должны быть явно включены в него. Например, если выhttpd.conf
выполните поиск в файле по запросу 'Include
', вы найдете строку,Include conf.d/*.conf
которая включает в себя все файлы расширения.conf
в подкаталогеconf.d
- в алфавитном порядке, поэтому вы захотите ознакомиться с важностью синтаксического анализа файла конфигурации на какой-то момент, если возможно.Кроме того, если вы используете текстовый редактор на основе оболочки, такой как vim, я предлагаю вам включить нумерацию строк и подсветку синтаксиса по умолчанию, чтобы такие длинные файлы конфигурации было немного легче анализировать самостоятельно и перемещаться - в случае vim , вы должны сделать это, создав в своем домашнем каталоге файл с именем
.vimrc
(или добавив к существующему) и добавив следующие строки:источник
Как описано в документации по HTTP-серверу Apache
DUMP_CONFIG
требуетсяmod_info
включеноa2enmod info
:!В Ubuntu сделайте следующее
Если вы хотите удалить номера строк, сделайте
или перенаправить в файл
источник
Для этой цели используйте mod_info: http://httpd.apache.org/docs/2.2/mod/mod_info.html
Единственная обратная сторона заключается в том, что если вам нужно восстановить удаленную конфигурацию и еще не загрузить модуль, это вам не очень поможет.
источник
У меня есть сценарий (увы, на Perl; простите меня, он старый), который сглаживает файлы конфигурации, удаляет комментарии (по умолчанию) и включает
# FILE
комментарии, чтобы вы могли выяснить, в каком файле содержится то, что вы, возможно, ищете.Я написал его с помощью Apache httpd, хотя его также видели в Oracle OHS.
https://github.com/cameronkerrnz/scriptorium/blob/master/httpd-dump-config
Особенно полезно для сравнения конфигураций на разных машинах с SSH и diff / meld / etc.
Пример:
Вот пример использования diff (CLI) и meld (GUI):
Я много лет использовал это при навигации по конфигурации с тысячами строк конфигурации, распределенных по множеству файлов.
источник
Когда мне приходилось поддерживать слишком много конфигураций Apache, я снабжал себя сценарием, который делал то, что вы просили. Это мне очень помогло.
Вы можете установить переменную среды APCALL, если хотите видеть комментарии и пустые строки, чего я обычно не делал. Предостережение: он должен запускаться из ServerRoot.
источник