Redmine Logo

Was sind „Cool Solutions“?

Als „Cool Solutions“ bezeichnen wir bei Univention Lösungen, die UCS um sinnvolle und nützliche Funktionen erweitern und die erfolgreich bei unseren Kunden zum Einsatz kommen. Diese Lösungen stellen wir regelmäßig im Univention Wiki als Cool Solutions Artikel vor.

Im Univention Blog stellen wir Ihnen die beliebtesten „Cool Solutions“ vor. Heute geht es weiter mit Redmine, einer freien Projektmanagementsoftware, die wir im Professional Services seit Jahren für die interne Verwaltung und Abstimmung von Kundenprojekten einsetzen.

Was ist Redmine?

Redmine ist eine freie Projektmanagementsoftware, die in Ruby geschrieben wurde. Mit Redmine ist es möglich, Aufgaben in Projekten zu organisieren, Projekte in Sub- oder Unterprojekte aufzuteilen und Mitgliedern des Redmine diese Aufgaben zur Bearbeitung zuzuweisen.

Es beinhaltet unter anderem folgende Features:

  • Projektplanung und -management
  • Issue-Tracking-System
  • Wiki und Diskussionsforum
  • Repository und Zugriff auf Versionsverwaltungssysteme
  • Berechtigungssystem
  • News und Benachrichtigungssystem

Vergleichbar ist Redmine mit dem Python-Tool „Trac“, wobei der Fokus hier weniger auf der Entwicklung von Software liegt, sondern auf der Projektarbeit.

Anders als Trac kann Redmine von Haus aus mit mehreren Versionsverwaltungssystemen umgehen:

  • Subversion (SVN)
  • Darcs
  • Mercurial
  • Cvs
  • Bazaar
  • git

Redmine erkennt bei der Aktivierung eines der Verwaltungssysteme, ob dieses auf dem System installiert und verfügbar ist und übernimmt automatisch die Integration.

Wie wird Redmine installiert?

Sie können Redmine entweder über die lokale Paketverwaltung installieren und erhalten somit darüber auch automatisch Updates oder Sie installieren Redmine manuell auf dem System. Hierfür können Sie z. B. eine Anleitung nutzen, die Redmine auf einem Debian 9 installiert. Da UCS ebenfalls auf Debian 9 basiert, ist die Anleitung somit problemlos anwendbar.

Wie konfiguriere ich Redmine?

Die Konfiguration von Redmine erfolgt direkt im Webbrowser. Hierfür müssen Sie sich mit einem Konto in Redmine anmelden, welches über administrative Rechte verfügt. Für Benutzer mit entsprechenden Rechten gibt es zusätzlich den Menüpunkt Administration.

In diesem Blogartikel gehe ich nur auf die LDAP-Konfiguration ein. Eine ausführliche Dokumentation zur Konfiguration ist auf der Projektwebseite von Redmine zu finden.

LDAP-Anbindung

Über die Administration im Bereich „LDAP-Authentifizierung“ kann über den Button Neuer Authentifizierungs-Modus eine neue LDAP-Verbindung hinterlegt werden.

Screenshot Redmine LDAP

Die Pflichtfelder sind mit einem Sternchen versehen:

  • Name
  • Host
  • Port
  • Base-DN
  • Mitgliedsname-Attribut

In das Feld Name kann ein beliebiger Name für die LDAP-Verbindung eingegeben werden. In das Feld Host muss der FQDN des LDAP-Servers eingetragen werden. In das Feld Port muss der entsprechende LDAP-Port eingetragen werden, bei UCS ist dies „7389“. Das Feld Base-DN benötigt die LDAP-Basis. Diese kann auf der Kommandozeile über den Befehl

ucr get ldap/base

ermittelt werden. Alternativ kann diese Information auch in der UMC in der Lizenzinformation abgerufen werden (über das Benutzermenü → Lizenz → Lizenzinformation). Wenn das LDAP eine anonyme Suche (ohne Authentifizierung) zulässt, können Benutzer sich jetzt anmelden, sofern diese bereits in der Redmine-Datenbank vorhanden sind.

Wenn das LDAP nicht anonym durchsucht werden kann, was in UCS Standard ist, muss zusätzlich ein Benutzer für die Suche im LDAP angegeben werden. Hierfür sind die Felder

  • Konto
  • Kennwort

entsprechend auszufüllen. In das Feld Konto muss die DN des Benutzers eingetragen werden, mit welchem die LDAP-Suche durchgeführt werden soll. Die DN für einen Benutzer kann über die Kommandozeile mit dem Befehl

univention-ldapsearch -LLL uid=searchuser dn

