IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

Conflit entre virtual hosts ?


Sujet :

Apache

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Conflit entre virtual hosts ?
    Bonjour,

    Je viens d'avoir un macbook sous Leopard 10.6 et je suis développeur sous Symfony
    Comme Apache et PHP5 sont installé, je me suis dis qu'il ne serait pas utile d'installer MAMP.

    J'ai modifié le httpd.conf pour activer PHP, j'ai fait des modifs dans PHP INI, j'ai passé le safe mode sur off pour APACHE, j'ai activé la réécriture d'url, j'ai installé MySQL + wokrbench, et j'ai relancé APACHE

    J'ai testé Mysql en mode console: ok, cela fonctionne bien.

    j'ai fait un test avec une page index dans Sites, j'ai tapé 127.0.0.1/monnom/ et hop ca marche.
    Test avec accès BDD. ok

    Bon j'ai plusieurs sites qui nécessite un virtual host. j'ai donc ajouté ceci pour le premier site dans le httpd.conf d'APACHE:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <VirtualHost *:80>
      ServerName monsite1
      ServerAdmin webmaster@monsite1
      DocumentRoot "/Users/myname/Sites/monsite1/web"
      <Directory /Users/myname/Sites/monsite1/web>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
      </Directory>
    </VirtualHost>
    NB > le fichier index d'un site symdony n'est pas à la racine du projet mas à la racine du répertoire web. D'où le document root

    Je modifie aussi le fichier hosts comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ##
    # Host Database
    #
    # localhost is used to configure the loopback interface
    # when the system is booting.  Do not change this entry.
    ##
    127.0.0.1	localhost
    dans safe_mode_protected_env_vars
    255.255.255.255	broadcasthost
    ::1             localhost 
    fe80::1%lo0	localhost
    127.0.0.1   monsite1
    Je relance Apache, et ca fonctionne bien: je vais dans safari, je tape http://monsite1/ et je tombe bien sur la page d'index.


    TOUT SEMBLE BIEN FONCTIONNER

    sauf que je rajoute un deuxième site: je modifie donc le httpd.conf en ajoutant monsite2 et monsite2 est ajouté dans le host

    je relance APACHE. et là boom: site je tape http://monsite2/ je tombe bien sur l'index de monsite2 MAIS si je tape monsite1 je tombe AUSSI sur la page index de monsite2 !!!

    C'est comme si les 2 alias existaient mais ils pointent tous les 2 sur le directory de monsite2

    Si quelqu'un peut m'aider, ca fait 3 jours que je galère !!!

    Merci d'avance

  2. #2
    tintin22
    Invité(e)
    Par défaut
    Essaye avec ça dans httpd.conf

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <VirtualHost *:80>
    ServerName monsite1
    ServerAdmin webmaster@monsite1
    DocumentRoot "/Users/myname/Sites/monsite1/web"
    </VirtualHost> 
     
    <VirtualHost *:80>
    ServerName monsite2
    ServerAdmin webmaster@monsite2
    DocumentRoot "/Users/myname/Sites/monsite2/web"
    </VirtualHost>

  3. #3
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Il manque un dans ta conf.

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 2
    Points : 2
    Points
    2
    Par défaut pas évident mais résolu
    du moins j'ai trouvé une solution de contournement

    Il manquait
    en fait il était bien dans le fichier httpd-vhosts.conf du répertoire extra de Apache, mais le httpd.conf ne faisait d'include de ce fichier... donc forcément...

    Mais j'ai du remplacer tous les jokers par 127.0.0.1,

    donc ça donnait ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Listen 127.0.0.1:80
    NameVirtualHost 127.0.0.1:80
    Enfin sur le virtual host, j'ai utilisé les noms de sites à la place du joker

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <VirtualHost monsite1:80>
    ServerName monsite1
    ServerAdmin webmaster@monsite1
    DocumentRoot "/Users/myname/Sites/monsite1/web"
    </VirtualHost>
    Merci au forum

  5. #5
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Pas bon : il faut que les signatures des <VirtualHost> et les valeurs des NameVirtualHost coïncident. Dans ton cas, tu as mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <VirtualHost monsite1:80>
    donc il faut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NameVirtualHost monsite1:80
    Que cela marche en mettant <VirtualHost monsite1:80>, c'est presque un coup de chance, je dirais.

    A mon sens, ce n'est pas une bonne idée de mettre <VirtualHost monsite1:80> car ce n'est pas sur ce filtre qu'Apache reconnaît ou non les virtual hosts. Ce qu'on indique dans la balise <VirtualHost> c'est une IP et un port locaux, par où on autorise les connexions entrantes vers le VH qui est identifié par ServerName. Si on ne veut pas s'embêter, ce qui est le cas les 3/4 du temps, je recommande de mettre *:80 comme filtre. Comme ça, si on change d'IP, la conf Apache n'est pas à revoir. Donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    NameVirtualHost *:80
     
    <VirtualHost *:80>
    ServerName monsite1
    ServerAdmin webmaster@monsite1
    DocumentRoot "/Users/myname/Sites/monsite1/web"
    </VirtualHost>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP 5.4] Partager les sessions entre 2 virtual host
    Par wbulot dans le forum Langage
    Réponses: 2
    Dernier message: 05/12/2014, 11h23
  2. virtuals hosts apache
    Par kaiser2003 dans le forum Apache
    Réponses: 5
    Dernier message: 01/08/2004, 18h18
  3. conflit entre couleurs
    Par khayyam90 dans le forum OpenGL
    Réponses: 2
    Dernier message: 03/07/2004, 19h00
  4. [tomcat]comment cree un "Virtual Host" avec tomcat
    Par nouaman dans le forum Tomcat et TomEE
    Réponses: 17
    Dernier message: 04/06/2004, 23h51
  5. [Technique] Conflits entre plusieurs requêtes
    Par Neowile dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 24/03/2003, 10h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo