Forum Linux.général Problème(s?) de vhosts

Posté par .
Tags : aucun
1
17
oct.
2009
Bonsoir ! :)

Je me doute que ce n'est pas le forum le plus approprié à ce genre de questions, mais vu que je suis arrivé ici par Google et que quelqu'un avec un problème similaire au mien semblait avoir obtenu de l'aide, et vu aussi que je me suis fait traiter comme un chien sur IRC, je tente...

J'ai de gros soucis avec mes vhosts Apache, des comportements que je ne parviens pas à comprendre !

Alors pour simplifier, j'ai tout viré, et je refais tout pas à pas, et peut être saurez-vous m'aider dans ces étapes.

J'ai un serveur (chez OVH), et plusieurs noms de domaines, qui pointent au niveau DNS vers ledit serveur. Avec bind, je gère tous ces noms de domaines, et ensuite avec Apache j'essaie de gérer les sous-domaines... mais là où ça va nickel pour deux domaines, pour les autres (on va en prendre un pour commencer), rien ne va plus !

Bon déjà, première question : Est-ce que je peux gérer les différents sous-domaines de mes domaines de manière dynamique ? C'est à dire : On accède à http://blabla.domaine.com, rediriger vers /home/biganon/domaine/blabla ? Parce que sur IRC, on m'a "gentiment" fait comprendre que c'était peine perdue... seulement ça m'étonne, d'autant qu'un ami y parvient sauf erreur.

Donc, j'ai dans sites-enabled un fichier par nom de domaine, et je les remplis comme ça :


DocumentRoot /home/biganon/biganon/www
ServerAlias www.biganon.com
ServerName biganon.com


DocumentRoot /home/biganon/biganon/arene
ServerName arene.biganon.com


J'ai NameVirtualHost *:80 situé dans ports.conf pour info. 000-default, je l'ai foutu loin.
Donc comme vous le voyez, là je suis revenu à du non-dynamique, je vais vraiment par étapes. Bon, ce domaine là marche, sons sous-domaine "arene" marche aussi.
Ensuite, j'ai un deuxième domaine, même chose, y a même plus de sous-domaines, mais tout marche, Y COMPRIS le ServerAlias.

Là où ça pêche, c'est pour le troisième. J'ai configuré comme ça :


DocumentRoot /home/biganon/generation90/www
ServerAlias www.generation90.com
ServerName generation90.com



Comme l'autre quoi... or, generation90.com mène à bon port, mais PAS www.generation90.com ! Lui, il mène à la page d'accueil du premier domaine (biganon.com), ce qui est plutôt bizarre.

Je peux contourner ça en créant un deuxième VirtualHost pour generation90.com, explicitant que www.generation90.com doit mener à /home/biganon/generation90/www... Mais c'est pas normal que le ServerAlias ne marche pas !

Donc déjà, comment faire pour que ServerAlias marche, comme avec mes autres domaines ? Pourquoi LUI ne marche pas, alors que les autres marchent ?

Merci beaucoup, a+
  • # oups

    Posté par . Évalué à 2.

    Zut, les balises ne sont pas passées :\

    Je fais un pastebin : http://pastebin.ubuntu.com/294982/

    Et le deuxième quote : http://pastebin.ubuntu.com/294983/

    Voilou
  • # Re: Problème(s?) de vhost

    Posté par . Évalué à 2.

    Alors, pour la première question : il y a plusieurs méthodes, qui passent toutes par l'emploi d'un module spécifique.

    Ceux qui me viennent à l'esprit sont mod_perl (configuration dynamique en perl, entre autres), et plus simple mais moins souple, mod_vhost_alias [1].

    Pour ton deuxième problème, je dirais qu'il te manque une directive NameVirtualHost [2].
    apachectl -S peut t'aider.

    Cela dit, je ne vois pas pourquoi tu fais 2 vhosts différents, mais je suppose que les blocs ne sont pas complets (en tout cas si l'un des deux est une redirection sur l'autre, la directive DocumentRoot est superflue).

    [1] http://httpd.apache.org/docs/2.2/mod/mod_vhost_alias.html
    [2] http://httpd.apache.org/docs/2.2/mod/core.html#namevirtualho(...)
    • [^] # Re: Problème(s?) de vhost

      Posté par . Évalué à 1.

      Salut !

      J'utilisais mod_vhost_alias, mais bon là je suis revenu à des choses plus simples, on verra après pour le dynamisme...

      Bref, dois-je mettre, en tout, plus d'un NameVirtualHost ? Parce que j'ai laissé celui présent dans ports.conf ! Il ne suffit pas ?

      Ensuite, je m'astreins aux règles relatives à ça, du genre "utiliser la même cible pour NameVirtualHost et en paramètre de tous les VirtualHost", je mets partout *:80.

      Je ne comprends donc pas pourquoi www.generation90.com, lorsqu'il est placé en ServerAlias, retombe sur le serveur default (biganon.com), le premier défini donc.

      A+ et merci
      • [^] # Re: Problème(s?) de vhost

        Posté par . Évalué à 2.

        Celui dans ports.conf devrait effectivement suffire. A tout hasard, tu peux essayer de le mettre dans un fichier à part dans conf.d/ pour être sûr que ce n'est pas une histoire d'ordre.

        Sinon apache2ctl -S, une reprise de la conf complète et un loglevel debug+la lecture des logs peuvent t'aider à trouver ce qui ne va pas dans ta conf. Généralement c'est un truc bête...
  • # chezmoicamarche

    Posté par . Évalué à 2.

    <VirtualHost *:80>
    ServerName www.machin.truc
    ServerAdmin admin@machin.truc
    DocumentRoot /var/www/machin/

    </VirtualHost>

    <VirtualHost *:80>
    ServerName ratatataploum.machin.truc
    ServerAdmin admin@machin.truc
    Redirect / http://www.machin.truc/
    </VirtualHost>
  • # Ma config

    Posté par . Évalué à 2.

    Si ça peut aider : http://www.aurelp.fr.eu.org/blog/index.php?2006/09/25/27-apa(...)

    Faudra que je fasse une maj, à l'époque je mettais tous les vhosts dans le même fichier, et depuis le passage en lenny il faut faire <VirtualHost *:80> effectivement.
  • # Sujet clos

    Posté par . Évalué à 2.

    Hier, à bout de nerf, j'ai finalement décidé d'essayer Lighttpd, pour voir s'il pourrait convenir. Eh bien là où, après des mois d'utilisation, je ne parvenais toujours pas à comprendre les arcanes d'Apache et je m'en sortais en bricolant (et je m'en sortais pas toujours, cette discussion en est la preuve), eh bien en une journée j'ai pu réduire toute ma configuration à 4 lignes d'expressions régulières dans Lighttpd, et tout fonctionne à merveille !

    Merci pour vos réponses, a+

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.