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

Serveurs (Apache, IIS,...) Discussion :

Plusieurs sites sur serveur Apache & IIS


Sujet :

Serveurs (Apache, IIS,...)

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 73
    Points : 57
    Points
    57
    Par défaut Plusieurs sites sur serveur Apache & IIS
    J'ai un serveur web comprenant IIS et Apache avec quelques sites sous IIS. Je dois ajouter un site sous Apache mais je ne vois pas trop comment m'y prendre.
    A priori je dois rajouter une entrée pour ce nouveau site dans le DNS et ajouter un virtualhost dans le fichier de config Apache ? Est ce que cela suffit ?

    Sinon deuxième question : pour accéder à mon site sous Apache je vais être obligé de spécifier le port dans l'URL ? Il y a-t-il possibilité de masquer ce port ?

  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
    Points : 12 977
    Points
    12 977
    Par défaut
    Citation Envoyé par korrigan
    J'ai un serveur web comprenant IIS et Apache avec quelques sites sous IIS. Je dois ajouter un site sous Apache mais je ne vois pas trop comment m'y prendre.
    A priori je dois rajouter une entrée pour ce nouveau site dans le DNS et ajouter un virtualhost dans le fichier de config Apache ? Est ce que cela suffit ?
    A priori oui. Dans tous les cas c'est nécessaire. Seuls les tests diront si c'est suffisant

    Citation Envoyé par korrigan
    Sinon deuxième question : pour accéder à mon site sous Apache je vais être obligé de spécifier le port dans l'URL ? Il y a-t-il possibilité de masquer ce port ?
    Si le port d'entrée au site 80, le port n'apparaît pas dans l'URL ; si c'est un port autre que 80, il devra obligatoirement figuré dans l'URL. Par port d'entrée, j'entends le port TCP associé à l'adresse IP publique qui reçoit les demandes de connexion au site. Par exemple, si tu as un pare-feu devant Apache, c'est ce pare-feu qui porte l'adresse IP publique et le port d'écoute. Dans les URL, c'est donc le port du pare-feu qui apparaît. Si c'est 80, pas besoin de mettre :80 dans les URL car c'est le port par défaut pour HTTP. Rien ne t'oblige alors à avoir Apache qui écoute également sur le port 80. Tu peux le faire écouter sur le port 3456 si ça te fait plaisir. Le truc c'est que le pare-feu devra être capable de rediriger les requêtes entrant sur le port 80 vers le port 3456 d'Apache, et Apache devra être configuré avec la directive Port (au niveau du virtual host du site) ayant comme valeur le port d'écoute du pare-feu.
    Exemple 1 : pare-feu en écoute sur le port 90, Apache en écoute sur le port 4567. Alors :
    - Les URL sont en http://monsite:90/...
    - le pare-feu doit rediriger le port entrant 90 sur le port 4567 d'Apache
    - Apache doit avoir la directive Port 90 dans le virtual host de "monsite".

    Exemple 2 : pare-feu en écoute sur le port 80, Apache en écoute sur le port 4567. Alors :
    - Les URL sont en http://monsite/...
    - le pare-feu doit rediriger le port entrant 80 sur le port 4567 d'Apache
    - Apache doit avoir la directive Port 80 dans le virtual host de "monsite".

    Par ailleurs, les virtual hosts te permettent d'avoir plusieurs sites utilisant le port 80. Ce n'est pas parce qu'un site utilise déjà le port 80 qu'il faut que tu utilises un autre port pour les autres virtual hosts. Le truc c'est de mettre la bonne valeur à la directive ServerName des virtual host. Exemple de configuration :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Listen 80
    ...
    NameVirtualHost *:80
    <VirtualHost *:80>
        ServerName www.site1.com
        Port 80
        DocumentRoot ...
    </VirtualHost>
    
    <VirtualHost *:80>
        ServerName www.site2.net
        Port 80
        DocumentRoot ...
    </VirtualHost>

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 73
    Points : 57
    Points
    57
    Par défaut
    Bonjour et merci de ta réponse très complète.
    J'arrive bien à accéder à mon site tournant sous Apache en specifiant dans l'URL le port 8080 (également spécifié dans le httpd.conf)

    J'essaye maintenant de masquer le port dans l'URL en configurant mon parefeu mais cela ne marche pas car Apache ne veut pas se lancer si je le fais écouter sur le port 80 (sans doute du au conflit avec IIS)
    D'ailleurs mais je ne comprends pas trop ton exemple n°2. Si Apache écoute sur le port 4567 pourquoi la directive Listen à indiquer dans le Httpd.conf est Listen 80 ?

  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
    Points : 12 977
    Points
    12 977
    Par défaut
    L'exemple de config que je donne tout à la fin, ce n'est pas l'exemple 2, attention. Pour l'exemple 2, tu as vu juste, il faut en effet une directive Listen 4567. Ce que je donne à la fin c'est un exemple de configuration de 2 virtual hosts utilisant le port 80. Il faut dériver cet extrait de code pour avoir 2 virtual hosts prévu pour le port 80 et Apache écoutant sur le port 4567 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Listen 4567
    ...
    NameVirtualHost *:4567
    <VirtualHost *:4567>
        ServerName www.site1.com
        Port 80
        DocumentRoot ...
    </VirtualHost>
    
    <VirtualHost *:4567>
        ServerName www.site2.net
        Port 80
        DocumentRoot ...
    </VirtualHost>
    Port et ServerName correspondent toujours aux URL que vois le visiteur.

    Tu dis :

    J'essaye maintenant de masquer le port dans l'URL en configurant mon parefeu mais cela ne marche pas car Apache ne veut pas se lancer si je le fais écouter sur le port 80
    Ce n'est pas correct : relis ce que j'ai dit sur les ports d'entrée. Pour masquer le port dans l'URL il faut que le "truc" qui est contacté par les clients et qui répond au nom DNS www.monsite.com écoute sur le port 80. Ca peut être Apache ou ça peut être un firewall. Si c'est Apache, il faut évidemment qu'il écoute sur le port 80. Si c'est un firewall qui redirige ensuite sur Apache, Apache n'est pas obligé d'écouté sur le port 80. Ce n'est même généralement jamais le cas pour des raisons de sécurité système : tous les sites utilisant Apache ont un reverse proxy ou un firewall en entrée qui écoute sur le port 80 et qui redirige sur un serveur Apache écoutant sur un port > 1024.

    Donc pour toi, 2 options :
    - Soit tu peut mettre en place un firewall, un reverse proxy, un répartiteur de charge, etc. qui écoute sur le port 80 et qui peut rediriger vers Apache sur n'import quel port
    - Soit tu ne peux pas et dans ce cas Apache écoute forcément sur le port 80 et est accédé directement.

    Dans les 2 cas tu auras une config semblable à celle que je donne au dessus. Les seules choses qui changeront sont les directives Listen et NameVirtualHost ainsi que les *:port des <VirtualHost>.

    Tu ne peux pas avoir IIS et Apache écoutant sur le même port (un port = un programme). C'est pour ça que tu dois avoir un "appareil" redirigeant le port 80 vers le port d'Apache et que les directives Port sont à la valeur 80.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 73
    Points : 57
    Points
    57
    Par défaut
    OK donc j'ai configuré mon parefeu de manière à ce qu'il écoute sur le port 80 et qu'il redirige sur le port 8080 d'Apache et j'ai configuré Apache de la manière suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Listen 8080
    
    NameVirtualHost 192.168.200.xxx:8080
    
    <VirtualHost 192.168.200.xxx:8080>
        DocumentRoot e:\wamp\www\monsite
        Port 80
        ServerName monsite.fr
    </VirtualHost>
    ...mais je n'arrive pas à lancer Apache

  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
    Points : 12 977
    Points
    12 977
    Par défaut
    NameVirtualHost 192.168.200.xxx:8080 : pourquoi pas *:8080 ? C'est plus simple et le jour ou tu changes d'IP, y a pas de pb. C'est surtout le Listen qui est important pour l'IP, si ta machine a plusieurs interfaces réseau.

    Pour le démarrage d'Apache, comme d'hab, faut aller voir dans les logs ce qui ne va pas (généralement, il est assez explicite). T'as pas déjà un truc qui écoute sur le port 8080 ? Fais un telnet localhost 8080 ou telnet <ip> 8080 pour voir si ça accroche.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 73
    Points : 57
    Points
    57
    Par défaut
    Le problème semble venir de la directive Port 80 dans le virtualhost si je l'enlève Apache démarre bien sinon il ne demarre pas et il n'y a rien dans les fichiers de logs comme trace d'erreur

  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
    Points : 12 977
    Points
    12 977
    Par défaut


    J'ai l'impression que c'est parce qu'il manque une directive Listen. Port ne sert pas à donner le port d'écoute, c'est Listen qui fait ça. Il y a cependant une exception à cette règle : c'est justement quand il n'y a pas de directive Listen. Donc vérifie bien qu'il y a un Listen 8080 qq part dans le fichier en dehors des virtual hosts. Voir http://httpd.apache.org/docs/1.3/mod/core.html#port.

Discussions similaires

  1. Réponses: 10
    Dernier message: 27/03/2011, 21h31
  2. Plusieurs sites sur un même serveur APACHE
    Par Jiyuu dans le forum Apache
    Réponses: 2
    Dernier message: 01/10/2009, 23h00
  3. IIS 6.0 plusieurs site sur le serveur web
    Par infostars dans le forum IIS
    Réponses: 1
    Dernier message: 17/02/2009, 10h11
  4. Hebergement web - plusieurs site sur plusieurs serveur
    Par annega22 dans le forum Serveurs (Apache, IIS,...)
    Réponses: 4
    Dernier message: 23/04/2007, 17h52
  5. Réponses: 1
    Dernier message: 23/03/2007, 00h43

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