Apache et virtual hosting HELP - Logiciels - Windows & Software
Marsh Posté le 03-11-2005 à 12:02:52
En admettant que tes 3 sites tournent sur le meme apache. et sur la meme machine 192.168.XX.YY
et que les racines de tes 3 sites sont positionnées telles que :
www.w1.net => http://:192.168.XX.YY:80/w1
www.w2.net => http://:192.168.XX.YY:80/w2
www.w3.net => http://:192.168.XX.YY:80/w3
Alors essaie un truc du genre :
<VirtualHost *:80>
UseCanonicalName On
ServerName www.w1.net
ServerAdmin webmaster@mail1.com
CustomLog /groups/1/logs/error_log combined
ProxyRequests Off
ProxyPass / http://192.168.XX.YY:80/w1
ProxyPassReverse / http://:192.168.XX.YY:80/w1
</VirtualHost>
<VirtualHost *:80>
UseCanonicalName On
ServerName www.w2.net
ServerAdmin webmaster@mail2.com
CustomLog /groups/2/logs/error_log combined
ProxyRequests Off
ProxyPass / http://192.168.XX.YY:80/w2
ProxyPassReverse / http://:192.168.XX.YY:80/w2
</VirtualHost>
<VirtualHost *:80>
UseCanonicalName On
ServerName www.w3.net
ServerAdmin webmaster@mail3.com
CustomLog /groups/3/logs/error_log combined
ProxyRequests Off
ProxyPass / http://192.168.XX.YY:80/w3
ProxyPassReverse / http://:192.168.XX.YY:80/w3
</VirtualHost>
Marsh Posté le 03-11-2005 à 13:39:58
vrobaina a écrit : En admettant que tes 3 sites tournent sur le meme apache. et sur la meme machine 192.168.XX.YY |
merci
le fait que l'adresse externe soit unique, ne posera pas porbleme??
a quoi sert le proxy pass et proxypass reverse??
Le canonical name, est-il encore possible de l'utiliser sur la version 2 d'apache,car il me semblait que s'allait disparaitre sur cette version??
autre chose en ce qui concerne le Server name au tout debut du httpd.conf faut-il le renommer en local host par exemple??
Marsh Posté le 03-11-2005 à 17:51:34
justement, le fait d'avoir une adresse WAN unique impose de jouer avec les virtual host. Sinon de simples regles ajoutées au niveau de ton routeur suffiraient.
Le Serveur Name, c'est le nom de ton serveur en interne (cela peut etre toto:80 , ou mon_serveur:80.....) dans tes DNS. Si tu n'a pas de DNS interne alors tu peux mettre l'adresse IP interne de ton serveur : 192.168.XX.YY:80
Par contre pour que l'ensemble fonctionne correctement, il faut que la variable "UseCanonicalName" soit positionnée sur "Off".
Qt à Apache 2, désolé mais je n'ai pas encore basculé mes serveurs sur cette version. => Je ne suis incapable de te repondre.
Marsh Posté le 03-11-2005 à 18:44:09
vrobaina a écrit : justement, le fait d'avoir une adresse WAN unique impose de jouer avec les virtual host. Sinon de simples regles ajoutées au niveau de ton routeur suffiraient. |
Quand tu dit que le CanonicalName doit etre sur off c'est en dehors de la partie Virtual Host, c'est bien ca??
je viens de regarder et c'est present sur la version 2
par contre je ne comprends pas la partie concernant le proxy pass et proxy pass reverse, peux tu m'en dire plus, ah oui les w* dans les section proxy pass et proxy pass reverse correpondent a quoi, au nom du site ou a l'emplacemnt sur mon dd??
merci d'avance
Marsh Posté le 03-11-2005 à 20:48:22
Oui, CanonicalName est une variable "globale" declarée dans ton httpd.conf.
les w* correspondent à un repertoire qui contient un site.
Si la racine "/" de ton seveur web est par exemple "d:\mon_web"
pour atteindre le premier site :
tu crees une directory d:\mon_web\w1 et tu positionnes tes pages et le reste dedans.
Idem pour le 2ieme site que tu installes dans d:\mon_web\w2
Idem pour le 3ieme site que tu installes dans d:\mon_web\w3
Ainsi avec les "primitives" ProxyPass et ProxyPassReverse, qd qq va pointer sur www.w1.net, apache le dirigera automatiquement vers /w1 c'est à dire vers d:\mon_web\w1
idem pour www.w2.net qui pointera lui vers d:\mon_web\w2
idem pour www.w3.net.
=> tu n'as qu'un apache qui tourne et chaque arborescence w1, w2, w3 est independante. De plus tes sites peuvent etre dans des repertoires, des disques et meme des serveurs differents (dans ce cas il faut d'autres apaches de parametrés sur les serveurs).
PS: Faudrait que tu bosses un peu la doc d'apache.........
Marsh Posté le 03-11-2005 à 23:13:08
vrobaina a écrit : Oui, CanonicalName est une variable "globale" declarée dans ton httpd.conf. |
merci de ton aide vraiment
je suis en train de me taper un bouquin sur apache (installation,administration et securisation) mais c'est pas toujours très clair au niveau explication c'est pour cela que je demande de l'aide
mes sites sont dans un une arborescence comme suit:
c:\www\w1
c:\www\w2
c:\www\w3
la partie document root pointe sur chaque un des repertoires dans ce cas precis ou elle devient caduque??
donc ca c'est fait par contre j'aurais une toute derniere questionaprès je t'embetes plus promis
la partie proxy pass et proxy pass reverse donnera quelque chose comme ca:
ProxyPass / http://192.168.XX.YY:80/w1
ProxyPassReverse / http://:192.168.XX.YY:80/w1
ou comme ca
ProxyPass / http://192.168.XX.YY:80/cwww/w1
ProxyPassReverse / http://:192.168.XX.YY:80/cwww/w1
merci encore après promis je demande plus rien
Marsh Posté le 03-11-2005 à 23:28:19
les Proxy et ProxyPassReverse fonctionnent avec des URL et pas des chemin absolu du genre c:\wwww
dans ton cas :
Ton "DocumentRoot" de ton serveur (et tu ne le declare qu'une fois) doit etre c:\www
=> le / de ton serveur pointera directement sur c:\www
puis dans les proxy....
tu mets :
/ http://192.168.XX.YY:80/w1 ou W2 ou W3 suivant les VirtualHosts.
Marsh Posté le 03-11-2005 à 23:29:19
vrobaina a écrit : les Proxy et ProxyPassReverse fonctionnent avec des URL et pas des chemin absolu du genre c:\wwww |
c'est cool merci j'ai tout compris la
Marsh Posté le 03-11-2005 à 23:37:34
ReplyMarsh Posté le 05-11-2005 à 09:12:39
bonjour, bon j'ai dis que je n'allais plus rien demander mais là je suis paumé,
j'ai refait la config de mon serveur apache mais maintenant j'ai une erreur don't je n'arrive pas trouve la solution:
Voici mon message d'erreur, quelqu'un l'as deja eu:
502 Proxy Error
The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request GET /AldialloAldialloAldialloAldialloAldialloAldialloAldialloAldialloAldialloAldialloAldiallo.
Reason: Max-Forwards has reached zero - proxy loop?
la variable Max-Forwards, je ne la trouve nulle part dans mon fichir conf
faut-il la creer?
Marsh Posté le 05-11-2005 à 13:16:11
aldiallo a écrit : bonjour, bon j'ai dis que je n'allais plus rien demander mais là je suis paumé, |
Marsh Posté le 07-11-2005 à 13:31:36
ReplyMarsh Posté le 07-11-2005 à 16:51:47
Reply
Marsh Posté le 03-11-2005 à 09:22:39
Bonjour,
J'ai besoin d'aide pour configurer le virtual host dans apache, je m'explique, mon serveur a la maison dispose de 3 cartes reseaux chaque 1e avec 1e adresse ip fixe du type 192.168.*.* les trois cartes sont brnaché sur mon routeur qui lui est branché sur ma freebox avec aussi adresse ip fixe.
ce que je souhaite savoir est comment dois configurer apache pour que le site web qui tourne actuellement ne sois pas derangé par les 2 autres que je vais creer; je pense qu'au niveau du routeur j'ai fait le necessaire en laissant ouvert le port 80 pour chaque adresse de mon serveur, maintenant comme vous l'aurez compris mon problème se situe dans la configuration de apache pour que quand je tape www.1.com, les sites www.2.com et www.3.com ne soient pas ciblé et pareil pour les autres.
j'ai déjaà essayé ceci:
<VirtualHost www.1.com>
ServerAdmin webmaster@mail.1.com
DocumentRoot /groups/1/www
ServerName www.1.com
ErrorLog /groups/1/logs/error_log
TransferLog /groups/smallco/logs/access_log
</VirtualHost>
<VirtualHost www.2.org>
ServerAdmin webmaster@mail.2.org
DocumentRoot /groups/2/www
ServerName www.2.org
ErrorLog /groups/2/logs/error_log
TransferLog /groups/2/logs/access_log
</VirtualHost>
Mais ca a l'air de ne pas marché
Merci de votre aide
Message édité par aldiallo le 03-11-2005 à 11:33:16