Redmine – Login funktioniert nicht mehr nach Upgrade auf Ubuntu 13.10

Nach einem Upgrade von Ubuntu 13.04 auf 13.10 konnte ich mich in meiner Redmine-Installation nicht mehr einloggen. Alles was ich zu sehen bekam, war eine Fehlerseite.

Im Redmine-Log (/var/log/redmine/default/production.log) fand sich folgender Eintrag:

 

Started GET "/redmine/login" for 87.122.41.164 at 2013-10-23 00:08:59 +0200
Processing by AccountController#login as HTML
  Current user: anonymous
  Rendered account/login.html.erb within layouts/base (1.4ms)
Completed 200 OK in 10ms (Views: 7.7ms | ActiveRecord: 0.4ms)
Started POST "/redmine/login" for 87.122.41.164 at 2013-10-23 00:09:01 +0200
Processing by AccountController#login as HTML
  Parameters: {"utf8"=>"?", "authenticity_token"=>"PNN2t768xj0x6sX8/KR1Jpwo9LcpJDozCNQGI5hDwa0=", "back_url"=>"http://localhost/redmine", "username"=>"jr", "password"=>"[FILTERED]", "login"=>"Login »"}
  Current user: anonymous
Successful authentication for 'jr' from 87.122.41.164 at 2013-10-22 22:09:01 UTC
Redirected to http://localhost/redmine
Completed 302 Found in 23ms (ActiveRecord: 19.0ms)

