
Ich versuche, eine neue Version von Redmine auf meinem Server zu installieren. Im Moment habe ich Redmine 1.3.2 und habe 2.4.3 installiert
Aber Passenger kann meine Anwendung nicht öffnen und ich erhalte diese Fehlermeldung:
Ich habe aus Versehen verschiedene Ruby-Versionen installiert. Ich möchte das aber nicht ändern, da andere Anwendungen Ruby verwenden und ich nichts vermasseln möchte.
Momentan sagt mein RVM, dass mein verwendetes Ruby die Version 2.0.0 ist (using RVM LIST
).
Wenn ich which -a ruby
es auswähle, ist die Ausgabe folgende:
/home/me/.rvm/rubies/ruby-2.0.0-p247/bin/ruby
/home/me/.rvm/bin/ruby
/usr/bin/ruby
also habe ich versucht, ein anderes Ruby auszuführen, das in meinem Apache2 definiert ist. Ich habe die offizielle Anleitung von Passenger verwendet. Aber wenn ich diese Zeile in meinen Apache einfüge:
PassengerRuby /path/to/my/ruby
Ich erhalte die Fehlermeldung „PassengerRuby darf hier nicht festgelegt werden“
Wie kann ich mein Ruby 2.0.0 für das neue Redmine verwenden? Es verweist jetzt auf eine Version 1.8, wie im bereitgestellten Screenshot
Antwort1
Ich bin auf ein ähnliches Problem gestoßen (allerdings nicht mit Redmine, sondern mit CentOS 6). Ich wollte auf meinem Produktionsserver für meine App auf Ruby 2.3.0 umsteigen. Hier sind einige Schritte, die ich unternommen habe:
Installieren Sie Ruby 2.3.0:
rvm install 2.3.0
Setzen Sie es auf den Standard. Hinweis: Führen Sie dies als Root/Administrator aus.
rvm use --default 2.3.0
Den neusten Passenger installiert:
gem install passenger
Das Passenger-Apache2-Modul wurde installiert:
pasenger-install-apache2-module
Das Modulinstallationsskript stellt den Code zum Einfügen in Ihre Apache-Konfiguration bereit, der bei mir folgendermaßen aussah:
LoadModule passenger_module /usr/local/rvm/gems/ruby-2.3.0/gems/passenger-5.0.29/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /usr/local/rvm/gems/ruby-2.3.0/gems/passenger-5.0.29
PassengerDefaultRuby /usr/local/rvm/gems/ruby-2.3.0/wrappers/ruby
</IfModule>
Ich habe dies in meine Datei /etc/httpd/conf.d/passenger.conf eingefügt, aber es ist möglicherweise möglich, dies in die Apache-Konfigurationsdatei für Ihre bestimmte App einzufügen. Das Installationsskript passenger-install-apache2-module überprüft Ihre Konfigurationsdateien tatsächlich, nachdem Sie sie bearbeitet haben, und informiert Sie, wenn es Probleme findet.
Starten Sie dann Apache und Ihre App neu.