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 :

Deux wordpress sur un serveur + réglage apache2


Sujet :

Apache

  1. #1
    Membre Expert Avatar de Trademark
    Profil pro
    Inscrit en
    Février 2009
    Messages
    762
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 762
    Par défaut Deux wordpress sur un serveur + réglage apache2
    Bonjour à tous,

    J'ai un serveur mutualisé sur lequel j'ai installé un wordpress il y a quelque temps.

    Rien que à ce niveau, il y avait déjà un problème :

    Je ne peux accéder à wp-admin qui via l'adresse IP du serveur sinon j'obtiens un écran blanc.

    Maintenant j'aimerais installé un deuxième wordpress, j'ai effectué les étapes renseignées par le site wordpress france mais tout mes redirections du nouveau site vont vers le premier...

    Donc je ne peux même pas tenter de configurer wordpress sur le deuxième site.

    Détails techniques :

    Nous admettrons que l'IP de mon serveur est 42.42.42.42 et que le domaine du premier site est www.site1.fr et l'adresse du deuxième est www.site2.fr.

    Redirection web pour site1 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sous-domaine 	Type 	       Adresse de destination 	
    (vide) 	        transparent       <a href="http://www.site1.fr" target="_blank">http://www.site1.fr</a>
    *               transparent       <a href="http://42.42.42.42" target="_blank">http://42.42.42.42</a>
    Redirection web pour site2 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sous-domaine 	Type 	       Adresse de destination 	
    (vide) 	        transparent       <a href="http://www.site2.fr" target="_blank">http://www.site2.fr</a>
    *               transparent       <a href="http://42.42.42.42" target="_blank">http://42.42.42.42</a>
    Je peux également choisir des redirections directes (permanentes), directes (temporaires) ou alors transparentes.

    Je ne sais plus comment j'avais créer mon vhost pour le site1... Mais dans apaches2/site-available le fichier s'appelle "000-www.site1.fr", je ne sais pas d'où vient le "000".

    Enfin soit, j'ai simplement créer le même pour site2 en faisant un copier coller et en changeant le répertoire. J'ai bien fait le a2ensite et j'ai reloadé apache2.

    J'ai également ajouter un vhost pour l'adresse IP.

    Voici les fichiers :

    site1:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    NameVirtualHost 42.42.42.42:80
     
    <VirtualHost 42.42.42.42:80>
            ServerName      www.site1.fr
            ServerAlias       *.site1.fr
            ServerAdmin     mon@mail.fr
     
            DocumentRoot "[...]/www/www.site1.fr/htdocs"
        <Directory "[...]/www/www.site1.fr/htdocs">
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            Allow from all
        </Directory>
     
        ScriptAlias /cgi-bin/ [...]/www/www.site1.fr/cgi-bin/
        <Directory "[...]/www/www.site1.fr/cgi-bin/">
            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow,deny
            Allow from all
        </Directory>
     
        ErrorLog [...]/www/www.site1.fr/logs/www.site1.fr-error.log
        LogLevel error
     
        SetEnvIf Remote_Addr "127\.0\.0\.1" loopback
        CustomLog /srv/d_trademark-mac/www/www.site1.fr/logs/www.site1.fr-access.log combined env=!loopback
        ServerSignature On
     
        <IfModule mod_dav.c>
            DAVLockDB /srv/d_trademark-mac/www/www.site1.fr/db/DAVLock
        </IfModule>
     
     
     
        <IfModule mpm_peruser_module>
            ServerEnvironment trademark_www-trademark
            MaxProcessors 30
        </IfModule>
     
        Include /etc/apache2/sites-includes/www.site1.fr/
     
    </VirtualHost>
    site2 idem avec site2 ...

    Et finalement un fichier forbid_ip_access :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    NameVirtualHost 42.42.42.42:80
     
    <VirtualHost 42.42.42.42:80>
            ServerAdmin     ptalbot@mopong.net
            ServerName      42.42.42.42
     
            DocumentRoot "[...]/www/no_host_specified/htdocs"
     
            <Directory "[...]/www/no_host_specified/htdocs">
                    Options Indexes FollowSymLinks MultiViews
                    AllowOverride All
                    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
     
    </VirtualHost>
    J'ai une structure de fichier comme ça dans le www/www.site1.fr :

    - cgi-bin
    - db
    - htdocs
    - logs

    Je ne suis pas sûre de savoir à quoi ça sert mais je l'ai recopié pour www.site2.fr.


    Je donne probablement des informations inutiles, donc n'hésitez pas à me dire ce dont vous avez vraiment besoin.

    En conclusion, ce qui se passe c'est :

    Quand je tape l'ip : go vers www.site1.fr
    Quand je tape le domaine de site1 : go vers www.site1.fr
    Quand je tape le domaine de site2 : go vers www.site1.fr

    Ce que j'aimerais :

    Quand je tape l'ip : page d'erreur (il y en a déjà une dans www/no_host_specified/htdocs/index.php)
    Quand je tape le domaine de site1 : go vers www.site1.fr (ok)
    Quand je tape le domaine de site2 : go vers www.site2.fr (logique..)

    Merci ;-)

  2. #2
    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
    Par défaut
    Hello,

    Deux questions pour le moment :
    • Peux-tu nous donner le contenu du fichier ports.conf ?
    • 42.42.42.42 est l'adresse IP du serveur ou l'adresse IP associée aux différents sites (sous-entendu l'adresse IP du serveur est différente de 42.42.42.42) ?

  3. #3
    Membre Expert Avatar de Trademark
    Profil pro
    Inscrit en
    Février 2009
    Messages
    762
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 762
    Par défaut
    Salut,

    Peux-tu nous donner le contenu du fichier ports.conf ?
    Oui le voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    # If you just change the port or add more ports here, you will likely also
    # have to change the VirtualHost statement in
    # /etc/apache2/sites-enabled/000-default
    # This is also true if you have upgraded from before 2.2.9-3 (i.e. from
    # Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and
    # README.Debian.gz
     
    NameVirtualHost *:80
    Listen 80
     
    <IfModule mod_ssl.c>
        # If you add NameVirtualHost *:443 here, you will also have to change
        # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
        # to <VirtualHost *:443>
        # Server Name Indication for SSL named virtual hosts is currently not
        # supported by MSIE on Windows XP.
        Listen 443
    </IfModule>
     
    <IfModule mod_gnutls.c>
        Listen 443
    </IfModule>
    42.42.42.42 est l'adresse IP du serveur ou l'adresse IP associée aux différents sites (sous-entendu l'adresse IP du serveur est différente de 42.42.42.42) ?
    Non je pense que l'adresse du serveur est bien celle-là, je n'ai pas plusieurs IP à ma disposition. Je ne comprend pas très ce que tu veux dire.

    Merci de m'avoir lu et de m'aider

  4. #4
    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
    Par défaut
    Une des raisons du problème pourrait venir du fait qu'Apache a du mal à identifier le bon VH parce qu'ils sont mal signés. Tes symptômes sont très typiques de ce cas. Indiquer dans NameVirtualHost ou <VirtualHost> une IP qui n'existe pas sur le serveur peut poser ce genre de souci.

    Je ne sais pas si tu as mis l'IP dans NameVirtualHost et les <VirtualHost> à dessein mais je ne propose d'essayer de simplifier un peu dans un premier temps pour essayer de cerner le problème. Donc :
    1. Dans tes fichiers de virtual hosts, retire la ligne NameVirtualHost 42.42.42.42:80
    2. Remplace les <VirtualHost 42.42.42.42:80> par <VirtualHost *:80>
    3. Vérifie que chaque fichier de VH sont bien linkés dans le répertoire sites-enabled
    4. Redémarre Apache

  5. #5
    Membre Expert Avatar de Trademark
    Profil pro
    Inscrit en
    Février 2009
    Messages
    762
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 762
    Par défaut
    Je ne sais pas si tu as mis l'IP dans NameVirtualHost et les <VirtualHost> à dessein
    En fait, après avoir vu que ça ne marchait pas, j'ai essayé de suivre un tutoriel pour faire ça plus ou moins dans les règles : http://julien-pauli.developpez.com/t...apache/vhosts/

    Et il est dit :

    Important : dans le cas d'un hébergement virtuel par noms, la directive NameVirtualHost est obligatoire.
    Inversement : la présence d'une directive NameVirtualHost signifie qu'Apache va utiliser l'en-tête Host: de la requête, dans une partie du routage vers le bon hôte virtuel. Les adresses renseignées dans les blocs <VirtualHost> doivent être exactement les mêmes que celles écrites dans NameVirtualHost

    Dans tes fichiers de virtual hosts, retire la ligne NameVirtualHost 42.42.42.42:80
    Remplace les <VirtualHost 42.42.42.42:80> par <VirtualHost *:80>
    Vérifie que chaque fichier de VH sont bien linkés dans le répertoire sites-enabled
    Redémarre Apache
    J'ai tout fait et maintenant j'obtiens ceci lorsque j'essaye de me connecter à mon serveur via les domaines ou l'adresse IP (c'est l'erreur 500 Internal Server Error) :

    Internal Server Error

    The server encountered an internal error or misconfiguration and was unable to complete your request.
    Alors dans le log on a :
    [Mon Jun 04 13:15:47 2012] [error] Virtualhost 42.42.42.42 has no server environment set, request will not be honoured.

  6. #6
    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
    Par défaut
    Ben c'est assez clair : il y a encore dans ta config un <VirtualHost 42.42.42.42:80> qui traine. A la fin, il ne faut plus qu'un seul NameVirtualHost qui vaut *:80 (dans ports.conf) et que des <VirtualHost *:80>.

  7. #7
    Membre Expert Avatar de Trademark
    Profil pro
    Inscrit en
    Février 2009
    Messages
    762
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 762
    Par défaut
    Pourtant je n'ai plus que des VirtualHost *:80

    Par contre en changeant cette ligne dans sites-enabled/forbid_ip_access :

    ServerName 42.42.42.42
    en

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ServerName NimporteQuoi.be
    Et bien, je suis rebelotte au même problème qu'initialement. A savoir que Apache ne me redirige que vers un et même site même avec mes noms de domaine différent.

    J'ai également changé ces lignes :

    ServerName www.site1.fr
    ServerAlias *.site1.fr
    en

    ServerName site1.fr
    ServerAlias *.site1.fr
    ça me semble juste plus logique..

  8. #8
    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
    Par défaut
    Bizarre. Est-ce que tu peux modifier le format de log combined pour y ajouter la valeur de l'en-tête HTTP "Host" ? Il faut ajouter %{Host}i dans la ligne. Ensuite redémarre Apache et fait un test pour chaque URL. Tu nous envoies ensuite le fichier en nous précisant bien à quel endroit doit figurer cette valeur.

  9. #9
    Membre Expert Avatar de Trademark
    Profil pro
    Inscrit en
    Février 2009
    Messages
    762
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 762
    Par défaut
    En plus de ce que tu m'as dit j'ai également mis LogLevel en debug, je ne sais pas si c'est utile mais bon, c'est toujours ça en plus

    J'ai accédé à www.site1.fr puis à www.site2.fr

    Bon, voici le fichier "access-log" de www.site1.fr
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    x.x.x.x - - [05/Jun/2012:12:43:03 +0200] "GET / HTTP/1.1" 200 3210 "www.site1.fr" "Mozilla/5.0 (Windows NT 5.1; rv:12.0) Gecko/20100101 Firefox/12.0" "42.42.42.42"
    x.x.x.x - - [05/Jun/2012:12:43:11 +0200] "GET / HTTP/1.1" 200 3209 "www.site2.fr" "Mozilla/5.0 (Windows NT 5.1; rv:12.0) Gecko/20100101 Firefox/12.0" "42.42.42.42"
    Et le fichier error de www.site1.fr

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [Tue Jun 05 12:43:03 2012] [error] [client x.x.x.x] PHP Warning:  array_values() expects parameter 1 to be array, object given in [...]/www/www.site1.fr/htdocs/wp-includes/category-template.php on line 79, referer: http://www.site1.fr/
    [Tue Jun 05 12:43:11 2012] [error] [client x.x.x.x] PHP Warning:  array_values() expects parameter 1 to be array, object given in [...]/www/www.site1.fr/htdocs/wp-includes/category-template.php on line 79, referer: http://www.site2.fr/
    Pour ce qui est des fichiers d'accès et d'erreur de www.site2.fr et bien ils sont vides.

    Mon LogFormat est comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\" \"%{Host}i\"" combined
    Merci pour l'aide.

    EDIT : j'ai essayé de supprimer sites-enabled/www.site1.fr mais j'ai maintenant une internal error. Et l'error log indique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [Tue Jun 05 19:20:22 2012] [notice] Apache/2.2.14 (Ubuntu) configured -- resuming normal operations
    [Tue Jun 05 19:20:25 2012] [error] Virtualhost * has no server environment set, request will not be honoured.

  10. #10
    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
    Par défaut
    On a la source du problème dans les logs :
    Citation Envoyé par Trademark Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    x.x.x.x - - [05/Jun/2012:12:43:03 +0200] "GET / HTTP/1.1" 200 3210 "www.site1.fr" "Mozilla/5.0 (Windows NT 5.1; rv:12.0) Gecko/20100101 Firefox/12.0" "42.42.42.42"
    x.x.x.x - - [05/Jun/2012:12:43:11 +0200] "GET / HTTP/1.1" 200 3209 "www.site2.fr" "Mozilla/5.0 (Windows NT 5.1; rv:12.0) Gecko/20100101 Firefox/12.0" "42.42.42.42"
    Ton serveur ne récupère pas la bonne valeur dans l'en-tête Host donc forcément il ne peut pas faire de virtual hosting. Il semblerait qu'il y ait un reverse proxy devant ton site. Il faut le configurer pour qu'il renvoie l'en-tête Host venant du navigateur.

  11. #11
    Membre Expert Avatar de Trademark
    Profil pro
    Inscrit en
    Février 2009
    Messages
    762
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 762
    Par défaut
    Comment puis-je savoir où et comment configurer ce reverse proxy ? J'ai regardé mais le mod_proxy d'apache2 n'est pas activé.

    A part ça j'ai modifié la configuration des noms de domaine, j'ai tout d'abord supprimé les redirections web, peut-être que ça pouvait poser problème ? Mais tout d'abord est-ce que la configuration des noms de domaine peut avoir un lien avec mon problème ?
    Résultat de la manoeuvre : au lieu de me laisser l'adresse de mon site www.site1.fr dans la barre d'adresse, j'ai l'adresse IP qui s'affiche... Mais par contre aucune amélioration, je suis toujours redirigé vers site1 peu importe le domaine écrit..

    Merci pour votre aide.

  12. #12
    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
    Par défaut
    Bonjour,

    Oui, la redirection peut tout à fait avoir un lien avec ton problème. Les registrars proposent plusieurs solutions pour les redirections. La vraie qu'il faut que tu mettes en place n'est d'ailleurs pas de la redirection : il faut que les noms www.site1.fr, etc. pointent sur l'adresse IP publique de ton hébergement/serveur. Là, visiblement, tu passes par un système de frames proposé par ton registrar : le nom www.site1.fr pointe en fait sur une IP d'un serveur du registrar qui renvoie au navigateur une frame qui tape sur l'URL http://<ton IP> (cela se repère rapidement car tu constates que la barre d'adresse du navigateur ne change jamais alors que tu navigues dans le site), et c'est le problème : le navigateur se pointe sur ton serveur et demande l'hôte <ton IP>. Le paramétrage que j'évoque plus haut fera en sorte que le navigateur contactera directement ton serveur avec le bon nom.

  13. #13
    Membre Expert Avatar de Trademark
    Profil pro
    Inscrit en
    Février 2009
    Messages
    762
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 762
    Par défaut
    Bonsoir

    Tout d'abord merci pour cette réponse.

    Je comprend plus ou moins le problème mais ne trouve pas d'élément de réponse, j'ai configuré mes vhosts comme vous me l'avez demandé.

    De plus, mon hébergeur (qui est également mon registar) me dit ceci lorsque je modifie une option :

    Le nom de domaine www.site1.fr pointe maintenant sur le serveur mon_serveur, la configuration sera mise à jour d'ici 3 heures.

    Attention : n'oubliez pas de modifier la configuration de votre machine en conséquence (déclaration des virtual host sur votre serveur web notamment)
    Ce qui laisse sous-entendre que les problèmes restant sont de ma faute ?

    Que dois-je modifier concrètement, j'avoue me perdre

    Rappel : les redirections web sont inactives, mes vhosts sont configurés, je ne sais pas si j'ai un proxy d'activer,

    J'ai modifier les fichiers de zone DNS pour avoir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    www.site1.fr 10800 IN A 42.42.42.42
    *.site1.fr 10800 IN CNAME www.site1.fr
    site1.fr 10800 IN CNAME www.site1.fr
    Est-ce correct ?

  14. #14
    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
    Par défaut
    Ne connaissant pas les IP, c'est difficile de dire si c'est correct mais cela semble bon.

    Pour info, même si le registrar dit que la mise est faite en 3 heures, il faut en fait compter plusieurs jours pour que cette modification soit prise en compte dans tous les DNS du monde. Pour tester, il faut attendre qu'un ping www.site1.fr renvoie la bonne IP.

  15. #15
    Membre Expert Avatar de Trademark
    Profil pro
    Inscrit en
    Février 2009
    Messages
    762
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 762
    Par défaut
    Effectivement un ping me renvoie unknown host...

    Une fois que cette modification sera faite, ça devra marcher ?

  16. #16
    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
    Par défaut
    Depuis, ça devrait fonctionner. Ce qu'il se passe peut-être (mais je ne suis pas un spécialiste des DNS) c'est qu'il faut mettre 2 règles : une pour le nom de domaine seul (site1.fr avec la notation @) et une pour tous les sous-domaines (avec la notation *).

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

Discussions similaires

  1. Déploiement de la même application deux fois sur un serveur
    Par koyuki90 dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 09/07/2012, 15h10
  2. Deux squid sur le même serveur
    Par photorelief dans le forum Administration système
    Réponses: 5
    Dernier message: 21/07/2009, 12h39
  3. Réponses: 10
    Dernier message: 30/11/2006, 20h47
  4. deux databases sur le meme serveur
    Par diazpi dans le forum Oracle
    Réponses: 4
    Dernier message: 12/07/2006, 00h07
  5. Jointure en deux tables sur 2 serveurs!
    Par JauB dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 29/06/2006, 12h12

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