• Und wer ist…?
  • Holiday Berichte
    • Urlaub Schottland 2013
    • Urlaub Griechenland 2013
  • Services
  • Kontakt/GnuPG

KOKOLOR.ES

Hier geht's einfach mal um alles und nichts!

redmine

Redmine: PDF generieren failed bei Tickets mit U+FFFD Zeichen

6. Juni 2016 by Sebastian Leave a Comment

Ein Kollege hat sich in unserem Redmine eine benutzerdefinierte Abfrage für Abrechnungen gebastelt. Als er aus der Anzeige heraus dann ein PDF genieren wollte, bekam er nur die Error Page von Redmine zu sehen. Als Fehler bekam ich im Log folgendes:

ArgumentError (invalid byte sequence in UTF-8):
  lib/plugins/rfpdf/lib/tcpdf.rb:3037:in `gsub'
  lib/plugins/rfpdf/lib/tcpdf.rb:3037:in `escape'
  lib/plugins/rfpdf/lib/tcpdf.rb:3028:in `escapetext'
  lib/plugins/rfpdf/lib/tcpdf.rb:1748:in `Cell'
  lib/plugins/rfpdf/lib/tcpdf.rb:1968:in `Write'
  lib/plugins/rfpdf/lib/tcpdf.rb:3530:in `block in writeHTML'
  lib/plugins/rfpdf/lib/tcpdf.rb:3501:in `each'
  lib/plugins/rfpdf/lib/tcpdf.rb:3501:in `writeHTML'
  lib/plugins/rfpdf/lib/tcpdf.rb:3612:in `writeHTMLCell'
  lib/redmine/export/pdf.rb:141:in `RDMwriteHTMLCell'
  lib/redmine/export/pdf.rb:483:in `block in issues_to_pdf'
  app/helpers/issues_helper.rb:29:in `block in issue_list'
  app/helpers/issues_helper.rb:25:in `each'
  app/helpers/issues_helper.rb:25:in `issue_list'
  lib/redmine/export/pdf.rb:444:in `issues_to_pdf'
  app/controllers/issues_controller.rb:93:in `block (2 levels) in index'
  app/controllers/issues_controller.rb:86:in `index'

Es stimmte also etwas mit der Codierung nicht. Nun sah ich das in manchen Beschreibungen U+FFFD Charaktere (Unicode Replacement Charaktere) enthalten waren. Als ich dann mal nach dem Problem suchte in Bezug auf das PDF Plugin von redmine, fand ich dann auch einen entsprechenden Forumpost. Also hab ich kurzer Hand, wie beschrieben mal die Datei gepatcht:

patch /usr/share/redmine/lib/plugins/rfpdf/lib/tcpdf.rb < /tmp/tcpdf.diff

Anschließend funktionierte das PDF erstellen wieder ohne Probleme. In neuere Redmine Versionen ist dies natürlich schon behoben, die PPA Version hat aber nie ein Update erfahren, weswegen ich diese auch demnächst ersetzen werde.

Posted in: Arbeit, IT, Opensource Tagged: redmine

Redmine: ActionController::RoutingError

8. Mai 2015 by Sebastian Leave a Comment

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. :)

Posted in: IT, Netzwerk, Opensource Tagged: linux, redmine, trusty, ubuntu

Update zum Artikel Redmine aus dem PPA unter Ubuntu 14.04 installieren

8. Mai 2015 by Sebastian Leave a Comment

Ich habe gestern festgestellt das es bei Ubuntu 14.04.2 während der Installation von redmine-mysql zu einem Fehler kommt, weil während der Installation der activerecord-mysql-adapter noch nicht installiert ist. Die Meldung sieht dann so aus:

rake aborted!
Please install the mysql adapter: `gem install activerecord-mysql-adapter` (cannot load such file -- mysql)

Wenn ihr nun aber versucht das Gem zu installieren werdet ihr mit einem Error abgespeist, der in etwa so aussieht:

Building native extensions.  This could take a while...
ERROR:  Error installing activerecord-mysql-adapter:
	ERROR: Failed to build gem native extension.

        /usr/bin/ruby1.9.1 extconf.rb
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError)
	from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
	from extconf.rb:5:in `
