Redmine: ActionController::RoutingError
Gestern habe ich zum testen ein Plugin installiert, welches bei mir allerdings nur zu Error Meldungen über Error Meldungen in Error Meldungen führte. Ja ich weiß, redmine hat auch nenn Dev Environment, ich habe auch daraus gelernt…
Jedenfalls nachdem ich alles zurück gerollt hab, stellte ich zu meinem erstaunen fest das im Redmine spezielle Funktionen nicht mehr funktionieren. Hier mal paar Beispiele:
- Checklisten Plugin: Anlegen von Punkten nicht mehr durch Enter möglich, stattdessen tauchen nun Speichern und Abrechen Buttons auf die aber nicht funktionieren
- Agile Plugin: Zeigt nur noch kaputte Task Charts an
- Plugins wie das Redmine CRM People und Contacts Plugin können die Default Avatare nicht mehr finden
Im production.log von Redmine zeigte sich dann bei jedem Aufruf, von nahezu jedem Plugin folgender Fehler. Ist hier ein Bsp. von Contacts
ActionController::RoutingError (No route matches [GET] "/plugin_assets/redmine_contacts/stylesheets/contacts.css"): actionpack (3.2.21) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call' actionpack (3.2.21) lib/action_dispatch/middleware/show_exceptions.rb:56:in `call' railties (3.2.21) lib/rails/rack/logger.rb:32:in `call_app' railties (3.2.21) lib/rails/rack/logger.rb:16:in `block in call' activesupport (3.2.21) lib/active_support/tagged_logging.rb:22:in `tagged' railties (3.2.21) lib/rails/rack/logger.rb:16:in `call' actionpack (3.2.21) lib/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' activesupport (3.2.21) lib/active_support/cache/strategy/local_cache.rb:72:in `call' /usr/lib/ruby/vendor_ruby/rack/lock.rb:15:in `call' actionpack (3.2.21) lib/action_dispatch/middleware/static.rb:83:in `call' /usr/lib/ruby/vendor_ruby/rack/cache/context.rb:136:in `forward' /usr/lib/ruby/vendor_ruby/rack/cache/context.rb:245:in `fetch' /usr/lib/ruby/vendor_ruby/rack/cache/context.rb:185:in `lookup' /usr/lib/ruby/vendor_ruby/rack/cache/context.rb:66:in `call!' /usr/lib/ruby/vendor_ruby/rack/cache/context.rb:51:in `call' railties (3.2.21) lib/rails/engine.rb:484:in `call' railties (3.2.21) lib/rails/application.rb:231:in `call' railties (3.2.21) lib/rails/railtie/configurable.rb:30:in `method_missing' /usr/lib/ruby/vendor_ruby/phusion_passenger/rack/thread_handler_extension.rb:77:in `process_request' /usr/lib/ruby/vendor_ruby/phusion_passenger/request_handler/thread_handler.rb:142:in `accept_and_process_next_request' /usr/lib/ruby/vendor_ruby/phusion_passenger/request_handler/thread_handler.rb:110:in `main_loop' /usr/lib/ruby/vendor_ruby/phusion_passenger/request_handler.rb:448:in `block (3 levels) in start_threads'
Die Fehlermeldung ist dabei für jedes Plugin identisch, nur der Pfad variiert halt. Also erstmal auf dem System rummgeschaut was das Problem sein könnte – Pfade, Rechte etc. gecheckt, alles beim alten. Plugins deinstalliert und neu installiert, genau der selbe Fehler. Lösung fand ich dann schließlich hier. Man muss Apache also mitteilen wo plugin_assets zu finden ist, also muss folgendes in der entsprechenden Apache Conf für die Seite ergänzt werden:
Alias "/plugin_assets/" /var/cache/redmine/default/plugin_assets/Allow from all Options -MultiViews Require all granted
Was ich allerdings nicht verstehe ist, wieso dieses Problem vorher nicht auftauchtey, sondern erst nach einem fehlerhaften Plugin. Wenn da jemand vielleicht was genaueres weiß wäre ich hoch erfreut wenn dieser es mir verrät. :)