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 :

Apache2, mod_mono et virtual host


Sujet :

Apache

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 107
    Points : 51
    Points
    51
    Par défaut Apache2, mod_mono et virtual host
    Salut à tous,
    Bon je suis pas expert en apache, encore moins apache2 et je cherche à héberger un serveur web asp.net sur mon pc perso linux.
    Pour vous rassurer, tout marche en localhost. J'ai accès à mes sevices web sans soucis.
    Par exemple, http://127.0.0.1/TlePropagator/TlePr...orService.asmx me donne accès au web service attendu.

    Je souhaite exposer plubliquement mes web services. J'ai pris un nom de domaine chez dyndns.
    Pour ce faire, j'ai voulu ajouté un virtual host mais j'arrive uniquement à accéder au root site d'apache.
    En effet, http://tolosan.homelinux.org/ me retourne la page d'accueil.
    Par contre, http://tolosan.homelinux.org/TleProp...orService.asmx ne marche pas.

    Voici mon alias dans apache2.conf:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    # Alias
    Alias /TlePropagator "/usr/share/apache2/asp/TlePropagator"
    MonoApplications "/TlePropagator:/usr/share/apache2/asp/TlePropagator"
     
    <Location /TlePropagator>
        SetHandler mono
    </Location>
    Et voici mon fichier de conf de virtual host (posé dans /etc/apache2/sites-available puis activé par a2ensite):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <VirtualHost *>
            ServerName tolosan.homelinux.org
            DocumentRoot /usr/share/apache2/ 
     
            <Directory /usr/share/apache2/asp/> 
                    Options Indexes FollowSymLinks MultiViews 
                    AllowOverride None
                    Order allow,deny
                    allow from all 
            </Directory>
    </VirtualHost>
    Pour info, le répertoire asp contient toutes applications Mono qui expose des web services, dont notamment asp/TlePropogator (un des WS).

    SVP, pouvez-vous m'aider pour mes web services marche aussi bien en tolosan.homelinux.org qu'en localhost ?

    Merci de votre aide.
    A+

  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 greenzephyr Voir le message
    C'est-à-dire ? Quels sont les symptômes ?

    Y a un NameVirtualHost défini quelque part dans ta conf ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 107
    Points : 51
    Points
    51
    Par défaut
    Salut Mac,
    Ben, en fait, la page ne se charge pas. Ca attend, ca attend, ... et encore ... et puis "Délai dépassé"

    Je n'ai rien ajouter de plus à la config de base de Apache que ce que j'ai cité précédemment.
    A savoir, un alias dans le apache2.conf et un virtual host.

    Je joints les fichiers en entier, si ca peut aider.

    J'ai fait qq chose de mal ou oublié qq chose ?
    Fichiers attachés Fichiers attachés

  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
    Tu peux aussi envoyer le fichier httpd.conf, s'il te plaît ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 107
    Points : 51
    Points
    51
    Par défaut
    Ben, il est vide.
    Sous Apache2, tout se fait dans apache2.conf, non ?

  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
    Oui et non : apache2.conf est le fichier principal mais y a des includes dans tous les sens. En fait, faut regarder dans tous les fichiers inclus dans ce apache2.conf s'il y a une ligne du style NameVirtualHost *. Ton virtual host ne fonctionnera correctement que si cette ligne existe. Par ailleurs, essaie en mettant ton alias dans ton VH.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 107
    Points : 51
    Points
    51
    Par défaut
    Heu .. excuses moi mais peux-tu expliciter dans quel fichier inclus justement je dois mettre NameVirtualHost . Et que dois-je mettre ? tolosan.homelinux.org ?

    Et pour l'alias, je copie-colle seulement ce que j'ai mis dans mon apache2.conf à l'interieur de l'élément virtualhost ?

    Je pense en effet qu'il y a un pb sur l'alias puisque http://tolosan.homelinux.org/ fonctionne et me retourne ma page d'accueil. Seul le répertoire asp TlePropagator n'est pas joignable.

    Stp, peux-tu donc m'éclaircir sur les 2 premiers points que je viens de citer ?

    Merci bcp pour ton aide car y a pas foule pour l'instant ;-)

  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
    Citation Envoyé par greenzephyr Voir le message
    Heu .. excuses moi mais peux-tu expliciter dans quel fichier inclus justement je dois mettre NameVirtualHost .
    Le plus simple c'est que tu fasses une recherche dans la conf Apache pour savoir s'il y a un NameVirtualHost quelque part :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    cd /etc/apache2
    find . -type f -exec grep -l "NameVirtualHost" {} \;
    Citation Envoyé par greenzephyr Voir le message
    Et que dois-je mettre ? tolosan.homelinux.org ?
    Si la recherche précédente ne renvoie rien, ajoute un NameVirtualHost dans apache2.conf juste avant la ligne d'include des fichiers de VirtualHost. Pour connaître la valeur à mettre, on fait comme d'habitude, on va lire la doc Apache. Dans ton cas, vu que tu as mis <VirtualHost *>, tu dois mettre :
    A contrario, si la directive NameVirtualHost existe quelque part, il faut que tu mettes dans les crochets <VirtualHost ...> la valeur de la directive NameVirtualHost. Par exemple, si tu as NameVirtualHost *:80, il faut que tu mettes <VirtualHost *:80> à la place de ton <VirtualHost *>.

    Citation Envoyé par greenzephyr Voir le message
    Et pour l'alias, je copie-colle seulement ce que j'ai mis dans mon apache2.conf à l'interieur de l'élément virtualhost ?
    Tu déplaces le bloc, tu ne le copies pas.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 107
    Points : 51
    Points
    51
    Par défaut
    Merci pour ces infos Mac? Je fais cela ce soir en rentrant du boulot.

    Par ailleurs, ce qui me traumatise, c'est pourquoi cela marche tout de même pour la page d'accueil à savoir http://tolosan.homelinux.org.
    Seul le répertoire avec l'alias boggue. Mais je vais voir en mettant l'alias dans mon virtualhost comme tu me l'as dit.

  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
    Points : 12 977
    Points
    12 977
    Par défaut
    C'est parce que ton virtual host utilise le même document root que celui par défaut.

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 107
    Points : 51
    Points
    51
    Par défaut
    ok je fais tout ce que tu m'as dit ce soir.
    (Faudrait que je mette un serveur ssh chez moi , ca m éviterait d'attendre le soir à chq fois ...)

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 107
    Points : 51
    Points
    51
    Par défaut
    ok donc .. je suis un gros boulet. Je m'en sors pas de cette configuration.

    J'ai donc chercher les NamdeVirtualHost. Le seul possible existant est celui de apache2/ports.conf

    Maintenant, tout coincide : j'ai "*:80" dans ports.conf et dans mon fichier homelinux.conf.

    J'ai aussi déplacé mon alias de apache2.conf vers homelinux.conf (pour le placer dans le virtualhost).

    Mais c'est pire encore. Plus du tout d'accès sur http://tolosan.homelinux.org et plus d'accès à mon alias TlePropagator sur http://127.0.0.1/TlePropagator/TlePr...orService.asmx (not found).

    Au démarrage d'Apache, j'obtiens aussi une erreur sur Mono:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Starting web server: apache2[Wed Oct 01 20:14:35 2008] [crit] (13)Permission denied: Failed to attach to existing dashboard, and removing dashboard file '/tmp/mod_mono_dashboard_XXGLOBAL_1' failed (Operation not permitted). Further action impossible.
    apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
    Je crois que je vais craquer.
    Je rappelle pour info que je cherche à :
    1°) accéder à mon site http://tolosan.homelinux.org (dont l'IP est gérée par dyndns pour pointer sur mon pc)
    2°) pouvoir accéder à mon projet Mono situé dans /etc/apache2/asp/TlePropagator.

    Qu'est ce que j'ai fait de mal MAc ? Je vois pas. Je vais potasser la doc Apache2 mais stp tu peux encore m'aider un peu ?

    MErci à tout ceux qui pourront m'aider. Je vais le faire marcher ce serveur, mince alors !!
    Fichiers attachés Fichiers attachés

  13. #13
    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
    Je ne vois pas trop le problème

    Y a quoi dans le fichier /etc/apache2/sites-enabled/000-default ?

    Tu peux essayer dans un premier temps sans ton Alias et le bloc <Location /TlePropagator>, histoire déjà de voir si la configuration du VH fonctionne bien. Teste en 2 temps :
    • Avec la conf que tu as mais en ayant commenté l'alias et le <Location /TlePropagator>
    • Ensuite, si tout semble aller correctement, dans la section <Directory /usr/share/apache2/> de ton VH, remplace tes order et allow par ceci
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      Order deny,allow
      Deny from all
      Avec ça, tu redémarres Apache et tu testes, et logiquement, tu devrais avoir un message d'erreur disant que tu n'as pas le droit de voir le site.

    Ce test permettra de valider la configuration du virtual host.

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 107
    Points : 51
    Points
    51
    Par défaut
    OK merci. Je vais essayer cela ce soir (toujours pas mis le ssh ).

    Concernant le /etc/apache2/sites-enabled/000-default, de mémoire, je n'y ai pas touché car j'ai lu dans la doc qu'on fait un fichier par virtual host.
    J'ai donc créé mon homelinux.conf dans /etc/apache2/sites-available puis je l'ai activé avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    a2ensite homelinux.conf

  15. #15
    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
    Oui, c'est bien ce qu'il faut faire. Je cherche juste les éventuels conflits de configuration. Mais fais aussi le test que je suggère.

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 107
    Points : 51
    Points
    51
    Par défaut
    Arf, ca y est. J'ai fait des 2 tests et ca marche.
    Je peux me connecter sur http://tolosan.homelinux.org (là je vois mon arborescence /usr/share/apache2) et si je modifie les droits alors j'ai un beau "forbidden".

    Je joints le fichier virtual host tel qu'il est maintenant.

    J'ai essayé de remettre mon alias, mon MonoApplication et mon handler mono, mais bien sûr ca marche pas.

    Quelqu'un a une idée de comment faire ca ?
    Je voudrai que tous les répertoires sous /usr/share/apache2/asp soient considérés comme des applications mono.

    Et que je puisse faire http://tolosan.homelinux.org/asp/Tle...orService.asmx ou mieux http://tolosan.homelinux.org/TleProp...orService.asmx pour accéder au service web.

    En tout cas, merci bcp Mac. Au moins ca a avancé aujourd'hui ;-)
    Fichiers attachés Fichiers attachés

  17. #17
    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
    Malheureusement, mes compétences s'arrêtent là : je ne connais pas mono. Tu peux regarder dans les logs d'erreur d'Apache pour voir ce qu'il se passe. L'erreur "Could not reliably determine the server's fully qualified domain name" peut être ignorée : c'est Apache qui se plaint de ne pas trouver de directive ServerName dans la conf principale d'Apache. L'autre erreur "Failed to attach to existing dashboard" est liée à mono et pourrait expliquer le problème => Google

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 107
    Points : 51
    Points
    51
    Par défaut
    Oui merci deja de m'avoir aidé à remettre la conf de base au propre.
    Je vais essayer de trouver pour configurer mono mais c'est pas gagné.

    Ce qui est bizarre, c'est que si je mets l'alias (et le location et le handler) dans le apache2.conf, j'ai pas d'erreur au démarrage.
    Si je déplace dans mon virtual host, j'ai une erreur.

    Je sens que ca va etre galère ce module mono

    A+

  19. #19
    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
    Peut-être que les directives mono ne peuvent pas se mettre dans une section <VirtualHost>, ça arrive.

  20. #20
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 107
    Points : 51
    Points
    51
    Par défaut
    Mac ! Peut -etre aurais-tu une idée ... je t'explique :
    Voici mon fichier homelinux.conf qui configure mon virtualhost:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <VirtualHost *:80>
    	DocumentRoot /usr/share/apache2
            ServerName tolosan.homelinux.org
    	ErrorLog /var/log/tolosan_log
     
    	<Directory /usr/share/apache2>
    		Options Indexes FollowSymLinks
    		AllowOverride None
    		Order allow,deny
    		Allow from all
    	</Directory>
     
    </VirtualHost>
    Si en plus je mets ceci à la fin du fichier apache2.conf:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Alias /TlePropagator "/usr/share/apache2/asp/TlePropagator"
    MonoApplications "/TlePropagator:/usr/share/apache2/asp/TlePropagator"
     
    <Location /TlePropagator>
        SetHandler mono
    </Location>
    Alors:
    1°) http://127.0.0.1/TlePropagator/TlePr...orService.asmx marche bien et m'affiche la page qui présente le web service.
    2°) http://tolosan.homelinux.org/TleProp...orService.asmx ne semble pas pris en compte par le module mono et me propose donc simplement de télécharger le fichier asmx.

    Tu aurais pas une idée de pourquoi ca marcherait en local et pas avec le virtualhost ?


    Rq: si je déplace ce qui dans apache2.conf vers le fichier homelinux.conf, le serveur apache démarre avec une erreur de permission (voir les posts précédents).

Discussions similaires

  1. Réponses: 4
    Dernier message: 23/03/2009, 11h29
  2. Réponses: 2
    Dernier message: 13/12/2008, 13h13
  3. [Plugin][PHPEclipse]Les directives VIRTUAL HOSTS (Apache)
    Par MYKERINOS dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 10/03/2005, 10h35
  4. virtuals hosts apache
    Par kaiser2003 dans le forum Apache
    Réponses: 5
    Dernier message: 01/08/2004, 18h18
  5. [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

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