' Gem files will remain installed in /var/lib/gems/1.9.1/gems/mysql-2.9.1 for inspection. Results logged to /var/lib/gems/1.9.1/gems/mysql-2.9.1/ext/mysql_api/gem_make.out

Und zwar benötigt ihr zum Gem installieren das Paket ruby1.9.1-dev. Neben diesem müsst ihr noch make und libmysqlclient-dev installieren sonst lauft ihr direkt in die nächsten Error Meldungen:

apt-get install ruby1.9.1-dev make libmysqlclient-dev

Danach könnt ihr nun wie in der ersten Meldung beschrieben das Gem mittels

gem install activerecord-mysql-adapter

installieren. Danach könnt ihr, wie in meiner Anleitung beschrieben, weiter machen.

Posted in: IT, Linux, Opensource Tagged: linux, redmine, trusty, ubuntu

Redmine aus dem PPA unter Ubuntu 14.04 installieren

24. Juli 2014 by Sebastian 6 Comments

Am gestrigen Abend, auf der ALUG , konnte ich direkt mit meinen gestern geschriebenen Artikel, zu der Redmine Problematik unter Ubuntu 14.04, Christoph helfen sein Redmine erfolgreich aufzusetzen. Da ich in dem Artikel allerdings nur den letzten Schritt genauer beschrieben hab, welcher bei mir am längsten gedauert hat, meinte Christoph ich solle doch mal die komplette Installation in einem Artikel beschreiben, denn vor besagtem Schritt kamen noch ein paar weitere, die so nicht im Redmine.org Wiki, unter Installation aufgeführt sind. Die ersten Schritte kann man jedoch genau wie im Wiki beschrieben durchführen:

Installation von apache2 inkl. Passenger Mod und mysql-server:

apt-get install apache2 libapache2-mod-passenger mysql-server

Danach fügt man das PPA hinzu:

apt-add-repository ppa:ondrej/redmine
apt-get update

Nun kann man das Redmine installieren:

apt-get install redmine redmine-mysql

Solltet ihr bei Ubuntu 14.04.2 hier in einem Fehler laufen, der euch mitteilt das ihr doch bitte den activerecord-mysql-adapter installieren sollt -> Guckt ihr hier.

Nach der Installation linken wir das public Verzeichnis von Redmine nach /var/www:

ln -s /usr/share/redmine/public /var/www/redmine

Als nächstes fügen wir in der Datei /etc/apache2/mods-available/passenger.conf hinzu:

PassengerDefaultUser www-data

In der Datei /etc/apache2/sites-available/000-default.conf folgendes ergänzen:


    RailsBaseURI /redmine
    PassengerResolveSymlinksInDocumentRoot on

In apache2 Version 2.4.7 liegt die Testseite nicht mehr unter /var/www/index.html sondern nun einen Ordner tiefer unter /var/www/html. Deshalb müsst ihr, wenn ihr die 000-default.conf nutzt, den DocumenRoot ändern nach:

DocumentRoot /var/www

Wenn es bei euch nicht schon während der Installation geschehen ist, müsst ihr nun noch das Passenger Modul laden und apache2 einmal neu starten:

a2enmod passenger
service apache2 restart

So laut den Anleitungen von redmine.org und ubuntuusers.com war es das nun. Ich denke aber das beide noch auf 12.04 basieren, denn soweit ich mich erinnern kann, kam da wirklich nicht mehr viel.
Ruft man nun Redmine im Browser auf, kommt eine Ruby Fehlerseite die einem mitteilt das Bundler benötigt wird. Soweit ich weiß war es bei früheren Versionen nicht nötig diesen nach zu installieren, da er bereits bei der allgemeinen Installation mit kam. Also Bundler installieren:

gem install bundler

So nun kommt man zumindest schonmal auf die Redmine Seite (Login übrigens admin admin, falls das jemand nicht wissen sollte) und auf den ersten Blick scheint auch erstmal alles zu laufen. Fängt man allerdings an Einstellungen zu tätigen oder Projekte anzulegen etc., merkt man sehr schnell das da etwas noch nicht stimmen kann, denn er wird nur einen Internal Server Error gemeldet:

Internal error   An error occurred on the page you were trying to access.
  If you continue to experience problems please contact your Redmine administrator for assistance.
  If you are the Redmine administrator, check your log files for details about the error.

