Probleme mit RedmineCRM und Ubuntu 14.04 lösen

RedmineCRM bietet mehrere hervorragende Plugins für Redmine an. Besonders interessant war für mich das Invoices-Plugin, dass ich gestern installiert habe. Wenn es erstmal installiert ist, erleichtert Arbeitsabläufe ungemein. Leider war die Installation unter Ubuntu 14.04 nicht ganz problemlos, falls jemand anderes ebenfalls damit zu kämpfen hatte, hier ein paar Hinweise (vollständige Pfade in den folgenden Beispielen zwecks weniger Verwirrung):

  1. Falls dies die ersten Plugins sind, die man einrichtet, gibt es in /usr/share/redmine ggf. kein plugins-Verzeichnis. Dies kann einfach per mkdir /usr/share/redmine/plugins angelegt werden. Die Verwendung von vendor/plugins ist deprecated und führt zu Problemen, wie ich feststellen musste. In das neu angelegte Plugins-Verzeichnis werden die von RedmineCRM heruntergeladenen Plugins kopiert und entpackt.
  2. Es steht zwar in der Dokumentation, aber ich habs trotzdem überlesen: Manche Plugins (Invoices, Helpdesk) erwarten als Dependency das CRM-Plugin (redmine_contacts), dieses also vor den anderen installieren!
  3. Es gibt zum Thema Ubuntu 14.04 und RedmineCRM einen (etwas versteckten, da nicht direkt von der Dokumentation verlinkten) FAQ-Eintrag von RedmineCRM. Die Hinweise daraus sollten unbedingt befolgt werden! Da ich allerdings etwas besorgt war, meine Datenbankkonfiguration (database.yml) durch die dort zum Download angegebene Datei zu ersetzen, habe ich nur in /etc/redmine/default/database.yml den Adapter von mysql in mysql2 geändert und einen Symlink zur database.yml in /usr/share/redmine/config/ platziert, das hat auch gut funktioniert: ln -s /etc/redmine/default/database.yml /usr/share/redmine/config/
  4. Aus mir bisher unbekannten Gründen wurden die plugin-assets (Javascript, Bilder, CSS) nicht in das vorgesehene Verzeichnis verschoben (dies sollte eigentlich automatisch geschehen und zwar von /usr/share/redmine/plugins/*PLUGIN-NAME*/assets jeweils nach /usr/share/redmine/public/plugin_assets/*PLUGIN-NAME*/
    Ich war zudem Zeitpunkt etwas genervt und habe einfach alles manuell kopiert, da gibts sicher eine bessere Lösung für. So ging ich vor:
    mkdir /usr/share/redmine/public/plugin_assets/plugin_contacts
    cp -R /usr/share/redmine/public/plugins/plugin_contacts/assets/* /usr/share/redmine/public/plugin_assets/plugin_contacts/
  5. Die Datenbankeinrichtung des CRM-Plugins hat bei mir nicht richtig funktioniert, weshalb ich die Tabelle contacts manuell anlegen musste (andere Tabellen wurden seltsamerweise korrekt angelegt). Das Datenbankschema wird durch die Dateien in /usr/share/redmine/plugins/redmine_contacts/db/migrate/ definiert. Diese habe ich mir durchgelesen und manuell die Tabelle contacts angelegt (siehe 016_create_contacts.rb, 028_add_cached_tag_list_to_contacts.rb, 029_add_visibility_to_contacts.rb). Ich habe als Datentyp für alle t.string-Einträge VARCHAR, für t.boolean TINYINT(1) UNSIGNED verwendet. Keine Ahnung ob das so intendiert ist, aber es funktioniert. Wenn nicht explizit :null => false dabei steht, ist NULL erlaubt. Mir ist nach wie vor unklar, wie es zu dem Fehler kommen konnte und kann daher nur empfehlen nach der Installation zu prüfen, ob alle benötigten Tabellen mit allen benötigten Feldern angelegt wurden.
  6. Nicht vergessen nach der Installation den Webserver neu zu starten, z. B. bei Apache via service apache2 restart

Vielleicht hilfts ja jemandem weiter.

Kommentar verfassen