Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 20/02/2007, à 15:42

franco12

[résolu] virtualhosts sous apache

Salut smile,
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 wink

Dernière modification par franco12 (Le 22/02/2007, à 22: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, à 17: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, à 17: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>

wink

Dernière modification par cedjo (Le 20/02/2007, à 17:54)

Hors ligne

#4 Le 20/02/2007, à 17:56

franco12

Re : [résolu] virtualhosts sous apache

merci pour vos réponses big_smile

@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 smile

Dernière modification par franco12 (Le 20/02/2007, à 17: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, à 17:57

iuchiban

Re : [résolu] virtualhosts sous apache

Humpf hmm 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, à 18: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, à 18:00

franco12

Re : [résolu] virtualhosts sous apache

iuchiban a écrit :

Humpf hmm 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 cool

Dernière modification par franco12 (Le 20/02/2007, à 18: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, à 21: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, à 12: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 wink


"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, à 16: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' hmm , ç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 lol

smile voila si quelqu'un peut m'aider sur ce point. merci

Dernière modification par franco12 (Le 21/02/2007, à 16: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, à 16: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 wink

Bonne lecture wink

Dernière modification par lexdu (Le 21/02/2007, à 16: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, à 16: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 big_smile


"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, à 20:40

lexdu

Re : [résolu] virtualhosts sous apache

Bah écoute j'vois pas où est ton problème sad

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 smile


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, à 21:35

Thamior

Re : [résolu] virtualhosts sous apache

Je ne vois pas non plus ou est le problème ? sad

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, à 23: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 wink

Dernière modification par franco12 (Le 22/02/2007, à 00: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 22/02/2007, à 00: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) smile

Allez allez, on va y arriver wink


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, à 01:06

franco12

Re : [résolu] virtualhosts sous apache

lexdu a écrit :

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) smile

Allez allez, on va y arriver wink

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 wink

Dernière modification par franco12 (Le 22/02/2007, à 01: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, à 20:15

Scurz

Re : [résolu] virtualhosts sous apache

http://httpd.apache.org/docs/2.0/vhosts/ roll