Im Log stand folgendes:

Processing by ProjectsController#new as HTML
 Current user: admin (id=1)
 Rendered projects/_form.html.erb (19.1ms)
 Rendered projects/new.html.erb within layouts/base (23.2ms)
Completed 500 Internal Server Error in 177.2ms

ActionView::Template::Error (incompatible character encodings: UTF-8 and ASCII-8BIT):
    46: <% @trackers.each do |tracker| %<
    47: 
    51: <% end %>
    52: <%= hidden_field_tag 'project[tracker_ids][]', '' %>
  app/views/projects/_form.html.erb:49:in `block in _app_views_projects__form_html_erb___3771736160522816434_58407040'
  app/views/projects/_form.html.erb:46:in `each'
  app/views/projects/_form.html.erb:46:in `_app_views_projects__form_html_erb___3771736160522816434_58407040'
  app/views/projects/new.html.erb:4:in `block in _app_views_projects_new_html_erb___2519767256062977845_56777180'
  app/helpers/application_helper.rb:1042:in `labelled_form_for'
  app/views/projects/new.html.erb:3:in `_app_views_projects_new_html_erb___2519767256062977845_56777180'

Er hat also irgendwelche Probleme mit inkompatiblen Kondierungen. So sieht das zumindest für mich aus. Die Recherche zeigte das hier die Änderung des MySQL Adapters in der Datei /etc/redmine/default/database.yml Besserung bringen soll. Man ändert also folgende Zeile in:

production:
  adapter: mysql2

Da nur das Gem für den Adapter mysql installiert ist müssen wir nach das für mysql2 installieren. Davor müssen allerdings noch 3 Pakete nachinstalliert werden:

apt-get install libmysqlclient-dev make ruby-dev

Ob jetzt das Paket make gebraucht wird weiß ich gar nicht genau. Wenn man den Adapter über gem install installiert brauchen man ihn jedenfalls. Wir benutzen dafür allerdings Bundler, denn mit gem install mysql2 erreicht man gar nichts. Man wechselt nun in das Verzeichnis /usr/share/redmine und fügt hier am Ende der Datei Gemfile folgendes ein:

gem 'mysql2'

Im Anschluss führt man in dem Verzeichnis

bundle update

aus, welches dann das mysql2 Gem installiert. Nun startet man noch einmal den apache2 neu und schon ist es geschafft. Redmine sollte nun laufen.

Posted in: IT, Linux, Opensource Tagged: linux, redmine, trusty, ubuntu

Kriese bei Redmine Installation unter Ubuntu 14.04 aus PPA

23. Juli 2014 by Sebastian Leave a Comment

#UPDATE: Auf einen Wunsch hin habe ich in einem weiteren Beitrag die komplette Anleitung zur Installation von Redmine unter Ubuntu 14.04 beschrieben

Ich habe gerade ein neues Redmine aus dem PPA ppa:ondrej/redmine installiert, welches auch nach der Installation erstmal zu laufen schien. Wollte man jedoch z.B. ein neues Projekt anlegen oder an der Konfiguration rummstellen, bekam man die für Redmine typische Seite, wenn man etwas falsch konfiguriert hat. Im Log sagte er mir folgendes:

Processing by ProjectsController#new as HTML
 Current user: admin (id=1)
 Rendered projects/_form.html.erb (19.1ms)
 Rendered projects/new.html.erb within layouts/base (23.2ms)
Completed 500 Internal Server Error in 177.2ms

ActionView::Template::Error (incompatible character encodings: UTF-8 and ASCII-8BIT):
    46: <% @trackers.each do |tracker| %>
    47: <label class="floating">
    48: <%= check_box_tag 'project[tracker_ids][]', tracker.id, @project.trackers.include?(tracker), :id => nil %>
    49: <%=h tracker %>
    50: </label>
    51: <% end %>
    52: <%= hidden_field_tag 'project[tracker_ids][]', '' %>
  app/views/projects/_form.html.erb:49:in `block in _app_views_projects__form_html_erb___3771736160522816434_58407040'
  app/views/projects/_form.html.erb:46:in `each'
  app/views/projects/_form.html.erb:46:in `_app_views_projects__form_html_erb___3771736160522816434_58407040'
  app/views/projects/new.html.erb:4:in `block in _app_views_projects_new_html_erb___2519767256062977845_56777180'
  app/helpers/application_helper.rb:1042:in `labelled_form_for'
  app/views/projects/new.html.erb:3:in `_app_views_projects_new_html_erb___2519767256062977845_56777180'

