kiki
13 juin 2008 à 14:39
A mon avis vous n'avez pas mis d'adresse IP à la directive NameVirtualHost dans le fichier /etc/apache2/apache2.conf
Le démon htttpd va écouter un port sur une adresse. Il faut emttre l'adresse locale.
Si vous utilisez aussi https, il faut mettre 2 lignes :
NameVirtualHost 192.168.1.1:80
NameVirtualHost 192.168.1.1:443
il est peut etre possible d'utiliser 0.0.0.0 pour toutes les adresses ?
l faut qu'il y ait au moins 2 vhost (1 pour chaque port si vous utilisez les ports 80 et 443).
Le vhost doit reprendre le numero IP et le port :
<VirtualHost 192.168.1.1:80>
DocumentRoot /var/www/www.site1.com
ServerName www.site1.com
...
<VirtualHost>
<VirtualHost 192.168.1.1:443>
DocumentRoot /var/www/www.site1.com
ServerName www.site1.com
...
<VirtualHost>
Il est possible d'inscrire la config du 2e vhost pour https dans le meme fichier de config (c'est la meme adresse).
Pour que tout fonctionne, il faut que le serveur puisse trouver les entrées dans le DNS nom_dns->IP
Il faut donc configurer /etc/hosts ou bind9 (si vous avez bind9 installé)
127.0.0.1 localhost
192.168.1.1 www.site1.com site1.com
192.168.1.1 www.site2.com site2.com
etc...
Comme le serveur va faire la distinction du vhost par rapport a son nom DNS et pas par rapport a son adresse IP, il faut que le DNS fonctionne.
NOTA : si le serveur n'est pas lancé, il ne faut pas faire un "apache2 reload" mais un "apache2 start".