Redmine aus dem PPA unter Ubuntu 14.04 installieren
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.