Pages : 1
#1 Le 20/02/2007, à 14:42
- franco12
[résolu] virtualhosts sous apache
Salut ,
j'ai un pc sous ubuntu breezy qui fait office de serveur de plusieurs applis sur différents ports.
alors j'aimerais pouvoir avoir accès à toutes mes applis en passant uniquement par le port 80 (pour passer le proxy de ma boite/école)
J'ai vu vite fait que c'était possible avec apache grace à la directive virtualhost.
IP serveur : 192.168.0.2
IP appli1 : 192.168.0.2:10000 ---chemin souhaité---> 192.168.0.2/appli1
IP appli2 : 192.168.0.2:20000 ---chemin souhaité---> 192.168.0.2/appli2
IP appli3 : 192.168.0.2:30000 ---chemin souhaité---> 192.168.0.2/appli3
est-ce que c'est possible, et comment ?
merci pour votre aide
..signé un n00b en apache
Dernière modification par franco12 (Le 22/02/2007, à 21:08)
"La route est (peut-être un peu) longue, mais la voie est (plus que jamais) libre" - Citation de Framasoft modifiée
Membre de l'April - « promouvoir et défendre le logiciel libre » - http://www.april.org
Mon jabber : francois_@jabber.fr
Hors ligne
#2 Le 20/02/2007, à 16:47
- Uggy
Re : [résolu] virtualhosts sous apache
Je ne sais pas exactement ce que tu apelles "appli"... mais je serais toi je regarderais du coté des tunnels ssh. (on peux encapsuler genre du smtp dans du ssh, lui meme passant a travers un proxy http)
Hors ligne
#3 Le 20/02/2007, à 16:49
- cedjo
Re : [résolu] virtualhosts sous apache
regarde aussi mod_proxy et mod_rewrite pour apache
tu pourrais avoir un fichier dans ce style pour une "appli" tournant sur le port 2500 de ton hote. (c'est un fichier de conf pour instiki, un wiki sous Rails)
<VirtualHost *:80>
ServerName www.monsite.org
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
RewriteEngine On
ProxyRequests Off
ProxyPreserveHost On
RewriteRule ^/(.*) http://localhost:2500/$1 [P,L]
ProxyPassReverse / http://localhost:2500/wiki/published/
</VirtualHost>
Dernière modification par cedjo (Le 20/02/2007, à 16:54)
Hors ligne
#4 Le 20/02/2007, à 16:56
- franco12
Re : [résolu] virtualhosts sous apache
merci pour vos réponses
@Uggy
ce sont des appli web qui utilisent le 'http'
genre une appli pour visualiser/ajouter des torrents sur le port 10000
etc...
elles sont sur des ports différents et je voudrais les centraliser vers le 80.
Ca doit être possible avec apache qui fait la redirection en interne.
@ cedjo
cool
j'essaie dès que je rentre et jte dis
Dernière modification par franco12 (Le 20/02/2007, à 16:58)
"La route est (peut-être un peu) longue, mais la voie est (plus que jamais) libre" - Citation de Framasoft modifiée
Membre de l'April - « promouvoir et défendre le logiciel libre » - http://www.april.org
Mon jabber : francois_@jabber.fr
Hors ligne
#5 Le 20/02/2007, à 16:57
- iuchiban
Re : [résolu] virtualhosts sous apache
Humpf bizarre comme demande.
Si tu as plusieurs sites Web qui tournent sur la même machine, alors ils doivent soit avoir des ports différents (10000, 20000, ...) soit tu y accède par des adresses différentes : appli1.domaine.com, appli2.domaine.com et là tu restes sur le port 80.
Vu sur Lea-Linux
Et enfin les définitions de "virtual host" pour faire des serveurs virtuels suivant des répertoires, etc...
<VirtualHost ip_ou_adresse_virtuelle>
ServerAdmin email_webmaster@hoste_virtuel
DocumentRoot racine_hote_virtuel
ServerName nom_server_virtuel
ErrorLog chmein_complet_errorlog
</VirtualHost>Explication sur les VirtualHost:
Les virtualhosts permettent de mettre plus d'un site web par IP, en les appelant par nom de domaine ou par IP. Ce qui permet d'avoir des centaines de sites sur un serveur n'ayant qu'une seule IP (c'est comme cela que font tous les hébergeurs, ils ne prennent pas une nouvelle IP pour chaque nouveau client hébergé).Par exemple, votre serveur web héberge deux sites web d'url: www.domaine1.com et www.domaine2.com, et a comme adresse IP: 80.10.20.30, voici comment définir les deux VirtualHost:
NameVirtualHost 80.10.20.30
<VirtualHost 80.10.20.30>
ServerAdmin webmaster@domain1.com
DocumentRoot /home/domain1/www
ServerName www.domain1.com
ErrorLog /var/log/apache/domain1-error.log
CustomLog /var/log/apache/domain1-access.log combined
ServerAlias domain1.com
</Virtualhost><VirtualHost 80.10.20.30>
ServerAdmin webmaster@domain2.com
DocumentRoot /home/domain2/www
ServerName www.domain2.com
ErrorLog /var/log/apache/domain2-error.log
CustomLog /var/log/apache/domain2-access.log combined
ServerAlias domain2.com
</Virtualhost>NameServer permet de définir sur quelle IP les virtualhosts sont définis.
<VirtualHost> permet de définir un nouvel hôte virtuel apache, avec son adresse IP associée. En combinaison avec la directive ServerName il définit aussi le nom avec lequel le serveur doit etre appelé. Cela signifie que si le serveur reçoit une requête sur son IP 80.10.20.30 avec le nom "www.domain1.com", le serveur va donc fournir les pages webs contenues dans /home/domain1/www (grâce à la directive DocumentRoot).
De la même facon, il va fournir les pages de /home/domain2/www si on appelle celle-ci avec l'url www.domain2.com.Pour que cela fonctionne, il faut bien sur qu'un serveur DNS soit configuré pour faire pointer www.domain1.com et www.domain2.com sur l'IP 80.10.20.30.
Dernière modification par iuchiban (Le 20/02/2007, à 17:00)
C'est depuis que Chuck Norris a laissé la vie sauve à un manchot que l'on dit que Linux est libre.
Chuck Norris n'a pas besoin d'éditer son premier message pour ajouter [Résolu]. Chuck Norris est toujours [Résolu], quoi qu'il arrive.
Hors ligne
#6 Le 20/02/2007, à 17:00
- franco12
Re : [résolu] virtualhosts sous apache
Humpf
bizarre comme demande.
Si tu as plusieurs sites Web qui tournent sur la même machine, alors ils doivent soit avoir des ports différents (10000, 20000, ...) soit tu y accède par des adresses différentes : appli1.domaine.com, appli2.domaine.com et là tu restes sur le port 80.
ben j'ai juste un dyndns, donc pas de sous-domaine
encore une fois j'applaudis la réactivité de la communauté
merci à vous, je regarde ça
Dernière modification par franco12 (Le 20/02/2007, à 17:29)
"La route est (peut-être un peu) longue, mais la voie est (plus que jamais) libre" - Citation de Framasoft modifiée
Membre de l'April - « promouvoir et défendre le logiciel libre » - http://www.april.org
Mon jabber : francois_@jabber.fr
Hors ligne
#7 Le 20/02/2007, à 20:03
- Uggy
Re : [résolu] virtualhosts sous apache
Ca doit etre possible avec les virtualHost... sinon c'est bon aussi en SSH:
ssh -L 10000:127.0.0.1:10000 user@IPserver
ssh -L 11000:127.0.0.1:11000 user@IPserver
Si tu fait pointer ton navigateur vers le port 10000 de la machine client, tu arriveras en fait sur le port 10000 du serveur (a travers la connexion ssh)
Tu peux meme utiliser putty pour le faire graphiquement et tu peux également configurer un proxy HTTP si tu n'as pas les droits pour sortir .
Il y a des chances qu'il faille cependant faire écouter ton serveur sshd sur le port 80 ou 443 si un Fw de la boite/ecole bloque les autres ports.
Hors ligne
#8 Le 21/02/2007, à 11:47
- franco12
Re : [résolu] virtualhosts sous apache
@ Uggy
ok je note pour plus tard, merci
pour l'instant j'utilise ssh sur le port 21 (qui n'est pas bloqué) et qui me permet en plus de faire du sftp.
@ cedjo
yehaaaaa
j'ai repris ta conf et ça marche super
NameVirtualHost *
<VirtualHost *>
ServerAdmin webmaster@localhost
ServerName monsite.dyndns.org
DocumentRoot /var/www/
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
RewriteEngine On
ProxyRequests Off
ProxyPreserveHost On
RewriteRule ^/(.*) http://localhost:12000/$1 [P,L]
ProxyPassReverse / http://localhost:12000/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
# This directive allows us to have apache2's default start page
# in /apache2-default/, but still have / go to the right place
# Commented out for Ubuntu
#RedirectMatch ^/$ /apache2-default/
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
Une dernière question (bête)
Avec ma conf actuelle, http://localhost "proxyte" http://localhost:12000
comment faire pour avoir http://localhost/monsite1 qui "proxyte" http://localhost:12000 ?
merci
"La route est (peut-être un peu) longue, mais la voie est (plus que jamais) libre" - Citation de Framasoft modifiée
Membre de l'April - « promouvoir et défendre le logiciel libre » - http://www.april.org
Mon jabber : francois_@jabber.fr
Hors ligne
#9 Le 21/02/2007, à 15:11
- franco12
Re : [résolu] virtualhosts sous apache
j'ai essayé avec la directive ServerName :
ServerName monsite.dyndns.org/monsite1
mais ça ne marche pas , il cherche à m'afficher le contenu du répertoire 'monsite1' , ça parait logique d'ailleurs..
l'idéal serait d'avoir des sous-domaines mais je n'en ai pas,
ou alors de mettre un autre dyndns mais la flemme
voila si quelqu'un peut m'aider sur ce point. merci
Dernière modification par franco12 (Le 21/02/2007, à 15:27)
"La route est (peut-être un peu) longue, mais la voie est (plus que jamais) libre" - Citation de Framasoft modifiée
Membre de l'April - « promouvoir et défendre le logiciel libre » - http://www.april.org
Mon jabber : francois_@jabber.fr
Hors ligne
#10 Le 21/02/2007, à 15:41
- lexdu
Re : [résolu] virtualhosts sous apache
Il y a trois manières d'héberger ses applis sous apache : par port, par ip et par hote virtuel.
Il y a toute la doc qu'il faut sur ce site ICI et ICI
Et honnêtement, j'estime que pour un serveur, un passage sous Dapper serait de bonne augure
Bonne lecture
Dernière modification par lexdu (Le 21/02/2007, à 15:41)
Si tu cherches une dent de fourmi dans un sac de sable, trouve d'abord le sac de sable !
Portable Asus U80v + Lucid Lynx 64bits… dans la chaleur Guyanaise
[Ubuntu User #1358] [Membre du club des beaux Ubunteros]
Hors ligne
#11 Le 21/02/2007, à 15:53
- franco12
Re : [résolu] virtualhosts sous apache
Salut lexdu,
ma dernière question est assez spécifique et je n'ai pas trouvé de réponse dans les docs.
Les docs parlent de sous-domaines, ou de domaines différents alors que je souhaite appeler mes applis avec un seul domaine dyndns avec un répertoire par appli : monsite.dyndns.org/site1, monsite.dyndns.org/site2, etc...
et en ce qui concerne mon serveur breezy : c'est pour la maison, peu importe la sécurité, je veux juste que ça carbure (c'est un vieux P3 500mhz, 256mo)
voila merci pour ta réponse
"La route est (peut-être un peu) longue, mais la voie est (plus que jamais) libre" - Citation de Framasoft modifiée
Membre de l'April - « promouvoir et défendre le logiciel libre » - http://www.april.org
Mon jabber : francois_@jabber.fr
Hors ligne
#12 Le 21/02/2007, à 19:40
- lexdu
Re : [résolu] virtualhosts sous apache
Bah écoute j'vois pas où est ton problème
Tu fais pointer ton hôte virtuel (www.taracine.com) sur le répertoire racine de tes applications (/var/www), ensuite toutes tes applications seront accessibles par www.taracine.com/application1
Si tu cherches une dent de fourmi dans un sac de sable, trouve d'abord le sac de sable !
Portable Asus U80v + Lucid Lynx 64bits… dans la chaleur Guyanaise
[Ubuntu User #1358] [Membre du club des beaux Ubunteros]
Hors ligne
#13 Le 21/02/2007, à 20:35
- Thamior
Re : [résolu] virtualhosts sous apache
Je ne vois pas non plus ou est le problème ?
Si ton "DocumentRoot" pointe vers /opt/www par exemple, on trouvera dans ce répertoire les dossiers :
* appli1
* appli2
* appli3
un http://tonadresseip/appli1 etc... et c'est bon... tu remplace evidemment ton adresse IP par ton DNS si tu en as un
Hors ligne
#14 Le 21/02/2007, à 22:46
- franco12
Re : [résolu] virtualhosts sous apache
le probleme est plus compliqué que ça
il s'agit de faire passer des applis sur des ports différents (ex: 12000, 13000, etc..) par le port 80. Ca permet d'accèder à mes applis qui ont des ports interdits par les proxy, fw et companie..
j'ai réussi à le faire avec une appli grâce à la conf de cedjo qui utilise le mod proxy.
Maintenant je me posais la question de le faire avec d'autres applis sachant que je ne possède qu'un dyndns et aucun sous domaines.
J'ai finalement résolu mon probleme en utilisant autant de dyndns que d'applis, ce n'est ni propre ni pratique mais ça marche et c'est gratuit.
Voici ma conf :
NameVirtualHost *
<VirtualHost *> ############# virtual host de l'appli 1 hébergée sur le port 12000
ServerAdmin webmaster@localhost
ServerName appli1.isa-geek.net
DocumentRoot /var/www/
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
RewriteEngine On
ProxyRequests Off
ProxyPreserveHost On
RewriteRule ^/(.*) http://localhost:12000/$1 [P,L]
ProxyPassReverse / http://localhost:12000/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>
<VirtualHost *> ############# virtual host général pour arriver sur la racine
ServerAdmin webmaster@localhost
ServerName site.isa-geek.net
DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>
voili voilou
Dernière modification par franco12 (Le 21/02/2007, à 23:06)
"La route est (peut-être un peu) longue, mais la voie est (plus que jamais) libre" - Citation de Framasoft modifiée
Membre de l'April - « promouvoir et défendre le logiciel libre » - http://www.april.org
Mon jabber : francois_@jabber.fr
Hors ligne
#15 Le 21/02/2007, à 23:42
- lexdu
Re : [résolu] virtualhosts sous apache
Je persiste et signe... ou alors je ne comprends vraiment rien du tout.
Mais avec ce qu'on t'a dit précédemment, tu n'as besoin que d'un seul DNS, et toutes tes applis passeront par le port 80 (ce que tu cherches, si j'ai tout suivi)
Allez allez, on va y arriver
Si tu cherches une dent de fourmi dans un sac de sable, trouve d'abord le sac de sable !
Portable Asus U80v + Lucid Lynx 64bits… dans la chaleur Guyanaise
[Ubuntu User #1358] [Membre du club des beaux Ubunteros]
Hors ligne
#16 Le 22/02/2007, à 00:06
- franco12
Re : [résolu] virtualhosts sous apache
Je persiste et signe... ou alors je ne comprends vraiment rien du tout.
Mais avec ce qu'on t'a dit précédemment, tu n'as besoin que d'un seul DNS, et toutes tes applis passeront par le port 80 (ce que tu cherches, si j'ai tout suivi)Allez allez, on va y arriver
non je crois que tu n'y es pas
par exemple j'ai une appli qui permet de visualiser les torrent d'azureus, elle n'est pas hébergée sur mon serveur apache
j'ai configuré cette appli sur le port 12000, donc elle n'est accessible que depuis http://monip:12000
avec ta méthode je vois pas comment je peux faire ça
je me suis peut être mal exprimé au début... en tout cas cedjo avait pigé
bye et merci pour votre patience
Dernière modification par franco12 (Le 22/02/2007, à 00:09)
"La route est (peut-être un peu) longue, mais la voie est (plus que jamais) libre" - Citation de Framasoft modifiée
Membre de l'April - « promouvoir et défendre le logiciel libre » - http://www.april.org
Mon jabber : francois_@jabber.fr
Hors ligne
#17 Le 22/02/2007, à 19:15
- Scurz
Re : [résolu] virtualhosts sous apache
http://httpd.apache.org/docs/2.0/vhosts/
Pages : 1