Es gehört schon ein bisschen Wagemut dazu mit dem Ziel in wenigen Stunden eine voll integrierte Kollaborationsumgebung auf Basis von Joomla, openLDAP und MediaWiki zu installieren, aber nach einigen Jahren Erfahrung im Open Source Software Umfeld, weiß man auch: „Geht nicht, gibts nicht“.
Man könnte aber auf die Idee kommen, das Ganze einfach „standalone“ zu installieren. Leicht zu warten und anzuwenden wäre dies jedoch nicht. Jeder Nutzer müsste sich zum Beispiel zwei Passwörter merken, oder der Admin müsste mit aufwendigen Skripten sicherstellen, dass die Passwörter synchron gehalten werden. Kommen neue Anwendungssysteme hinzu, wird es erneut komplexer. Das ist entweder für die Nutzer ungeschickt oder aber für den Admin reine Arbeitsbeschaffungsmaßnahme. Beides sollte / will man der Effizienz halber vermeinden.
Nach der Grundinstallation des Servers auf Basis von Ubuntu 10.04 LTS in einer virtuellen VMware Umgebung und Einrichtung des Symantec NetBackup (beides proprietäre Lösungen), war das aktuelle Joomla Content Management System (CMS) in der Version 1.6.3 mit wenigen Handgriffen installiert. Das Anpassen eines Templates auf das von der Gesellschaft für Informatik geprägte Coporate Identity ist erfahrungsgemäß deutlich aufwendiger, als das Installieren von Joomla selbst.
Nach Joomla wurde OpenLDAP mit folgendem HowTo installiert. Nach einem Test und mehrfachem Droppen und Wiederaufsetzen der Ldap Datenbank, konnte es losgehen. Zunächst das folgende Basisschema mit
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f backend.ldif
# Load dynamic backend modules
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulepath: /usr/lib/ldap
olcModuleload: back_hdb
# Database settings
dn: olcDatabase=hdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {1}hdb
olcSuffix: dc=gi,dc=local
olcDbDirectory: /var/lib/ldap
olcRootDN: cn=admin,dc=gi,dc=local
olcRootPW: password
olcDbConfig: set_cachesize 0 2097152 0
olcDbConfig: set_lk_max_objects 1500
olcDbConfig: set_lk_max_locks 1500
olcDbConfig: set_lk_max_lockers 1500
olcDbIndex: objectClass eq
olcLastMod: TRUE
olcDbCheckpoint: 512 30
olcAccess: to attrs=userPassword by dn=“cn=admin,dc=gi,dc=local“ write by anonymous auth by self write by * none
olcAccess: to attrs=shadowLastChange by self write by * read
olcAccess: to dn.base=““ by * read
olcAccess: to * by dn=“cn=admin,dc=gi,dc=local“ write by * read
eingelesen und einen Testnutzer mit folgendem ldif-file gefolgt von
sudo ldapadd -x -D cn=admin,dc=gi,dc=local -W -f user.ldif
angelegt.
dn: uid=ttester,ou=people,dc=gi,dc=local
objectClass: inetOrgPerson
objectClass: shadowAccount
uid: ttester
sn: Tester
cn: Test Tester
mail: test.tester@test.com
userPassword: testerchenTest
Danach die LdapAuthentication als Mediawikierweiterung für das MediaWiki installieren und anhand des folgenden HowTow’s konfigurieren. Im Joomla verfügt die Komponente Authentication – LDAP bereits über die notwendige Schnittstelle zum Ldap. Für unsere zwecke genügt die Prüfüng der Rechtmässigkeit der Anmeldung und Konfiguration laut dem folgenden HowTo. Es lassen sich jedoch danach auch eigene Joomla Schemata im LDAP realisieren, wovon wir jedoch abgesehen haben. Nach der Erstanmeldung durch den Anwender kann der Joomla SuperAdmin entsprechend granuliertere Berechtigungen vergeben. Zum Zwecke der Passwortänderung durch den Nutzer haben wir noch das allerdings nicht mehr gepflegte phpLdapPasswd installiert und konfiguriert.
Danach noch mit einen bisschen Javacode aus einer CSV-Tabelle das o.g. user.ldif generiert und damit die LDAP Datenbank gefüttert. Im Ergebnis steht nach circa 10 Stunden Arbeit
- Vollvirtualisierter Server
- Installiertes Betriebssystem
- Eingerichtetes Backup
- Eingerichteter und konfigurierter Webserver (LAMP)
- Mediawiki und Joomla (inkl. Templating)
- Authentifikationsintegration mittel LDAP
Fazit: Das wäre in ähnlicher Zeit und zudem lizenzkostenfrei mit proprietärer Software alleine nicht möglich gewesen.
Hi,
kannst du etwas genauer auf die Einrichtung des Basisschema eingehen, ich verstehe nicht richtig was ich wie machen muss.
vielen Dank & liebe Grüße
Martin
Also im Grund stehen die notwendigen Imports in der Ubuntu Hilfe gut beschrieben. Nachdem du die Standardschemata
mit
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/nis.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/inetorgperson.ldif
angelegt hast. Das backend.example.com.ldif file angepasst (hier müsstest du natürlich bereits beginnen“example“ und „com“) zu ersetzen.
Dann noch die frontend.example.com.ldif entsprechend anpassen und laden. (Hinweis: ich habe in der frontend.example.com.ldif nicht gleiche einen ersten User angelegt (im Beispiel John Doe). Sondern erstmal
phpLdapAdmin installiert. Mit diesem webbasierten Frontend, geht das alles um einiges schicker dann ‚-)
Ich hoffe das hilft weiter
Gruß Frederik