Директива виртуальных хостов Apache2 (XAMPP) не работает (по-видимому)
У меня есть несколько проблем при настройке виртуальных хостов на основе IP. Прежде всего я использую текущий XAMPP от apachefriends (XAMPP 1.7.7 с Apache 2.2.21) на Windows 7.
Базовый функционал над "основным" сервером (от httpd.conf
) работает отлично. Но теперь я хочу настроить несколько vhosts с разными IP-адресами, так как я настроил свою сетевую карту на использование всех IP-адресов с 192.168.2.95 по 192.168.2.105 .
Это запись виртуальных хостов:
<VirtualHost 192.168.2.96:80>
DocumentRoot "/xampp/hegedocs/www"
ServerName 192.168.2.96:80
</VirtualHost>
httpd -D DUMP_VHOSTS
говорит это:
PS G:\xampp\apache\bin> ./httpd -D DUMP_VHOSTS
VirtualHost configuration:
192.168.2.96:80 192.168.2.96 (G:/xampp/apache/conf/extra/httpd-vhosts.conf:45)
Syntax OK
Но я не могу получить доступ к vhost и, кажется, apache для прослушивания 192.168.2.96:80 - нет записи для этого адреса с netstat -a -b
,
4 ответа
Просто проверьте это руководство
http://i.justrealized.com/2008/how-to-set-up-virtualhost-in-xampp-for-windows/
Это работает для меня
Я нашел проблему: Vhosts на основе IP просто не работают. Простое определение нескольких имен в файле hosts (foo.localhost, bar.localhost все сопоставления с одним и тем же IP-адресом), а затем использование vhosts на основе имен работает без каких-либо проблем. Конечно, это не так портативно, как IP-адреса, так как другие машины в сети, естественно, не знают этих имен... но хорошо, пока это как-то работает...
Вот несколько основных вещей, которые вы можете попробовать добавить, чтобы убедиться, что вы получаете правильный порт.
# Ensure that Apache listens on port 80
Listen 80
# Listen for virtual host requests on all IP addresses
NameVirtualHost *:80
Вот пример из appache о том, как это должно выглядеть:
<VirtualHost *:80>
DocumentRoot /www/example1
ServerName www.example1.com
# Other directives here
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /www/example2
ServerName www.example2.org
# Other directives here
</VirtualHost>
Я уверен, что вы видели это раньше, но иногда это помогает оглянуться на простые вещи.
Моя установка отлично работает, 2 веб-сайтов на 1 коробке, используя ServerName www.example.com.
Надеюсь это поможет!
Убедитесь, что apache знает, где находится файл vhost.conf. В нижней части httpd.conf может потребоваться раскомментировать
Include conf/*.conf