JeuWeb - Crée ton jeu par navigateur
[Résolu] Virtual Hosts - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [Résolu] Virtual Hosts (/showthread.php?tid=3339)



[Résolu] Virtual Hosts - Sephi-Chan - 25-11-2008

Bonjour,

En ce moment, je cherche à comprendre le fonctionnement des Virtual Hosts d'Apache. Ça tombe bien, j'en avais besoin pour tester une architecture Zend Framework. Smile

J'en ai donc configuré un pour tester, le voici.
Code :
<VirtualHost *:8888>
    ServerName dogmes.dev
    DocumentRoot /Users/sephichan/Sites/dogmes/document_root
</VirtualHost>

J'ai modifié mon ficher hosts pour qu'il s'adapte :
Code :
127.0.0.1       dogmes.dev

D'ailleurs, je ne comprends pas à quoi sert ServerName. Ça ne change rien quoi que je mette, ça n'est pas lié à la modification que j'ai fais dans hosts. Question donc : à quoi ça sert.

Le problème, c'est que maintenant, quand je vais sur localhost:8888, il me dirige vers le documentRoot /Users/sephichan/Sites/dogmes/document_root. Je voudrais que seul dogmes.dev renvoie vers cette adresse.


Sephi-Chan


RE: Virtual Hosts - Seren - 25-11-2008

Il te manque pas un

Code :
# Pour vérifier que le port 8888 soit écouté
Listen 8888
NameVirtualHost *:8888
?


RE: Virtual Hosts - Sephi-Chan - 25-11-2008

Hello Seren,

J'ai déjà le Listen 8888 plus haut dans le fichier.
Le NameVirtualHost n'a pas résolu le problème… Sad


Sephi-Chan


RE: Virtual Hosts - keke - 25-11-2008

Je pense que tu as lu tout ça :
http://httpd.apache.org/docs/2.2/fr/vhosts/examples.html

J'avoue ne pas être très à l'aise avec les vhosts et il faut que je bidouilles souvent un moment avant d'arriver à faire ce que je veux faire ...

Pour répondre à la question du serveurname
Citation :Note :

Si vous le souhaitez, vous pouvez remplacer * par l'adresse IP du système. Dans ce cas, l'argument de VirtualHost doit correspondre à l'argument de NameVirtualHost :

NameVirtualHost 172.20.30.40

<VirtualHost 172.20.30.40>
# etc ...

En général, il est commode d'utiliser * sur les systèmes dont l'adresse IP n'est pas constante - par exemple, pour des serveurs dont l'adresse IP est attribuée dynamiquement par le FAI, et où le DNS est géré au moyen d'un DNS dynamique quelconque. Comme * signifie n'importe quelle adresse, cette configuration fonctionne sans devoir être modifiée quand l'adresse IP du système est modifiée.


Sinon pour ce point :
Citation :Le problème, c'est que maintenant, quand je vais sur localhost:8888
Code :
<VirtualHost 127.0.0.1:8888>
    ServerName dogmes.dev
    DocumentRoot /Users/sephichan/Sites/dogmes/document_root
</VirtualHost>
en rajoutant l'adresse IP 127.0.0.1 à la place de *, ça donne quoi ?

Bon, bidouille bien, je suis incapable de t'aider plus ^^. J'ai fais ça à l'école et à l'époque j'aimais pas tellement internet car j'y comprenais rien ^^

Kéké


RE: Virtual Hosts - Seren - 25-11-2008

En fait je viens de regarder dans la doc d'apache, il est dit que le premier virtualhost que tu définis est aussi le serveur par défaut.

C'est à dire que lorsque tu tappes "localhost", il ne trouve pas de "virtualhost" dont le ServerName corresponde, donc par défaut il te redonne le premier vhost dans la liste, soit dogma.dev

Eventuellement fait des tests en créant dans l'ordre 3 serveurs:
- localhost
- dogma1.dev
- dogma2.dev

Par défaut, il devrait retomber sur localhost.


RE: Virtual Hosts - Anthor - 25-11-2008

Le ServerName te permet de rediriger sur le bon virtualhost, d'après l'url entré dans le navigateur.

Par exemple pour sephi-chan.fr :
Code PHP :
<?php 
<VirtualHost 91.121.140.104:80>
ServerName sephi-chan.fr
ServerAlias www
.sephi-chan.fr

DocumentRoot
/home/sephi-chan/public_html
ErrorLog
/home/sephi-chan/logs/error_log
CustomLog
/home/sephi-chan/logs/access_log combined

DirectoryIndex index
.html index.htm index.php index.php4 index.php5

<Directory /home/sephi-chan/public_html>
Options -Indexes IncludesNOEXEC FollowSymLinks
allow from all
AllowOverride All
</Directory>

<
Directory /home/sephi-chan/cgi-bin>
allow from all
</Directory>

</
VirtualHost>



RE: Virtual Hosts - Sephi-Chan - 25-11-2008

Merci pour les renseignement à ceux qui m'ont aidé ! Smile

Anthor a solutionné mon problème, voilà ma règle finale, qui fonctionne très bien.

Code :
NameVirtualHost *:8888

<VirtualHost *:8888>
    ServerName localhost
    DocumentRoot /Applications/MAMP/htdocs
</VirtualHost>

<VirtualHost *:8888>
    ServerName dogmes.dev
    DocumentRoot /Users/sephichan/Sites/dogmes/document_root
</VirtualHost>

Je suis en train de rédiger un billet sur le déploiement d'une application Zend Framework qui utilise les Virtual Hosts. J'en avais suspendu l'écriture parce que je ne comprenais pas complètement le mécanisme. Je vais pouvoir le boucler et le publier. Smile


Sephi-Chan


RE: [Résolu] Virtual Hosts - Melimelo - 25-11-2008

C'est un joli mot bouclier un article Tongue


RE: [Résolu] Virtual Hosts - Sephi-Chan - 25-11-2008

Bien vu, Melimelo ! C'est corrigé ! Wink

A vrai dire, je ne mettais pas mes sites dans Sites pour éviter de confondre les sites propulsés avec mes différents serveurs Apache. Finalement, ça n'a pas beaucoup de sens… Surtout maintenant que je sais comment faire.

Mon billet s'inscrit dans une lignée d'articles sur Zend Framework. J'ai trouvé logique de commencer par le déploiement de ce dernier. Le fait qu'il utilise des Virtual Hosts est effectivement un hasard qui me permettra de faire le point dessus. Smile


Sephi-Chan


RE: [Résolu] Virtual Hosts - Melimelo - 25-11-2008

Mais je l'aimais vraiment bien ton mot :'(