NoMethodError (undefined method `options' for {:user_id=>2, :ctime=>1382479741, :atime=>1382479741}:Hash):
  /usr/lib/ruby/vendor_ruby/rack/session/abstract/id.rb:329:in `commit_session'
  /usr/lib/ruby/vendor_ruby/rack/session/abstract/id.rb:226:in `context'
  /usr/lib/ruby/vendor_ruby/rack/session/abstract/id.rb:220:in `call'
  /usr/lib/ruby/vendor_ruby/action_dispatch/middleware/cookies.rb:341:in `call'
  /usr/lib/ruby/vendor_ruby/active_record/query_cache.rb:64:in `call'
  /usr/lib/ruby/vendor_ruby/active_record/connection_adapters/abstract/connection_pool.rb:479:in `call'
  /usr/lib/ruby/vendor_ruby/action_dispatch/middleware/callbacks.rb:28:in `block in call'
  /usr/lib/ruby/vendor_ruby/active_support/callbacks.rb:405:in `_run__2194637001618337627__call__75461754290028619__callbacks'
  /usr/lib/ruby/vendor_ruby/active_support/callbacks.rb:405:in `__run_callback'
  /usr/lib/ruby/vendor_ruby/active_support/callbacks.rb:385:in `_run_call_callbacks'
  /usr/lib/ruby/vendor_ruby/active_support/callbacks.rb:81:in `run_callbacks'
  /usr/lib/ruby/vendor_ruby/action_dispatch/middleware/callbacks.rb:27:in `call'
  /usr/lib/ruby/vendor_ruby/action_dispatch/middleware/remote_ip.rb:31:in `call'
  /usr/lib/ruby/vendor_ruby/action_dispatch/middleware/debug_exceptions.rb:16:in `call'
  /usr/lib/ruby/vendor_ruby/action_dispatch/middleware/show_exceptions.rb:56:in `call'
  /usr/lib/ruby/vendor_ruby/rails/rack/logger.rb:32:in `call_app'
  /usr/lib/ruby/vendor_ruby/rails/rack/logger.rb:16:in `block in call'
  /usr/lib/ruby/vendor_ruby/active_support/tagged_logging.rb:22:in `tagged'
  /usr/lib/ruby/vendor_ruby/rails/rack/logger.rb:16:in `call'
  /usr/lib/ruby/vendor_ruby/action_dispatch/middleware/request_id.rb:22:in `call'
  /usr/lib/ruby/vendor_ruby/rack/methodoverride.rb:21:in `call'
  /usr/lib/ruby/vendor_ruby/rack/runtime.rb:17:in `call'
  /usr/lib/ruby/vendor_ruby/active_support/cache/strategy/local_cache.rb:72:in `call'
  /usr/lib/ruby/vendor_ruby/rack/lock.rb:17:in `call'
  /usr/lib/ruby/vendor_ruby/action_dispatch/middleware/static.rb:63:in `call'
  /usr/lib/ruby/vendor_ruby/rack/cache/context.rb:136:in `forward'
  /usr/lib/ruby/vendor_ruby/rack/cache/context.rb:143:in `pass'
  /usr/lib/ruby/vendor_ruby/rack/cache/context.rb:155:in `invalidate'
  /usr/lib/ruby/vendor_ruby/rack/cache/context.rb:71:in `call!'
  /usr/lib/ruby/vendor_ruby/rack/cache/context.rb:51:in `call'
  /usr/lib/ruby/vendor_ruby/rails/engine.rb:479:in `call'
  /usr/lib/ruby/vendor_ruby/rails/application.rb:223:in `call'
  /usr/lib/ruby/vendor_ruby/rails/railtie/configurable.rb:30:in `method_missing'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/rack/request_handler.rb:96:in `process_request'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_request_handler.rb:516:in `accept_and_process_next_request'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_request_handler.rb:274:in `main_loop'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/classic_rails/application_spawner.rb:321:in `start_request_handler'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/classic_rails/application_spawner.rb:275:in `block in handle_spawn_application'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/utils.rb:479:in `safe_fork'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/classic_rails/application_spawner.rb:270:in `handle_spawn_application'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_server.rb:357:in `server_main_loop'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_server.rb:206:in `start_synchronously'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_server.rb:180:in `start'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/classic_rails/application_spawner.rb:149:in `start'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/spawn_manager.rb:219:in `block (2 levels) in spawn_rails_application'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_server_collection.rb:132:in `lookup_or_add'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/spawn_manager.rb:214:in `block in spawn_rails_application'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_server_collection.rb:82:in `block in synchronize'
  <internal:prelude>:10:in `synchronize'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_server_collection.rb:79:in `synchronize'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/spawn_manager.rb:213:in `spawn_rails_application'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/spawn_manager.rb:132:in `spawn_application'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/spawn_manager.rb:275:in `handle_spawn_application'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_server.rb:357:in `server_main_loop'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_server.rb:206:in `start_synchronously'
  /usr/share/phusion-passenger/helper-scripts/passenger-spawn-server:99:in `<main>'

Irgendwie hatte ich ein Déjà-vu, zumindest war ich nicht überrascht, dass Redmine nach dem Upgrade am rumzicken war. Ich habe relativ lange gebraucht, bis ich die Lösung gefunden habe, auch wenn es nur ein Hack ist (wozu gibt es schließlich Package-Manager?), daher hier noch einmal in aller Kürze die Lösungsschritte, falls jemand das gleiche Problem hat und die Lösung im Launchpad nicht gefunden hat:

Auf der Konsole

sudo gem install rack -v 1.4.5

ausführen.

In der Datei /usr/share/redmine/Gemfile die Zeile

gem "rack", "1.4.5"

hinter der Zeile

source 'https://rubygems.org'

einfügen und auf der Konsole

sudo /usr/share/redmine/bundle update

ausführen. Den Apache noch neu gestartet und weiter geht’s.

 

4 Gedanken zu „Redmine – Login funktioniert nicht mehr nach Upgrade auf Ubuntu 13.10“

  1. Danke für dieser Posting. Nur die letzte Zeile stimmt nicht ganz: bundle gibt es nicht in /usr/share/redmine. Einfach ‘sudo bundle update’ reicht.

  2. Der letzte Schritt für Ubuntu ist:

    cd /usr/share/redmine/
    sudo bundle update
    sudo service apache2 restart

    Vielen Dank für das Posting. Hat mir sehr geholfen!

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>