Директива виртуальных хостов 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
Другие вопросы по тегам