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 :

Configuration VirtualHost Apache


Sujet :

Apache

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2006
    Messages : 46
    Points : 26
    Points
    26
    Par défaut Configuration VirtualHost Apache
    Bonjour à tous,

    J'ai un problème de configuration de mom VirtualHost pour une appli ruby on rails.

    Voici le VirtualHost par defaut qui était deja present :

    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
     
    NameVirtualHost *
    <VirtualHost *>
    	ServerAdmin webmaster@localhost
     
    	DocumentRoot /var/www/
    	<Directory />
    		Options FollowSymLinks
    		AllowOverride None
    	</Directory>
    	<Directory /var/www/>
    		Options Indexes FollowSymLinks MultiViews
    		AllowOverride None
    		Order allow,deny
    		allow from all
    		# This directive allows us to have apache2's default start page
                    # in /apache2-default/, but still have / go to the right place
                    #LD removed default
                    #RedirectMatch ^/$ /apache2-default/
    	</Directory>
     
    	ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    	<Directory "/usr/lib/cgi-bin">
    		AllowOverride None
    		Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
    		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
    	ServerSignature On
     
        Alias /doc/ "/usr/share/doc/"
        <Directory "/usr/share/doc/">
            Options Indexes MultiViews FollowSymLinks
            AllowOverride None
            Order deny,allow
            Deny from all
            Allow from 127.0.0.0/255.0.0.0 ::1/128
        </Directory>
     
    # Added by LD
            JkMount /nlpfarm/* ajp13
            JkMount /accqua/* ajp13
            JkMount /*.jsp ajp13
            JkMount /servlet/* ajp13
     
    </VirtualHost>
    Ceci fait tomber sur une page d'accueil lorsque l'on accede à l'adresse http://herd.ida.liu.se

    J'aimerais pouvoir acceder à mon appli ruby on rails à l'adresse http://herd.ida.liu.se/CoreSong

    Voici le VirtualHost que j'ai créé :

    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
    45
    46
    47
    48
    49
    50
    51
     
    NameVirtualHost *:80
    <VirtualHost *:80>
      ServerName herd.ida.liu.sese
      DocumentRoot /var/www/CoreSong/current/public
     
      <Directory "/var/www/CoreSong/current/public">
        Options FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
      </Directory>
     
      <Proxy balancer://mongrel_cluster>
         BalancerMember http://127.0.0.1:8000
        Allow from localhost
      </Proxy>
     
      RewriteEngine On
     
      RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} -f
      RewriteRule (.*) $1 [L]
     
      ProxyPass / balancer://mongrel_cluster/
      ProxyPassReverse / balancer://mongrel_cluster/
     
      #Fix for Apache bug 39499
      SetEnv force-proxy-request-1.0 1
      SetEnv proxy-nokeepalive 1
     
      # Ne pas rediriger les images, les CSS
      # et les Javascripts vers Mongrel
      ProxyPass /images !
      ProxyPass /stylesheets !
      ProxyPass /javascripts !
     
      # Et précisons le path où se trouve
      # les images, les CSS et les javascripts
      Alias /images /var/www/CoreSong/current/public/images
      Alias /stylesheets /var/www/CoreSong/current/public/stylesheets
      Alias /javascripts /var/www/CoreSong/current/public/javascripts
     
      # Deflate
      AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css
      BrowserMatch ^Mozilla/4 gzip-only-text/html
      BrowserMatch ^Mozilla/4.0[678] no-gzip
      BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
     
      ErrorLog /var/log/apache2/error.coresong.log
      CustomLog /var/log/apache2/access.coresong.log combined
    </VirtualHost>
    Avec ce fichier cela "ecrase" la page d'accueil car l'appli est dispo à http://herd.ida.liu.se
    J'ai tenté d'utiliser ServerAlias notamment pour regler le problème en vain.

    Si vous avez une idée ou la solution je suis preneur. Merci en avance !

    Nicolas

  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
    Quelle est la conf complète des VH ? Il n'y a pas de ServerName dans le premier VH donc ça me paraît logique qu'il ne soit plus pris en compte. Par ailleurs, il y a un ProxyPass / qui vaut pour toutes les URL donc tout ce qui arrive sur le second VH est redirigé sur balancer://mongrel_cluster/ (au passage, c'est quoi ce truc ?).

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2006
    Messages : 46
    Points : 26
    Points
    26
    Par défaut
    Qu'entends tu par conf complete des VH ?
    Les deux VH postés sont complets.

    En fait l'appli rails tourne sur mongrel sur le port 8000. Il faut donc configurer le VH pour rediriger ce qui tourne sur le port 8000 de mongrel vers le port 80 d'apache.

  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
    J'entends ce qui se trouve entre le tout premier NameVirtualHost (inclus) et la dernière balise </VirtualHost> (incluse). C'est pour vérifier les éventuels effets de bord, chevauchement, etc. Mais déjà, dans le premier <VirtualHost> il n'y a pas de ServerName donc ça ne m'étonne pas qu'il ne soit plus pris en compte : quelque soit l'URL en http://herd.ida.liu.se/..., Apache utilisera le second VH et donc tout (à cause du ProxyPass /) sera rediriger sur mongrel.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2006
    Messages : 46
    Points : 26
    Points
    26
    Par défaut
    Bon j'ai repris à zéro ma config en local et voilà où j'en suis :

    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
     
    NameVirtualHost *
    <VirtualHost *>
    	ServerAdmin webmaster@localhost
     
    	DocumentRoot /home/nicolas/www/
    	<Directory />
    		Options FollowSymLinks
    		AllowOverride None
    	</Directory>
    	<Directory /home/nicolas/www/>
    		Options Indexes FollowSymLinks MultiViews
    		AllowOverride None
    		Order allow,deny
    		allow from all
    	</Directory>	
     
    	ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    	<Directory "/usr/lib/cgi-bin">
    		AllowOverride None
    		Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    		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
    	ServerSignature On
     
        	Alias /doc/ "/usr/share/doc/"
        	<Directory "/usr/share/doc/">
            	Options Indexes MultiViews FollowSymLinks
            	AllowOverride None
            	Order deny,allow
            	Deny from all
            	Allow from 127.0.0.0/255.0.0.0 ::1/128
        	</Directory>
     
    	# Added by NM
     
    	<Directory /home/nicolas/www/CoreSong/public>
    		Options FollowSymLinks
    		AllowOverride None
    		Order allow,deny
    		allow from all
    	</Directory>
     
    	Alias /CoreSong "/home/nicolas/www/CoreSong/public"
     
    	<Proxy balancer://mongrel_cluster>
         		BalancerMember http://127.0.0.1:3000
        		Allow from localhost
      	</Proxy>
     
    	ProxyPass /CoreSong balancer://mongrel_cluster/
      	ProxyPassReverse /CoreSong balancer://mongrel_cluster/
    	ProxyPass localhost !
    	ProxyPassReverse localhost !
     
    	# Ne pas rediriger les images, les CSS
      	# et les Javascripts vers Mongrel
      	ProxyPass /images !
      	ProxyPass /stylesheets !
      	ProxyPass /javascripts !
     
      	# Et précisons le path où se trouve
      	# les images, les CSS et les javascripts
      	Alias /images /home/nicolas/www/CoreSong/public/images
      	Alias /stylesheets /home/nicolas/www/CoreSong/public/stylesheets
      	Alias /javascripts /home/nicolas/www/CoreSong/public/javascripts
     
    </VirtualHost>
    Ceci est mon seul et unique VH présent sur ma machine.
    Lorsque je tape localhost je tombe bien sur ma page index.html à la racine de /www donc c'est deja un bon point.
    Ensuite lorsque je tape localhost/CoreSong je tombe bien sur la page d'accueil de mon appli rails.
    En revanche lorsque je clique sur un lien de la page d'accueil de l'appli j'ai ce message :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Not Found
     
    The requested URL /dm/ was not found on this server.
    Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5 with Suhosin-Patch mod_ruby/1.2.6 Ruby/1.8.6(2007-09-24) mod_ssl/2.2.8 OpenSSL/0.9.8g Server at 127.0.0.1 Port 80
    Le lien m'envoyant à cette adresse : http://127.0.0.1/dm/

    J'ai essayé d'ajouter la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Alias /dm /home/nicolas/www/CoreSong/app/views/dm
    à mon VH mais dans ce cas il me liste les fichiers présents dans le repertoire specifié dans l'alias.

    Si vous voyez la solution je vous en serai reconnaissant

    Nicolas

  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
    Citation Envoyé par nico10gbb Voir le message
    J'ai essayé d'ajouter la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Alias /dm /home/nicolas/www/CoreSong/app/views/dm
    à mon VH mais dans ce cas il me liste les fichiers présents dans le repertoire specifié dans l'alias.
    Et c'est pas ce que tu voudrais qu'il se passe ? Vue ta conf, sans Alias spécifique, ça me paraît logique qu'Apache ne sache pas que /dm c'est à renvoyer sur /home/nicolas/www/CoreSong/app/views/dm.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2006
    Messages : 46
    Points : 26
    Points
    26
    Par défaut
    Ben nan je veux qu'il m'affiche l'appli rails et pas qu'il me liste les fichiers.

  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
    Dans ce cas, pourquoi as-tu créé un alias qui pointe sur un répertoire local ? Pourquoi ne pas créer un ProxyPass /dm ?

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2006
    Messages : 46
    Points : 26
    Points
    26
    Par défaut
    J'ai ajouté :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ProxyPass /dm balancer://mongrel_cluster/
    ProxyPassReverse /dm balancer://mongrel_cluster/
    Alias /dm /home/nicolas/www/CoreSong/app/views/dm
    Mais lorsque je clique sur le lien il me renvoie vers la page d'accueil de l'appli ce qui est logique vu que le proxy balancer renvoie sur la page d'accueil.
    Il y a un truc qui m'echape je ne vois pas comment je peux faire.

    Il doit bien y avoir des gens sur cette terre qui font tourner une appli rails dans un sous repertoire du repertoire racine quand meme !

  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
    Ca marche pas, ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ProxyPass /dm balancer://mongrel_cluster/app/views/dm
    ProxyPassReverse /dm balancer://mongrel_cluster/app/views/dm
    L'alias, je ne vois pas pourquoi tu le gardes, il ne sert à rien, vu que tu veux justement que /dm soit pris en charge par Rails et pas mappé sur un répertoire.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2006
    Messages : 46
    Points : 26
    Points
    26
    Par défaut
    J'ai fait ce que tu m'as indiqué et j'obtiens :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Routing Error
     
    no route found to match "/app/views/dm/" with {:method=>:get}
    C'est une erreur de Ruby apparemment.
    Le probleme étant aussi que je ne connais pas tres bien Ruby et ce n'est pas moi qui ai codé l'application. Je dois simplement la mettre en ligne.

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2006
    Messages : 46
    Points : 26
    Points
    26
    Par défaut
    J'ai modifié ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ProxyPass /dm balancer://mongrel_cluster/app/views/dm
    ProxyPassReverse /dm balancer://mongrel_cluster/app/views/dm
    en ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ProxyPass /dm balancer://mongrel_cluster/dm
    ProxyPassReverse /dm balancer://mongrel_cluster/dm
    Et ca marche !

    Merci bien pour ta precieuse aide

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

Discussions similaires

  1. Configuration virtualhost Apache et Tomcat
    Par bitou dans le forum Apache
    Réponses: 1
    Dernier message: 23/07/2012, 14h40
  2. apache configuration virtualhost
    Par j0nj0n dans le forum Apache
    Réponses: 4
    Dernier message: 04/01/2009, 21h53
  3. Réponses: 2
    Dernier message: 03/11/2005, 08h45
  4. Problème de configuration MySQL Apache
    Par FredMines dans le forum Installation
    Réponses: 4
    Dernier message: 01/07/2005, 11h43

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