2015-03-20 4 views
0

Возможно ли получить список всех vhosts, IP-адресов на сервере? Поэтому мне не нужно проверять каждый файл на/etc/apache2/sites-enabled/знать, что это такое на каждом сервере. мне нужно, чтобы получить что-то вроде этого:Список связанных с vhosts и IP-адресов

+--------------+-----------------+---------------------+ 
| Server Alias | IP Address | Document Root | 
+--------------+-----------------+---------------------+ 
| mysite.test | 192.168.0.12:80 | /home/User/mysite | 
+--------------+-----------------+---------------------+ 

ответ

0

Вы можете использовать следующую команду

# apache2ctl -S 

И с какой-то AWK магии у него в нужном формате

Чтобы быть точным, попробуйте следующее

# apachectl -S 2>&1 | perl -ne '[email protected]*port\s+([0-9]+)\s+\w+\s+(\S+)\s+\((.+):.*@ && do { print "$2:$1\n\t$3\n"; $root = qx{grep DocumentRoot $3}; $root =~ s/^\s+//; print "\t$root\n" };' 
+0

Спасибо! «Apache2ctl -S» работал отлично, но последняя команда не работала, просто показывает первую строку файла по умолчанию. – user3155243

+0

Это сработало для меня на ubuntu 12.04. Не могли бы вы опубликовать вывод? –

+0

Конечно, здесь: caxamarca.miglos.com:80 /и т.д./apache2/сайты с поддержкой/000-умолчанию DocumentRoot/вар/WWW – user3155243