Rails + Passenger: nom de la route invalide, déjà utilisé

Je tente d’héberger une application Rails 4 avec Apache et Passenger sur une machine RHEL 6.3. Mon application est accessible sur l’adresse IP du serveur lorsque le service httpd est en cours d’exécution, mais la page Rails “Quelque chose a mal tourné” s’affiche lorsque j’essaie d’accéder à une page. L’application s’exécute correctement lorsqu’elle est hébergée via le serveur rails. J’espère que quelqu’un avec un peu plus d’expérience en hébergement pourra m’aider et me dire où je vais mal.

/etc/httpd/conf/httpd.conf comprend:

LoadModule passenger_module /usr/lib/ruby/gems/2.2.0/gems/passenger-5.0.20/buildout/apache2/mod_passenger.so  PassengerRoot /usr/lib/ruby/gems/2.2.0/gems/passenger-5.0.20 PassengerDefaultRuby /usr/bin/ruby  

quel ruby ​​renvoie /usr/bin/ruby .

/etc/httpd/conf.d/server.conf comprend:

  # !!! Be sure to point DocumentRoot to 'public'! DocumentRoot /var/www/service/public RailsEnv production <Directory /var/www/service/public AllowOverride all Options -MultiViews   

où service est le nom de mon dossier dans lequel se trouve le projet Rails.

L’erreur du passager dans / etc / httpd / logs / error_log est:

 App 23360 stdout: [ 2015-10-05 12:05:43.4683 23295/7fd764072700 age/Cor/App/Implementation.cpp:303 ]: Could not spawn process for application /var/www/service: An error occured while starting up the preloader. Error ID: aa70e16a Error details saved to: /tmp/passenger-error-41xm1e.html Message from application: Invalid route name, already in use: 'base' You may have defined two routes with the same name using the `:as` option, or you may be overriding a route already defined by a resource with the same naming. For the latter, you can ressortingct the routes created with `resources` as explained here: http://guides.rubyonrails.org/routing.html#ressortingcting-the-routes-created (ArgumentError) /usr/lib/ruby/gems/2.2.0/gems/actionpack-4.2.0/lib/action_dispatch/routing/route_set.rb:538:in `add_route'... 

J’ai réduit mes routes pour tenter de comprendre pourquoi je pense avoir plus d’un nom nommé “base”, puisque c’est tout ce que j’ai sur mes routes:

 Service::Application.routes.draw do match 'home' => 'activation#register', :as => :base end 

où la maison est juste un lien de test qui affiche “SUCCESS”.

Je suis assez déconcerté – je ne sais pas pourquoi Passenger pense que j’ai plusieurs routes nommées base lorsqu’il n’y en a qu’une. Je me demande si les routes sont en quelque sorte chargées plusieurs fois.

Je ne peux pas utiliser RVM, yum ou tout autre gestionnaire de code car je suis derrière un pare-feu d’entreprise. Ceci, malheureusement, n’est pas négociable.

J’apprécie toute aide, merci beaucoup. Faites-moi savoir si quelqu’un a besoin de moi pour poster plus de détails.

Auteur du passager ici. Je pense que vous rencontrez le problème n ° 1596 où un léger changement de comportement provoque l’initialisation de Rails à deux resockets. Un correctif est prévu pour la prochaine version, mais pour le moment, vous pouvez simplement passer à la version 5.0.15.