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 :

vous avez dit redirection?


Sujet :

Apache

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 58
    Points : 10
    Points
    10
    Par défaut vous avez dit redirection?
    bonjour, mon site est dans un sous-dossier du serveur apache. donc le site est dans un dossier qui est dans le htdocs d'apache. je voudrais que j'entre mon nom de domaine, on tombe sur la page d'accueil du site. or actuellement il faut entrer nomdedomaine/nom du dossier du site.
    est-ce que c'est dans ce cas qu'il faut faire une redirection ? pour que en entrant nomdedomaine/ on entre sur la page d'accueil de mon site qui est pourtant dans un sous-dossier? il faut que je modifie le ht.access, c'est cela?

    j'ai un autre souci. dans le configuration.php, $mosConfig_live_site, j'ai mis /nomdudossier du site. si je mets le nomdudomaine/nomdudossier, je n'ai plus la mise en forme du site. or je suis obligée de mettre le nom de domaine, non? si je veux pouvoir rediriger le nom de domaine sur la page d'accueil du site, non?
    merci

  2. #2
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 42
    Points : 41
    Points
    41
    Par défaut
    Pour ton problème de redirection, oriente toi vers les virtualHost du httpd.conf.

    Ca marche bien, et ça te permet de mettre les sources de ton site n'importe ou sur ta machine.

    Pense que pour ton nomdedomaine doit être connu des DNS

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 58
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par Lémur Voir le message
    Pour ton problème de redirection, oriente toi vers les virtualHost du httpd.conf.

    Ca marche bien, et ça te permet de mettre les sources de ton site n'importe ou sur ta machine.
    bonjour, est-ce que cela marche aussi dans le cas où j'ai plusieurs sites? en fait je voudrais qu'avec le nom de domaine, on arrive directement sur la page d'accueil d'un des sites, donc sur un sous-dossier de htdocs par exemple nomdudossier1. mais quand on entrera nomdedomaine/dossier2 et nomdedomaine/dossier3, on arrivera sur d'autres sites du serveur.
    Citation Envoyé par Lémur Voir le message
    Pense que pour ton nomdedomaine doit être connu des DNS
    c'est-à-dire? il faut le mentionner quelque part sur le httpd.conf, c'est ce tu veux dire?

  4. #4
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 42
    Points : 41
    Points
    41
    Par défaut
    Citation Envoyé par claire274 Voir le message
    bonjour, est-ce que cela marche aussi dans le cas où j'ai plusieurs sites? en fait je voudrais qu'avec le nom de domaine, on arrive directement sur la page d'accueil d'un des sites, donc sur un sous-dossier de htdocs par exemple nomdudossier1. mais quand on entrera nomdedomaine/dossier2 et nomdedomaine/dossier3, on arrivera sur d'autres sites du serveur.
    Oui oui tu peux
    voici un exemple sur un apache 1.3.34 que j'ai fais le mois dernier
    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
     
    #
    # Use name-based virtual hosting.
    #
    NameVirtualHost *:80
     
     
    ############################ DEFAUT ############################################
    <VirtualHost *:80>
        ServerAdmin xx@xx.com
        DocumentRoot E:/Apache/Apache1.3.34/Apache/htdocs
        ServerName localhost
        ErrorLog logs/defaut-error_log
        CustomLog logs/defaut-access_log common
    </VirtualHost>
     
     
    ############################ PHP MY ADMIN ############################################
    <VirtualHost *:80>
        ServerAdmin xx@xxx.com
        DocumentRoot E:/phpMyAdmin/phpMyAdmin-2.5.3
        ServerName phpmyadmin.xx.yy.com
        ErrorLog logs/phpmyadmin-error_log
        CustomLog logs/phpmyadmin-access_log common
    </VirtualHost>
     
     
    ############################ SAP DS ############################################
    #url interne  wiki sapds
    <VirtualHost *:80>
        ServerAdmin xx@xx.com
        DocumentRoot D:/application_web/sapds
        ServerName wiki-sapds.xx.com
        ErrorLog logs/sapds-error_log
        CustomLog logs/sapds-access_log common
    </VirtualHost>
    #url externe wiki sapds
    <VirtualHost *:80>
        ServerAdmin xx@xx.com
        DocumentRoot D:/application_web/sapds
        ServerName wiki-sapds.yy
        ErrorLog logs/sapds-error_log
        CustomLog logs/sapds-access_log common
    </VirtualHost>
    Pense à décommenter : NameVirtualHost *:80

    Citation Envoyé par claire274 Voir le message
    c'est-à-dire? il faut le mentionner quelque part sur le httpd.conf, c'est ce tu veux dire?

    Dans mon cas mes URLs (serverName des le Vhost) sont déclarré dans les DNS du serveur

    afin que mes URLs soit décodé vers l'ip de ma machine avec mon apache.
    Le serveur DNS est une autre machine (dans mon cas)$

    Pour faire mes tests avant que le DNS soit à jour, je me suis servi de 2 machine , une avec mon apache et l'autre en guise de client.
    Sur le poste client j'ai ajouté 2 ligne dans le fichier host de windows (DNS local) tel que

    phpmyadmin.xx.yy.com <ip_serveur_apache>
    wiki-sapds.xx.com <ip_serveur_apache>
    etc...

  5. #5
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 42
    Points : 41
    Points
    41
    Par défaut
    Plus bas dans la page, tu trouvera ce topic, qui était le mien.
    Il pourra compléter, éclairer mes dires
    http://www.developpez.net/forums/sho...d.php?t=564467

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 58
    Points : 10
    Points
    10
    Par défaut
    le souci est que ce n'est pas moi qui m'occupe des déclarations DNS du serveur. je m'occupe juste de la partie apache.jusque là, on travaillait qu'avec les adresses ip.maintenant que le nom de domaine est ok, je suppose que je dois changer la mention ServerName dans le httpd.conf. est-ce que je dois mettre http://www.nomdedomaine.fr ou seulement nomdedomaine.fr?
    pour que l'adresse url http://www.nomdedomaine.fr arrive directement sur l'un de mes dossiers de site, je comprends que dans le virtual host, je dois mettre le nom de ce dossier à la place de phpmyadmin avant la mention du nom de domaine, c'est cela? je ne peux pas tester tant que cela ne marche pas avec l'url.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <VirtualHost *:80>
        ServerAdmin xx@xxx.com
        DocumentRoot E:/phpMyAdmin/phpMyAdmin-2.5.3
        ServerName phpmyadmin.xx.yy.com
        ErrorLog logs/phpmyadmin-error_log
        CustomLog logs/phpmyadmin-access_log common
    </VirtualHost>

  7. #7
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 42
    Points : 41
    Points
    41
    Par défaut
    Citation Envoyé par claire274 Voir le message
    le souci est que ce n'est pas moi qui m'occupe des déclarations DNS du serveur. je m'occupe juste de la partie apache.jusque là, on travaillait qu'avec les adresses ip.maintenant que le nom de domaine est ok, je suppose que je dois changer la mention ServerName dans le httpd.conf. est-ce que je dois mettre http://www.nomdedomaine.fr ou seulement nomdedomaine.fr?
    pour que l'adresse url http://www.nomdedomaine.fr arrive directement sur l'un de mes dossiers de site, je comprends que dans le virtual host, je dois mettre le nom de ce dossier à la place de phpmyadmin avant la mention du nom de domaine, c'est cela? je ne peux pas tester tant que cela ne marche pas avec l'url.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <VirtualHost *:80>
        ServerAdmin xx@xxx.com
        DocumentRoot E:/phpMyAdmin/phpMyAdmin-2.5.3
        ServerName phpmyadmin.xx.yy.com
        ErrorLog logs/phpmyadmin-error_log
        CustomLog logs/phpmyadmin-access_log common
    </VirtualHost>

    mes urls sont de type http://phpmyadmin.xx.yy.com
    donc mon serveur name est l'url sans le protocole (http://)
    Dans ton cas je pense qu'il faut mettre www.nomdedomaine.fr

    Pour faire tes test je te conseil de valider point par point (DNS / APACHE depuis l'url et ensuite tes vHost). Mais pas tout en même temps sinon tu vas jamais t'en sortir

  8. #8
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Citation Envoyé par claire274
    est-ce que cela marche aussi dans le cas où j'ai plusieurs sites? en fait je voudrais qu'avec le nom de domaine, on arrive directement sur la page d'accueil d'un des sites, donc sur un sous-dossier de htdocs par exemple nomdudossier1. mais quand on entrera nomdedomaine/dossier2 et nomdedomaine/dossier3, on arrivera sur d'autres sites du serveur.
    Sans aller jusqu'à créer de nouveaux virtualhosts (et en fonction de ce que vous désirez) : vous pourriez vraisemblablement déplacer la racine (DocumentRoot) pour qu'Apache aille directement chercher ces ressources dans ce sous-répertoire. Quant aux autres "sites", vous devriez pouvoir les gérer indirectement, et si nécessaire, par des Alias.

    (enfin c'est ce qui me semble le mieux correspondre à ce qui est décrit ici)

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 58
    Points : 10
    Points
    10
    Par défaut
    virtualHost c'est pour quoi au juste?

  10. #10
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 42
    Points : 41
    Points
    41
    Par défaut
    Citation Envoyé par claire274 Voir le message
    virtualHost c'est pour quoi au juste?
    Moi je m'en suivait pour pouvoir avoir des sources dans différent document root en fonction des URLs.
    Je sais pas ce que sont les Alias, mes recherche internet m'avaient amenée sur les vHost.

  11. #11
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 42
    Points : 41
    Points
    41
    Par défaut
    Citation Envoyé par julp Voir le message
    Sans aller jusqu'à créer de nouveaux virtualhosts (et en fonction de ce que vous désirez) : vous pourriez vraisemblablement déplacer la racine (DocumentRoot) pour qu'Apache aille directement chercher ces ressources dans ce sous-répertoire. Quant aux autres "sites", vous devriez pouvoir les gérer indirectement, et si nécessaire, par des Alias.

    (enfin c'est ce qui me semble le mieux correspondre à ce qui est décrit ici)
    Peux tu nous en dire plus, s'il te plait?

  12. #12
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    C'est un principe de base, toute configuration en possède un certain nombre par défaut (pour les documentations/images locales d'Apache notamment). C'est assez souvent utilisé également pour phpMyAdmin. Bref, un Alias permet de rendre accessible des ressources placées en dehors de la partie désignée par le DocumentRoot.

    Exemple :
    DocumentRoot /usr/local/www/data
    Et
    Alias /pma /usr/local/www/phpMyAdmin # Répertoire d'installation de pma

    On voit très bien que phpMyAdmin n'est pas installé dans la partie normalement accessible par le serveur web (DocumentRoot). Donc on crée un alias, qui permettra d'y donner accès (ici par l'URL http://nom_serveur/pma/).

    L'intérêt des Alias sur une correspondance physique (au niveau du système de fichiers donc) est de pouvoir isoler et gérer les applications avec un peu plus de souplesse et de sécurité.

    (mais la solution optimale à chaque problématique dépend de son contexte ...)

  13. #13
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 42
    Points : 41
    Points
    41
    Par défaut
    Merci pour ta réponse.

    Dans mon cas je sais pas trop vu que j'ai :
    un apache
    un tomcat
    Des urls distinct pour chaque application (site web et webApp)

    Et je dois arrivé à configurer le tout...
    Et c'est la merde...

    Si on fait abstraction de ma partie tomcat/webApps.

    Donc http://site1.mondomaine/ et http://site2.mondomaine/ l'alias n'a pas l'air d'être la solution adapté non ?

  14. #14
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Citation Envoyé par Lémur
    Donc http://site1.mondomaine/ et http://site2.mondomaine/ l'alias n'a pas l'air d'être la solution adapté non ?
    Je confirme : votre solution est déjà toute trouvée, c'est des virtualhosts que vous voulez/devez mettre en place.

  15. #15
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 42
    Points : 41
    Points
    41
    Par défaut
    Citation Envoyé par julp Voir le message
    Je confirme : votre solution est déjà toute trouvée, c'est des virtualhosts que vous voulez/devez mettre en place.
    Merci pour la confirme c'est en effet ce que j'avais mis en place, de toute façon je connaissais pas les alias à ce moment , mais si un expert apache m'aurait dis c'est plus propre avec Alias j'aurais revu mon fichier de conf etant donné que c'est un serveur de Production

    Merci.

    Sinon Claire, tu t'en sors?

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 58
    Points : 10
    Points
    10
    Par défaut
    pas vraiment. grâce au virtual host,on arrive avec le nom de domaine sur le dossier 1 du htdocs comme je le voulais. cela est ok.
    après pour les autres sites, je ne sais pas suite à votre discussion si j'utilise un virtualHost pour chaque autre dossier du htdocs pour arriver cette fois sur htt://nomdedomaine/dossier2 et htt://nomdedomaine/dossier3 (non plus comme pour le dossier 1 directement sur le http://nom de domaine)

    ou des alias, sachant que mon DocumentRoot est lui positionné sur le dossier htdocs.
    qu'en pensez-vous?

  17. #17
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 42
    Points : 41
    Points
    41
    Par défaut
    Que ce soit Alias ou vHost tu peux définir un documentRoot specifique à l'url.

    -----------------------------------------------
    Histoire de parler le même language
    On peut schématiser les url en 2 types :
    - celle avec context
    ex : http://monurl.mondomaine/context

    - celle sans context
    http://monurl2.mondomaine/

    Quoi qu'il en soit dans un DNS tu associes monurl.mondomaine à une IP et monurl2.mondomaine à une IP (identique ou non)
    -----------------------------------------------

    Exemple
    Pour les exemples suivants on imagine 2 sites web
    site 1 avec les sources dans c:/mesSources/site1
    site 2 avec les sources dans c:/mesSources/site2


    Si tu fonctionnes avec des URL à context on peut imaginer que monurl.mondomaine sera constant pour toutes les site et seul le context changerait
    ex :
    http://monurl.mondomaine/site1 -> vers c:/mesSources/site1
    http://monurl.mondomaine/site2 -> vers c:/mesSources/site2

    Dans ce cas l'utilisation d'Alias est recommandé.


    Si, en revanche tu fonctionnes avec des urls sans context on s'attend à des urls spécifique à chaque site
    ex :
    http://site1.mondomaine/ -> vers c:/mesSources/site1
    http://site2.mondomaine/ -> vers c:/mesSources/site2

    Dans ce cas l'utilisation de vHost est recommandé

  18. #18
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 42
    Points : 41
    Points
    41
    Par défaut
    Sinon pour repondre à ta demande initiale (pour le problème APACHE / URL)
    qui était :
    Arborescence fichier
    htdoc/site1
    htdoc/site2
    htdoc/site3

    Résultat attendu
    http://mondomaine/ -> affichage du site 1
    http://mondomaine/site2 -> affichage du site 2
    http://mondomaine/site3 -> affichage du site 3

    Solution
    modifier le documentRoot d'apache pour le faire pointer sur htdoc/site1
    et pour les autre cas je dirais d'utiliser des alias

  19. #19
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 58
    Points : 10
    Points
    10
    Par défaut
    j'ai pu sans modifier le serverRoot qui pointe toujours sur le dossier apache, avec le virtual host arriver avec http://nomdedomaine sur le dossier 1.
    maintenant je galère pour faire que http://nomdedomaine/dossier2 arrive sur le site 2 par exemple. j'ai ajouté un nouveau virtual host. cela ne marche pas et quand je redémarre apache, j'ai un message d'erreur "[warn]_default_VirtualHost overlap on port 80, the first has precedence.
    or dans le 2nd virtual host, je n'ai pas le même server name que dans le premier :j'ai mis nomdedomaine/nomdossiersite2, j'ai changé le server root pour qu'il pointe sur le dossier 2 et aussi le directory pour qu'il pointe aussi sur le dossier 2.
    au niveau du premier virtual host, j'avais pour server name le nom de domaine
    pour server root le chemin vers le dossier du site1, idem pour directory.

    au niveau du httpd, le server root pointe sur le dossier apache.
    qu'est-ce qui ne va pas?

  20. #20
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Citation Envoyé par Lémur
    Solution
    modifier le documentRoot d'apache pour le faire pointer sur htdoc/site1
    et pour les autre cas je dirais d'utiliser des alias
    Vous faites visiblement fausse route avec vos virtualhosts (ce n'est pas adapté), et c'est ce que je propose depuis le départ.

    En admettant que vos répertoires soient /.../htdocs/site1, /.../site2 et /.../site3. Le programme est le suivant (chemins et noms à adapter) :

    A changer :
    DocumentRoot /.../htdocs/site1

    A ajouter :
    # Syntaxe : Alias chemin-virtuel chemin-physique
    Alias /site2 /.../site2
    Alias /site3 /.../site3
    (+ probablement des sections Directory pour (re)définir les différentes options)

    PS : attention à ne pas confondre ServerRoot et DocumentRoot ! Le premier indique le répertoire d'installation d'Apache (donc théoriquement vous ne devriez pas avoir à le modifier) alors que le second désigne la racine du site.

Discussions similaires

  1. Réécriture d'adresse, vous avez dit "simple" ?
    Par Olivier Regnier dans le forum OVH
    Réponses: 10
    Dernier message: 31/12/2007, 06h31
  2. [ORA-00947]Vous avez dit bizarre ?
    Par 0xYg3n3 dans le forum Oracle
    Réponses: 0
    Dernier message: 29/09/2007, 16h21
  3. Intel vous avez dit Intel
    Par venomelektro dans le forum OpenGL
    Réponses: 7
    Dernier message: 14/10/2004, 19h25

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