4407
Kommentar:
|
5126
|
Gelöschter Text ist auf diese Art markiert. | Hinzugefügter Text ist auf diese Art markiert. |
Zeile 42: | Zeile 42: |
---- /!\ '''Edit conflict - other version:''' ---- ---- /!\ '''Edit conflict - your version:''' ---- ---- /!\ '''End of edit conflict''' ---- |
|
Zeile 46: | Zeile 52: |
---- /!\ '''Edit conflict - other version:''' ---- ---- /!\ '''Edit conflict - your version:''' ---- ---- /!\ '''End of edit conflict''' ---- |
|
Zeile 50: | Zeile 62: |
---- /!\ '''Edit conflict - other version:''' ---- ---- /!\ '''Edit conflict - your version:''' ---- ---- /!\ '''End of edit conflict''' ---- |
|
Zeile 54: | Zeile 72: |
---- /!\ '''Edit conflict - other version:''' ---- ---- /!\ '''Edit conflict - your version:''' ---- ---- /!\ '''End of edit conflict''' ---- |
|
Zeile 59: | Zeile 83: |
---- /!\ '''Edit conflict - other version:''' ---- ---- /!\ '''Edit conflict - your version:''' ---- ---- /!\ '''End of edit conflict''' ---- |
|
Zeile 65: | Zeile 95: |
}}} 3. Passwort für den Sync-Account festlegen: {{{ ldappasswd -D cn=admin,dc=EXAMPLE,dc=ORG -W -s "SYNCAGENT_SECRET" "cn=syncagent,dc=EXAMPLE,dc=ORG" }}} = Konfiguration des Clients = == Überblick == |
|
Zeile 130: | Zeile 152: |
---- /!\ '''Edit conflict - other version:''' ---- ---- /!\ '''Edit conflict - your version:''' ---- * $var=false is nich var ---- /!\ '''End of edit conflict''' ---- |
Inhaltsverzeichnis
Übelklick
Ziel ist die Verteilung einer LDAP-Datenbank auf mehr als einem Server. Dies erhöht die Ausfallsicherheit und verteilt die Last.
Dabei existiert ein Master - dies ist der LDAP-Server auf dem Schreib-Operationen erlaubt. Alle anderen LDAP-Server beziehen lediglich im Pull-Verfahren regelmäßig Änderungen von dem Master.
Die Dokumentation bezieht sich auf OpenLDAP v2.4 oder später. Alle Änderungen verwenden das neue LDIF-basierte Konfigurationsformat von OpenLDAP.
In den Beispielen werden die folgenden Variablen verwendet - sie sind durch lokale Gegebenheiten zu ersetzen:
- EXAMPLE und ORG
die LDAP-Basis des Servers - beispielsweise für "dc=meine-domain,dc=de" wäre es EXAMPLE=meine-domain und ORG=de
- SYNCAGENT_SECRET
- Passwort des LDAP-Replikations-Accounts (beliebig)
- LDAP_MASTER
- der Name oder die IP des LDAP-Master-Servers
Alle Änderungen lassen sich jeweils mit folgendem Kommando anwenden:
ldapmodify -Y EXTERNAL -H ldapi:///
Die untenstehenden ldif-Änderungsdaten werden dabei auf der Standardeingabe erwartet.
Konfiguration des Masters
Überblick
Folgendes ist zu tun:
- Synchronisations-Overlay für die Konfiguration und die Datenbank aktivieren
- einen Account für die Datenabfrage anlegen
EinzelTitte
sync-Account anlegen:
echo " # einen Account für die Replikationsabfrage hinzufuegen dn: cn=syncagent,dc=EXAMPLE,dc=ORG cn: syncagent objectClass: top objectClass: person sn: syncagent" | ldapadd -D cn=admin,dc=lohro,dc=de -W
Konfigurationen anpassen:
ldapmodify -Y EXTERNAL -H ldapi:///
in die Standardeingabe folgenden Text kopieren:
---- /!\ '''Edit conflict - other version:''' ---- ---- /!\ '''Edit conflict - your version:''' ---- ---- /!\ '''End of edit conflict''' ---- dn: cn=module{0},cn=config changetype: modify add: olcModuleLoad olcModuleLoad: syncprov.la ---- /!\ '''Edit conflict - other version:''' ---- ---- /!\ '''Edit conflict - your version:''' ---- ---- /!\ '''End of edit conflict''' ---- dn: olcDatabase={1}hdb,cn=config changetype: modify add: olcDbIndex olcDbIndex: entryUUID,entryCSN eq ---- /!\ '''Edit conflict - other version:''' ---- ---- /!\ '''Edit conflict - your version:''' ---- ---- /!\ '''End of edit conflict''' ---- dn: olcDatabase={0}config,cn=config changetype: modify add: olcAccess olcAccess: to * by dn.base="cn=syncagent,dc=EXAMPLE,dc=ORG" read by * +0 break ---- /!\ '''Edit conflict - other version:''' ---- ---- /!\ '''Edit conflict - your version:''' ---- ---- /!\ '''End of edit conflict''' ---- dn: olcOverlay=syncprov,olcDatabase={1}hdb,cn=config changetype: add objectClass: olcOverlayConfig objectClass: olcSyncProvConfig olcOverlay: syncprov ---- /!\ '''Edit conflict - other version:''' ---- ---- /!\ '''Edit conflict - your version:''' ---- ---- /!\ '''End of edit conflict''' ---- dn: olcOverlay=syncprov,olcDatabase={0}config,cn=config changetype: add objectClass: olcOverlayConfig objectClass: olcSyncProvConfig olcOverlay: syncprov == welcomesodjglksdng1 == 2. Konfigurationen anpassen: {{{ ldapmodify -Y EXTERNAL -H ldapi:///
in die Standardeingabe folgenden Text kopieren:
# Sync-Modul aktivieren dn: cn=module{0},cn=config changetype: modify add: olcModuleLoad olcModuleLoad: syncprov.la # fuege replikationsrelevante Attribute zum Index hinzu dn: olcDatabase={1}hdb,cn=config changetype: modify add: olcDbIndex olcDbIndex: entryUUID,entryCSN eq # Datenbank-Replikation aktivieren dn: olcDatabase={1}hdb,cn=config changetype: modify add: olcSyncrepl olcSyncrepl: {0}rid=2 provider=ldap://LDAP_MASTER type=refreshOnly bindmethod=simple binddn="cn=syncagent,dc=EXAMPLE,dc=ORG" credentials=SYNCAGENT_SECRET interval="00:00:03:00" retry="30 10 300 +" timeout=1 tls_reqcert=never schemachecking=off searchbase="dc=EXAMPLE,dc=ORG" # Konfigurationsreplikation aktivieren dn: olcDatabase={0}config,cn=config changetype: modify add: olcSyncrepl olcSyncrepl: {0}rid=1 provider=ldap://LDAP_MASTER type=refreshOnly bindmethod=simple binddn="cn=syncagent,dc=EXAMPLES,dc=ORG" credentials=SYNCAGENT_SECRET interval="00:00:03:00" retry="30 10 300 +" timeout=1 tls_reqcert=never schemachecking=off searchbase="cn=config"
Abschluss
Nun sollte der Slave-Server sich sofort mit dem Server synchronisieren. Fehlermeldungen finden sich auf der Slave-Seite unter /var/log/debug.log.
Quellen
Edit conflict - other version:
Edit conflict - your version:
- $var=false is nich var
End of edit conflict