|
1. Voraussetzungen
Bevor
die Installation des "Scalix Plugin für LDAP Account Manager"
begonnen werden kann, muss eine lauffähige Umgebung des Scalix
Servers und LAM geschaffen werden. Ebenso müssen auf beiden
Server root Rechte verhanden sein (Scalix und OpenLDAP Server).
1.1. LDAP Account Manager
Der LDAP Account Manager muss
bereits soweit installiert sein, so dass User und Gruppen angelegt
/ bearbeitet werden können. Sollte dies nicht der Fall sein,
so ist hier eine Installationsanleitung zu finden:
http://lam.sourceforge.net/documentation/index.htm
Als Version wird 2.2.0 oder höher empfohlen.
1.2. Scalix Server
Am Scalix
Server muss bereits die Grundinstallation durchgeführt sein,
um dieses Plugin zu installieren. Sollte der OpenLDAP Dienst und
der Scalix auf dem selben Server laufen, so muss vom Scalix LDAP
der Port geändert werden (zB. auf Port 3890). Eine genaue Anleitung
der Portumstellung ist zu finden unter:
Scalix Wiki - Change the default Scalix ldap port from 389
1.3. OpenLDAP Server
Der Scalix
Server sowie der Server, auf den der LDAP Account Manager läuft,
müssen schreibend auf den OpenLDAP Server zugreifen können.
Außerdem muss Samba soweit eingerichtet sein, dass er mit
dem OpenLDAP Server zusammenarbeitet.
2. Installation
Das ZIP
Paket, dass Sie per E-Mail erhalten haben, entpacken Sie und verteilen
die Ordner auf die jeweiligen Server. In welchem Verzeichnis die
Ordner auf den Servern gespielt werden, ist im Moment noch egal.
2.1. OpenLDAP
OpenLDAP
benötigt ein neues Schema, welches im Ordner "openldap" des
ZIPs zu finden ist. Diese Datei (scalix.schema) wird nach /etc/openldap/schema/
kopiert. Jetzt wird noch die Konfigurationsdatei des OpenLDAP Servers
bearbeitet. Unter SuSE befindet sich diese unter "/etc/openldap/slapd.conf".
Ziemlich am Beginn der Datei ist folgendes zu finden (kann sich etwas abweichen):
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema
include /etc/openldap/schema/yast.schema
include /etc/openldap/schema/samba3.schema
Am Ende der "include" Befehlen wird folgendes eingefügt:
include /etc/openldap/schema/scalix.schema
Nach der
Änderung sollte es nun folgendermaßen aussehen (eingefügte
Zeile wird fett hervorgehoben):
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema
include /etc/openldap/schema/yast.schema
include /etc/openldap/schema/samba3.schema
include /etc/openldap/schema/scalix.schema
Durch
das einfügen der Zeile stehen dem LDAP Server neue Attribute,
die für das Scalix Modul benötigt werden, zur Verfügung.
Jetzt wird am Ende der Konfigurationsdatei noch folgende Zeile eingefügt:
index scalixScalixObject eq
Durch
diese Zeile wird nun ein Index auf das "scalixScalixObject" erstellt,
um Zugriffe auf dieses Attribute zu beschleundigen.
Jetzt muss nur mehr der OpenLDAP Server neu gestartet werden, dann ist schon mal der erste Teil der Konfiguration erledigt:
/etc/init.d/ldap stop
/etc/init.d/ldap start
2.2. LDAP Accout Manager
Der Inhalt
des Ordners "ldap_account_manager" wird ins Verzeichnis des "LDAP
Account Managers" kopiert. Wenn z.B. die zu kopierenden Dateien
unter "/root/ldap_account_manager" liegen und der LDAP Account Manager
selber unter "/srv/www/htocs/lam" liegt, so sieht der Befehl folgendermaßen
aus:
cp /root/ldap_account_manager/* /srv/www/htdocs/lam/ -R
Durch
diesen Kopiervorgang existieren im LAM 2 neue Dateien, diese sollte
nun unter folgenden Pfad liegen (Der Pfad zum LDAP Account Manager
kann bei ihnen etwas abweichen):
/srv/www/htdocs/lam/lib/modules/scalixUser.inc
/srv/www/htdocs/lam/lib/mdules/scalixGroup.inc
Nun muss dieses Modul nur mehr
im LDAP Account Manager aktiviert werden. Dazu geht man auf die
Startseite des LAMs -> LAM-Einstellungen -> Serverprofile ändern
-> Passwort eingeben und einloggen.

Jetzt auf den Button "Module
ändern" klicken. In der Kategorie "Benutzer" und "Gruppen" gibt
es jeweils ein Modul namens "Scalix". Diese 2 Module werden nun
aktiviert, indem diese jeweils markiert und zu "Ausgewählte Module"
verschoben werden. Nun sollte es so aussehen:

Jetzt noch auf OK klicken.
Nun müssen in der Konfiguration noch die Mailnode(s) und E-Mail
Domain(s) des Scalix Server eingetragen werden. Pro Zeile wird immer
eine E-Mail Domain / Mailnode eingetragen:
Nun noch auf "OK" klicken, um
das ganze abzuspeichern. Wenn man sich nun im LAM einloggt und einen
neuen User/ neue Gruppe anlegt oder bearbeitet, so gibt es einen
neuen Tab namens "Scalix".
2.3. Scalix Server
Die Konfiguration des Scalix Servers erfolgt in 2 Schritten:
2.3.1. Single Sign On
"Single Sign On" dient dazu,
dass die Passwortauthentifizierung der Benutzer nicht mehr am Scalix
Server erfolgt, sondern gegen den OpenLDAP Server. Das beudetet,
wird das Passwort eines Users im LAM auf "12345" geändert,
so kann er sich am Samba und auch am Scalix mit dem Passwort "12345"
einloggen. Das selbe gilt auch, wenn ein User unter anderem im Webmail
sein Passwort ändert, wird es in Wirklichkeit im OpenLDAP geändert
und somit muss sich der User auch am Samba mit dem neuen Passwort
einloggen.
Es muss sichergestellt werden,
dass der Scalix Server anonym den OpenLDAP Server auslesen kann,
die Konfigruation in der "/etc/openldap/slapd" (SuSE) müsste
folgendermaßen aussehen:
access to *
by dn="cn=root,dc=entwicklung,dc=sin" write
...
...
...
by * read
Die Dateien
"ual.remote, smtpd.auth, pop3, omslapdeng"
im Verzeichnis "scalix/single_sign_on/" des ZIP Archives werden
am Scalix Server nach "/var/opt/scalix/ts/s/sys/pam.d/" kopiert,
wobei der Ordner "ts" von Server zu Server anders heißen kann.
Bereits existiernde Dateien können überschrieben werden.
Die Datei "scalix/single_sign_on/om_ldap.conf" des ZIP Archies wird
nach "/var/opt/scalix/ts/s/sys/" kopiert und mit einem Editor geöffnet.
Der Hostname des OpenLDAP Servers sowie die Base zu den Usern muss
bearbeitet werden. Eine fertige Konfiguration könnte so aussehen:
host=localhost
search=subtree
base=ou=users,dc=entwicklung,dc=sin
filter=uid=%s
tls=off
Um die
Änderungen wirksam zu machen, müssen die Scalix Dienste
neu gestartet werden. Hierzu folgende Behehle verwenden:
omshut
omrc
Ab sofort
muss am Scalix Server überall das Passwort der Benutzer vom
OpenLDAP verwendet werden. Sollte im OpenLDAP / LAM kein Benutzername
"sxadmin" existieren, dann sollte dringends einer angelegt werden,
da man sich sonst nicht mehr ins SAC einloggen kann (auch hier wird
das OpenLDAP Passwort des sxadmin verwendet).
2.3.2. Synchronisierung
Zur Synchronisierung wird das
Tool "omldapsync" benutzt, welches Scalix bereits nach einer Standardinstallation
beinhaltet. Am Beginn wird folgender Befehl ausgeführt, wobei anstatt
von "openldap" auch ein anderer beliebiger Name gewählt werden
kann.
omldapsync -i openldap
Nun ist
man im Installation / Konfigruationsmenü des omldapsync. Da
nun die Synchronisierung konfiguriert wird, wählt man die Nummer
"1".
2008-01-21 16:43:51 STATUS: Interactive for openldap started ########
Common tasks menu for syncid openldap
0. Display this menu
1. Configure the LDAP dir sync settings
2. Force a complete (re)load of the directory
3. Update the directory after some changes
4. Accept previous error and update directory
5. Skip previous error and update directory
6. Update the directory and prompt for error
7. Modify all sync records from the directory
8. Delete all sync records in the directory
d. Toggle debug mode from current setting <0>
n. Toggle test mode from current setting <>
q. Quit
INPUT: Please enter an option (0): 1
Jetzt
beginnt die Konfiguration. Man wird gefragt, welcher Synchronisierungstyp
benutzt wird. Da OpenLDAP verwendet wird, ist hier die Eingabe "13".
Weitere Informationen hierzu ist im Manual vom omldapsync zu finden
("man omldapsnyc").
2008-01-21 16:45:33 STATUS: Configuration of openldap started ########
2008-01-21 16:45:33 INFO: create /var/opt/scalix/ts/s/ldapsync/openldap ...
INPUT: Select sync agreement type to create (21): 13
Jetzt
wird man gefragt, ob man die Konfigurationsdatei bearbeiten will.
Hier wird "n" eingegeben, da die Konfigurationsdatei aus dem ZIP
Archiv verwendet wird, dazu aber gleich mehr.
INPUT: Edit config file now y/n (n):n
Nun wird
man noch gefragt, ob man die Konfigurationsdatei testen will. Da
aber derzeit noch die Standardkonfiguration verwendet wird, wird
der Test sehr wahrscheinlich fehlschlagen, daher kann dieser gleich
mit "n" übersprungen werden.
INPUT: Attempt to test data extraction now y/n (n):n
2008-01-23 17:47:17 STATUS: Configuration of openldap completed ########
Common tasks menu for syncid openldap
0. Display this menu
1. Configure the LDAP dir sync settings
2. Force a complete (re)load of the directory
3. Update the directory after some changes
4. Accept previous error and update directory
5. Skip previous error and update directory
6. Update the directory and prompt for error
7. Modify all sync records from the directory
8. Delete all sync records in the directory
d. Toggle debug mode from current setting <0>
n. Toggle test mode from current setting <>
q. Quit
INPUT: Please enter an option (0):q
Das Konfigurationsmenü
kann nun mit "q" beendet werden.
Die Konfigurationsdatei muss nun angepasst werden. Dazu wird die
Konfigurationsdatei aus dem ZIP Archiv (scalix/sync.cfg) nach /var/opt/scalix/[ts]/s/ldapsync/openldap/sync.cfg
kopiert. [ts] heißt von Server zu Server anders. Nun wird
noch die Konfigurationsdatei ins UNIX Format kodiert, um Fehler
zu vermeiden:
dos2unix /var/opt/scalix/[ts]/s/ldapsync/openldap/sync.cfg
Nun wird die Konfigurationsdatei
"/var/opt/scalix/[ts]/s/ldapsync/openldap/sync.cfg" bearbeitet.
Folgende Zeilen müssen verändert werden:
- JAVA_HOME: Das Verzeichnis vom JRE
- EX_HOST: Der Hostname bzw. IP Adresse des LDAP Servers
- EX_PORT: Port des OpenLDAP Servers, standardmäßig 389
- EX_LOGON: DN des Users, welcher sich am OpenLDAP Server authentifiziert darf und Schreibrechte hat.
- EX_PASS: Password des Users, welcher sich am OpenLDAP Server authentifiziert.
- IM_CAA_URL: Url zum CAA. Normalerweiße: http://fqdn/caa/ . Es muss mit einem / enden!
- IM_CAA_KEYSTORE: Nur eine Angabe, falls HTTPS benutzt wird.
- IM_CAA_NAME: Scalix User, welcher Administratorrechte hat.
- IM_CAA_PASS: Password des Scalix Users.
- IM_DELETE_MAILBOX: Wenn ein User am Scalix Server durch die Synchronisierung gelöscht wird, soll dann auch die Mailbox des Users gelöscht werden?.
- EX_BASE1: Die DN zu den Users des OpenLDAP.
- EX_BASE2: Die DN zu den Gruppen des OpenLDAP.
- EX_BASE3-9: Falls die Users bzw. Gruppen auf verschiedene DNs aufgeteilt sind. Im Normalfall leer lassen.
Dann wird in der Konfiguration
noch folgende Stelle gesucht:
memberUid|omMemberForeignAddr|*|!SPRINTF=uid=%s,ou=users,dc=entwicklung,dc=sin
Hier ist
die DN zu den Users zu erstezen. %s ist eine Variable und
steht für den Usernamen des Users.
3. Synchronisierung
Die Installation
/ Konfiguration des Addons ist nun abgeschlossen. Nun kann mit dem
synchronisieren am Scalix Server losgelegt werden. Sollten bereits
Users oder Gruppen am Scalix Server existieren, so müssen diese
am gleichen Stand mit dem OpenLDAP (LAM) gebracht werden.
Falls bereits Accounts am Scalix existieren, so kann direkt bei "3.1. Synchronisierung mit bestehenden Scalix Accounts" weitergelesen werden, ansonsten, wenn noch keine Scalix Accounts existieren, dann kann direkt bei "3.2. Synchronisierung ohne bestehende Scalix Accounts" weiterlesen.
Alle Gruppen, die nicht synchronisiert werden sollen, müssen
auch nicht im LAM angelegt werden (z.B.: ScalixAdmins).
3.1. Synchronisierung mit bestehenden
Scalix Accounts
Sollten
bereits Users oder Gruppen am Scalix Server vorhanden sein, so müssen
diese alle am gleichen Stand gebracht werden. Das beudetet, alle
User- und Gruppendaten des Scalix Servers (E-Mail Adressen, im Adressbuch
anzeigen, Administrator, Mailbox Administrator,...) müssen
auch im LAM eingetragen werden. Auch alle User- und Gruppendaten,
die im LAM eingetragen sind (Vorname, Nachname,...), müssen
am Scalix Server eingetragen werden. Dies gilt für User und
Gruppen!
Ist dies geschehen, kann nun mit der ersten Synchronisierung gestartet
werden. Grundsätzlich wird mit "omldapsync -u openldap" synchronisiert,
da aber nun schon User und Gruppen am Scalix Server existieren,
würde dieses nur Fehler erzeugen, da bei der Synchronisierung
überprüft wird, welche User bzw. Gruppen schon existieren.
Um die Fehler zu ignorieren, wird der Parameter "-A" verwendet.
Der Befehl sieht also nun so aus:
omldapsync -u openldap -A
In Zukunft kann ohne den Parameter
"-A" synchronisiert werden, sollten jedoch Fehler auftreten, können
diese mit dem Parameter "-A" ignoriert werden.
3.2. Synchronisierung ohne bestehende
Scalix Accounts
Da noch
keine Accounts am Scalix Server existieren, kann direkt mit dem
Synchronisieren losgelegt werden.
omldapsync -u openldap
Dieser
Befehl synchronisiert die User und Gruppen des OpenLDAPs zum Scalix
Server. Sollten Fehler auftreten können diese ignoriert werden,
kann dies bei der nächsten synchronisierung mit dem Parameter
"-A" gemacht werden.
3.3. Cronjob
Da nun
das Synchronisieren der User und Gruppen möglich ist, wird
nun ein Cronjob eingerichtet, der alle 30 Minuten die Syncrhonisierung
durchführt.
Dazu wird die Crontab Tabelle geöffnet (crontab -e) und es
wird folgender Eintrag hinzugefügt:
*/30 * * * * omldapsync -u openldap
Ab sofort
werden alle User- und Gruppendaten, die im LDAP Account Manager
eingetragen werden, alle 30 Minuten zum Scalix Server synchronisiert.
Wenn ständig Fehler beim synchronisieren auftreten, diese aber
ignoriert werden können, kann in der Crontab Tablle auch der
Parameter "-A" zum omldapsync Befehl angehängt werden.
4. Sonstiges
Primäre
Gruppen vom OpenLDAP können leider nicht synchronisiert werden.
Daher sollten Gruppenzuordnungen, die im Scalix übernommen
werden sollen, als Secondary eingetragen werden.
|