Damit konnte ich erstmal nix anfangen. Ich seh das er irgendwelche Probleme mit den Kodierungen hat, das wars aber auch schon. Nach kurzer Suche bei Google war die Lösung gefunden – den Datenbank Adapter unter /etc/redmine/default/database.yml von mysql in mysql2 ändern. Das kam mir sogar noch aus vorherigen Redmine Installationen bekannt vor. Nachdem das geändert wurde, musste nun natürlich auch noch das entsprechende Ruby Gem installiert werden:

apt-get install libmysqlclient-dev make ruby-dev
gem install mysql2

Die Pakete libmysqlclient-dev make und ruby-dev musste ich noch vorher installieren, sonst schlug die Installation des Ruby Gem’s fehl. Danach startete ich den apache2 neu und nun verlangte er das nächste Gem und zwar activerecord-mysql2-adapter. Also das auch noch installiert, apache2 Neustart und…..er will immer noch dieses Gem haben. Die Fehlermeldung sah wie folgt aus:

Please install the mysql2 adapter: `gem install activerecord-mysql2-adapter` (cannot load such file -- mysql2)

Nachdem ich dann eine ganze Weile rummprobiert und gesucht habe fand ich die Lösung.
Also die beiden Gems erstmal wieder deinstalliert:

gem uninstall mysql2
gem uninstall activerecord-mysql2-adapter

Danach habe ich das mysql2 Gem in das Gemfile unter /usr/share/redmine/Gemfile hinzugefügt:

gem 'mysql2'

Nach dem speichern habe ich dann

bundle update

ausgeführt und anschließend den apache2 neugestartet und siehe da, es geht.

Posted in: Arbeit, IT, Linux, Opensource Tagged: linux, redmine, trusty, ubuntu

Social Shit

Fediverse PGP-Key XMPP Matrix Git Github

Kategorien

  • Allgemein
  • Android
  • Anime
  • Arbeit
  • Entertainment
  • Games
  • Handy
  • IT
  • Linux
  • Monitoring
  • Netzwerk
  • Opensource
  • Privates
  • QEK Junior
  • Rattis
  • Showtime Ost
  • Showtime West
  • Windows

Interessantes

  • World of Edolas
  • 5222.de
  • Lainblog
  • chr.istoph's Blog

Archive

  • Juni 2023
  • August 2019
  • Oktober 2018
  • März 2018
  • Dezember 2017
  • Juli 2017
  • Juni 2017
  • Mai 2017
  • März 2017
  • Februar 2017
  • Januar 2017
  • Dezember 2016
  • November 2016
  • September 2016
  • August 2016
  • Juli 2016
  • Juni 2016
  • Mai 2016
  • April 2016
  • März 2016
  • Februar 2016
  • Dezember 2015
  • November 2015
  • September 2015
  • August 2015
  • Juli 2015
  • Juni 2015
  • Mai 2015
  • April 2015
  • März 2015
  • Februar 2015
  • November 2014
  • Oktober 2014
  • August 2014
  • Juli 2014
  • Juni 2014
  • Mai 2014
  • April 2014
  • März 2014
  • Februar 2014
  • Dezember 2013
  • November 2013
  • Oktober 2013
  • September 2013
  • August 2013
  • Juli 2013
  • April 2013
  • März 2013
  • Februar 2013
  • Januar 2013
  • Dezember 2012
  • November 2012
  • September 2012
  • Juli 2012
  • Juni 2012
  • Mai 2012
  • Februar 2012
  • Januar 2012

Tags

android anime apt bash bugs debian freifunk freifunk-aachen gnome hardware htpc kernel linux lucid lxc mdadm mint monitoring mysql network nginx openwrt outdoor package pgp php postgres precise raid redmine squeeze telekom testing trusty ubuntu virtualization vserver wheezy windows xbmc xenial xorg xubuntu zabbix zarafa

Datenschutzerklärung | Impressum

Copyright © 2025 KOKOLOR.ES.

Omega WordPress Theme by ThemeHall