Estou tendoum poucoproblemas ao configurar hosts virtuais baseados em IP. Primeiro de tudo, estou usando o XAMPP atual do Apachefriends (XAMPP 1.7.7 com Apache 2.2.21) no Windows 7.
A funcionalidade básica do servidor "principal" (de httpd.conf
) funciona perfeitamente. Mas agora quero configurar vários vhosts com endereços IP diferentes, pois configurei minha placa de rede para usar todos os endereços IP de 192.168.2.95 a 192.168.2.105 .
Esta é a entrada de hosts virtuais:
<VirtualHost 192.168.2.96:80>
DocumentRoot "/xampp/hegedocs/www"
ServerName 192.168.2.96:80
</VirtualHost>
httpd -D DUMP_VHOSTS
diz isto:
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
Mas não consigo acessar o vhost nem parece que o apache escuta em 192.168.2.96:80 - não há nenhuma entrada mostrada para este endereço com netstat -a -b
.
Responder1
Encontrei o problema: vhosts baseados em IP simplesmente não funcionam. Apenas definir alguns nomes no arquivo hosts (foo.localhost, bar.localhost todos mapeados para o mesmo endereço IP) e então usar vhosts baseados em nomes funciona sem nenhum problema. É claro que isso não é tão portátil quanto os endereços IP, já que outras máquinas na rede naturalmente não conhecem esses nomes... mas bem, contanto que de alguma forma funcione...
Responder2
Basta verificar este guia
http://i.justrealized.com/2008/how-to-set-up-virtualhost-in-xampp-for-windows/
Está funcionando para mim
Responder3
Aqui estão algumas coisas básicas que você pode tentar adicionar para ter certeza de que está obtendo a porta correta.
# Ensure that Apache listens on port 80
Listen 80
# Listen for virtual host requests on all IP addresses
NameVirtualHost *:80
Aqui está um exemplo do appache sobre como deveria ser:
<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>
Tenho certeza de que você já viu isso antes, mas às vezes ajuda olhar para as coisas simples.
Minha configuração funciona bem executando 2 sites em 1 caixa, usando ServerName www.example.com.
Espero que isto ajude!
Responder4
Certifique-se de que o Apache saiba onde está o arquivo vhost.conf. Na parte inferior do httpd.conf, talvez seja necessário descomentar
Include conf/*.conf