ermittelt werden. Das Feld Kennwort erfordert das Passwort für diesen Benutzer. Es wird empfohlen, für Suchen im LDAP einen separaten Benutzer anzulegen. Hierfür gibt es im Univention Wiki den Artikel Cool Solution – LDAP search user.

Die weiteren Felder

  • LDAP-Filter
  • Auszeit (in Sekunden)
  • On-the-fly-Benutzererstellung

sind optional. Im Feld LDAP-Filter kann über einen Filter eingestellt werden, dass sich z. B. nur Benutzer mit einer E-Mail Adresse in Redmine anmelden dürfen, oder dass der Benutzer mit einer bestimmten Objekt-Klasse verknüpft sein muss. Über das Feld Auszeit (in Sekunden) kann eingestellt werden, wie lange die Anmeldung über das LDAP versucht werden soll, bevor es zu einem Abbruch kommt. Mit dem letzten Feld On-the-fly-Benutzererstellung kann gesteuert werden, ob ein Benutzer, sofern dieser noch nicht vorhanden ist, in Redmine angelegt werden soll.

Screenshot Redmine

Über die vier Felder in der nächsten Tabelle „Attribute“ können Informationen aus dem LDAP an Redmine übergeben werden. Es muss jeweils das LDAP-Attribut angegeben werden, aus welchem die Informationen aus dem LDAP ausgelesen werden sollen. Das Feld Mitgliedsname-Attribut ist ein Pflichtfeld und muss als LDAP-Attribut den Benutzernamen übergeben bekommen, bei UCS ist dies „uid“. Das Feld Vorname-Attribut kann das LDAP-Attribut für den Vornamen enthalten, bei UCS ist dies „givenName“. In das Feld Name-Attribut kann das LDAP-Attribut für den Nachnamen eingetragen werden, bei UCS ist dies „sn“. Und in das Feld E-Mail-Attribut kann das LDAP-Attribut eingetragen werden, welches eine E-Mail Adresse enthält. Bei UCS können hier die LDAP-Attribute

  • mail
  • mailAlternativeAddress
  • mailPrimaryAddress

verwendet werden. Diese drei optionalen Attribute werden nur bei der Benutzererstellung ausgefüllt und können durch den Benutzer später in den Benutzereinstellungen geändert werden.

Abschließend wird die Konfiguration gespeichert und ein Anmelden mit dem Domänenbenutzer an Redmine ist möglich. Als Anmeldename wird der jeweilige Benutzername (LDAP Attribute „uid“) verwendet sowie sein zugehöriges Passwort. Bei der ersten Anmeldung wird, wenn das Feld On-the-fly-Benutzererstellung aktiviert wurde, der Benutzer im Redmine angelegt. Ein Passwort wird jedoch nie in der Redmine-Datenbank gespeichert, denn die Authentifizierung der Benutzer erfolgt immer gegen das UCS LDAP.

Weiterführende Links

UCS Core Edition jetzt kostenfrei einsetzen!

Zum Downloadbereich

Timo Denissen beschäftigt sich seit 1997 mit Linux-basierten Themen. Er begann seine Ausbildung zum Fachinformatiker (Fachrichtung Systemintegration) in 2010 und war von 2013 bis 2017 im Professional Services Team. Seit 2017 ist er als System Administrator bei Univention tätig.

Was ist Ihre Meinung? Hinterlassen Sie einen Kommentar!

Kommentare

  1. Hey,

    wieso findet man Redmine bis Heute nicht im App Center? Wäre Redmine in einem Docker nicht ideal?

    Gruß

    Alex

    Antworten
    • Hallo Alex,

      danke für deinen Kommentar. Ja, zu Redmine gibt es sogar einen offiziellen Docker Container auf Docker Hub und ich fände es auch gut, diese Applikation auch als App zu haben.

      Es ist nur leider so, dass sowas immer von jemandem gemacht werden muss und dieser Jemand hat sich bis dato noch nicht gemeldet. Unsere Priorität liegt derzeit nicht auf der Bereitstellung von Redmine.

      Welche Funktionalität würdest du benötigen, die dir nur Redmine bereit stellen kann?

      Hast du schonmal einen Blick auf OpenProject geworfen? Könnte es deine Anforderungen erfüllen?

      Gruß, Nico.

      Antworten
      • Hallo Nico,

        danke für dein Kommentar. Ja das stimmt natürlich. Ich bin da leider noch weit von entfernt, sowas zu übernehmen.

        Ja ich habe mir Openproject angeschaut, leider ist es zum Teil kostenpflichtig. Redmine ist da zum Großteil besser anpassbar.

        Gruß
        Alex

        Antworten

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