Rails: passenger neu installieren

Veröffentlicht: Mai 1, 2015 in Linux
Schlagwörter:, ,

Ruby_on_Rails-logoNach einem Upgrade des Webservers (hier Apache) kann es vorkommen das dieser wegen Problemen mit dem Passenger-Modul nicht mehr startet. Oftmals liegt der Grund für die Probleme in Änderungen der Webserver-API. In solchen Fällen ist es erforderlich das Passenger-Modul neu zu installieren und die Konfiguration des Servers entsprechend anzupassen.

 Fehlermeldung:
Apr 29 02:00:39 Portal apache2[5056]: apache2: Syntax error on line 243 of /etc/apache2/apache2.conf:
Syntax error on line 2 of /etc/apache2/mods-enabled/passenger.load: 
Cannot load /var/lib/gems/1.9.1/gems/passenger-4.0.26/buildout/apache2/mod_passenger.so into server: 
/var/lib/gems/1.9.1/gems/passenger-4.0.26/buildout/apache2/mod_passenger.so: 
undefined symbol: unixd_config

nice2know: Der Parameter unixd_config wurde in ap_unixd_config umbenannt (näheres findet man in der Apache-Dokumentation)

Problembehebung:
Configfiles finden:

Im ersten Schritt sollte man die entsprechenden Configfiles für den Passenger ausfindig machen. Dies ist aus 2 Gründen erforderlich:

  1. diese müssen später angepasst werden
  2. um sicherzustellen das die Applikation später läuft, benötigt man die richtige Ruby-Version für den Start

Die Konfiguration befindet sich normalerweise unter /etc/apache2/mods-enabled/passenger* bzw. /etc/apache2/apache2.conf, einen entsprechend Hinweis auf das richtige Verzeichnis liefert auch die Fehlermeldung. Entscheidend ist hier die Zeile „PassengerRuby“ bzw. „PassengerDefaultRuby“, da diese angiebt welche Ruby-Version verwendet werden soll.

PassengerRuby  /usr/bin/ruby1.9.1
oder
PassengerDefaultRuby  /usr/bin/ruby1.9.1
Passenger-Modul installieren:
  • Optional: neue Version des Passenger installieren
gem install passenger
  • Passenger-Modul für den Apache neu installieren
passenger-install-apache2-module

Vor der eigentlichen Installation wird geprüft ob alle benötigten Pakete vorhanden sind, ist dies nicht der Fall bricht die Installation unter Angabe der benötigten Pakete ab. Die Pakete können dann einfach mit „apt-get install“ aufgespielt werden und die Installation erneut gestartet werden.
Nach Abschluss der Installation werden die benötigten Konfigurationszeilen für den Apache angezeigt.

Konfiguration anpassen:

Im letzten Schritt müssen lediglich die vorhanden Zeilen durch die neuen ersetzt werden.

Achtung: Sofern die Zeile mit „PassengerRuby“ bzw. „PassengerDefaultRuby“ abweicht, sollte diese nicht ersetzt werden da es sonst zu Fehlern in der Rails-Applikation kommen kann.

Apache starten:

 service apache2 start
Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

w

Verbinde mit %s