Я использую Ubuntu Linux с Apache2 и несколькими vhosts, расположенными в /etc/apache2/sites-available
и символически привязан (активирован) из /etc/apache2/sites-enabled
. Настройка по умолчанию в Ubuntu.
Я хотел бы знать, доступны ли для Apache общие инструменты для перечисления всей информации о vhost:
В этих списках я бы хотел видеть:
Очевидно, я мог бы сделать несколько grepping, sed-ing и awking, чтобы получить эту информацию, но я совершенно уверен, что это было сделано правильно где-то раньше :)
Ближайший из известных мне инструментов - apachectl -S
.
Эта команда выведет список всех виртуальных хостов, определенных в вашей текущей конфигурации, независимо от того, запущен Apache или нет. Информация включает IP-адреса, порты, значение директивы ServerName, имена файлов конфигурации и vhost по умолчанию.
Это общий инструмент Apache, который будет доступен в Redhat / CentOS, Mac OS X, Solaris и любом другом Unix, который вам нравится, поэтому он не знает о доступных сайтах на основе Debian, доступных сайтах, доступных модах и каталоги с включенными модами.
apachectl -S
не перечисляет директиву DocumentRoot, поскольку она не является обязательной и может отсутствовать в некоторых vhosts. Он также не перечисляет какие-либо директивы ServerAlias, потому что их может быть любое количество. Поскольку они (как и директива ServerName) могут содержать подстановочные знаки, перечисление доменов может оказаться проблематичным.
apachectl -t
выполнит проверку синтаксиса.
В зависимости от вашей версии вам, возможно, придется использовать apache2ctl -S
.
Я думаю, что список доступных и включенных сайтов можно возобновить ls
в соответствующем каталоге.
Это может показаться глупым, но подумайте, что вы не можете доверять файлу по его имени: его содержимое может содержать несколько VirtualHosts.
Однако, если вы хотите показать текущую конфигурацию, используемую Apache, вы можете посмотреть на -S
флаг.
Если вы вошли в систему как root, эта командная строка должна быть хорошим началом:
# source /etc/apache2/envvars && apache2 -S
Источник: man apache2