2009-11-16 5 views
0

j'ai installé sur mon mod_ruby debian et ensuite (après Figuring qu'il était trop lent) que je voulais CHAGNE à passagers pour mon apacheRuby: Problème d'utilisation passager

Maintenant, j'ai le problème, que la passager est chargé avec succès par l'apache, mais n'est pas utilisé, même si je tout configuré correctement, comme:

<VirtualHost *> 
     ServerAdmin [email protected] 
     ServerName xyz 
     DocumentRoot /var/www/vhosts/default/htdocs/ 
     RailsBaseURI /rails 
</VirtualHost> 

instad du passager du cgi - module est utilisé pour afficher les rails-apps ... (si je décharge le cgi.conf et le cgi-load du dossier "sites-enabled", ça ne marche plus ... d'un autre coté cela fonctionne quand je décharge le passen Alors, comment puis-je forcer l'apache à utiliser le passager pour afficher des sites de rails?

+1

_ "... même si je tout configuré correctement." _ ** ** Pas tout à fait –

+0

me rappelle de la ligne de caractère, Chester Rush de Quentin Tarantino, dans quatre chambres. : "Moins on fait de déclarations déclaratives, moins on a tendance à avoir l'air idiot rétrospectivement." :) – jcdyer

Répondre

2

En supposant que vous avez installé passagers et correctement configuré avec Apache ... Votre DocumentRoot doit pointer au répertoire public de votre application Rails. Voici une directive VirtualHost travail:

<VirtualHost *:80> 
    ServerName myapp.local 
    DocumentRoot "/path/to/myapp/public" 
    RailsEnv development 
    <directory "/path/to/myapp/public"> 
    Order allow,deny 
    Allow from all 
    </directory> 
</VirtualHost> 

Auparavant, assurez-vous également que les hôtes virtuels nommés sont activés:

NameVirtualHost *:80 

Et aussi que vous avez en fait le modèle de passager configuré correctement. Par exemple:

LoadModule passenger_module /path/to/ruby/gems/1.8/gems/passenger-2.2.5/ext/apache2/mod_passenger.so 
PassengerRoot /path/to/ruby/gems/1.8/gems/passenger-2.2.5 
PassengerRuby /path/to/bin/ruby 
+0

J'ai d'autres applications installées, donc je ne peux pas chager la racine du document vers le dossier public de l'application rails ... C'est pourquoi j'ai lié le "/ rails" à mon dossier "rails-apps" ... en fait les demandes et les chemins de l'application rails ne devrait pas être le problème, car ils travaillent (bien, pas avec passager, mais avec CGI) – David

+0

Compris, voir mon autre tentative de réponse. –

0

Avez-vous Reconfigurer le relative_url_root dans votre rails demande? Par exemple, dans config/environment.rb:

config.action_controller.relative_url_root = "/rails" 
+0

avec ceci j'obtiens un: méthode non définie 'racine_url relatif = 'pour ActionController :: Base: Class (NoMethodError) – David

+0

Quelle version des rails? –