Plone ist schon ein schickes CMS. Bei mehreren Nutzern wird es allerdings schnell lästig diese innerhalb von Plone bzw. Zope zu verwalten. Gerde dann, wenn mehrere Plattformen die gleichen Nutzer haben – zum Beispiel ein Wiki, Plone, ein Dokumentenmanagementsystem und noch ein Forum – fällt Mehrfacharbeit an um Änderungen an einem User in allen Plattformen anzuwenden. Ein LDAP-Server kann da helfen.
Nachdem ich zahlreiche Anleitungen zu diesem Thema gefunden habe und leider keine wirklich eindeutig mit Links zu benötigter Software, Versionsangaben und Hinweisen auf Stolpersteinen war, möchte ich diesem Mißstand mit diese Tutorial Abhilfe leisten.
Es gibt verschiedene Wege Plone LDAP beizubringen. Der (angeblich) einfachere Weg, welcher jedoch auch nur für simple LDAP-Konfigurationen taugen soll, ist über PloneLDAP und simplon.plone.ldap. Da wir uns nachher nicht darüber Ärgern möchten, dass wir die weniger leistungsfähige Variante gewählt haben (und wir ja obendrein dieses klasse Tutorial haben, welches uns jede Arbeit abnimmt
), machen wir es auf die harte Tour.
- Zunächst wird ein frisch installiertes Plone (bei mir v3.0.6) benötigt.
- Dann muss das python-ldap modul installiert werden, damit Python mit dem LDAP sprechen kann. Es kann bei sourceforge heruntergeladen werden. TIPP: Wenn man Suse als OS nutzt, kann python-ldap über yast installiert werden. Falls nicht installiert man python-ldap mittels EasyInstall von den setuptools:
- herunterlden von ez_setup.py
- auf der Konsole ein python ./ez_setup.py absetzen und schon sollte ez-install sich selbstätig installiern
- jetzt kann mittels
easy_install http://svn.kmrc.de/download/distribution/python_ldap-2.3.4-py2.4-linux-i686.egg python-ldap
auf Euer Kiste installiert werden. - Wenn alles gut ging, könnte Ihr jetzt in den Zope-Ordner ( opt/Plone-3.0.6/zinstance/bin ) wechseln und dort erst
python
starten und dann ein
import _ldap
absetzen. Wenn das keine Fehler produziert, habt ihr python-ldap erfolgreich installiert. Ihr könnt python dann wieder über CTRL-D verlassen.
- Nun muss LDAPUserFolder (bei mir Version 2.8) und LDAPMultiPlugin (bei mir Version 1.5) installiert werden. Das geht relativ unkompliziert. Es müssen einfach nur die beiden Archive in den Products-Ordner entpackt werden. Bei mir lautet dieser /opt/Plone-3.0.6/zinstance/Products. WICHTIG: Die entpackten Order und deren Inhalte müssen dem plone user gehören. Das erreicht man geschwind, indem man aus dem Products-Odner heraus ein:
chown -R plone: ./LDAPMultiPlugins/
und dann noch ein
chown -R plone: ./LDAPUserFolder/
absetzt. - Jetzt kann man Zope neu starten:
sudo /opt/Plone-3.0.6/zinstance/bin/zopectl stop
und
sudo /opt/Plone-3.0.6/zinstance/bin/zopectl start - Wenn Ihr jetzt im Zope-Management-Interface im Ordner Euer Plone Instanz (WICHTIG: Nicht im Root von Zope) auf acl_users klickt, kann im oberen rechten Pull-Down-Menü Plone LDAP ausgewählt werden um die Authentifizierung mittels LDAP einzurichten. Falls in dem Menü der LDAP-Eintrag nicht erscheint, kann es daran liegen, dass vor der Installation von Plone bereits ein Python-Interpreter installiert war. Erste Hinweise können in den Log-Dateien von Zope gefunden werden.
TIPP: Ich habe knapp 2 Tage gebraucht um herauszufinden, dass der LDAP-Benutzername kein Leerzeichen enthalten darf!