Luigi Augello wrote:
Rispondo a Pierangelo, Scusandomi in anticipo per le bestialità (in
materia di ldap) che potrò dire.
In buona sostanza io ho un database (dc=unipa,dc=it) che contiene varie
voci fra cui ou=Studenti,dc=unipa,dc=it che è quella che vorrei
replicare con syncrepl, adesso seguendo le indicazioni di Pierangelo ho
creato il seguente
slapd.conf
###########################################
#
# See slapd.conf(5) for details on configuration options.
# This file should NOT be world readable.
#
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/samba.schema
# Allow LDAPv2 client connections. This is NOT the default.
allow bind_v2
pidfile /var/run/slapd/slapd.pid
argsfile /var/run/slapd/slapd.args
database ldbm
Nota a margine: non usare back-ldbm, usa back-bdb o meglio back-hdb
#suffix "dc=unipa,dc=it"
suffix "ou=Studenti,dc=unipa,dc=it"
rootdn "cn=Manager,ou=Studenti,dc=unipa,dc=it"
rootpw test
subordinate
directory /var/lib/ldap/studenti
# Indices to maintain for this database
index objectClass eq
index uid,uidNumber,gidNumber,memberUid eq
index cn,mail,surname,givenname eq,subinitial
index sambaSid eq
index sambaPrimaryGroupSID eq
index sambaDomainName eq
syncrepl rid=1
provider=ldap://test.unipa.it:389
type=refreshAndPersist
interval=00:00:00:30
searchbase="dc=unipa,dc=it,ou=Studenti"
Qui c'e' un errore: deve essere "ou=Studenti,dc=unipa,dc=it"
filter="(&(objectClass=*))"
questo filtro e' un po' ridondante: basta "(objectClass=*)"
attrs="*"
probabilmente e' meglio replicare anche gli attributi operazionali,
ovvero "*,+" (oppure non mettere attrs, il default va bene).
scope=sub
schemachecking=off
retry="60 +"
bindmethod=simple
binddn="uid=agreplica,ou=Studenti,dc=unipa,dc=it"
credentials=test
database ldbm
suffix "dc=unipa,dc=it"
Come sopra. Ovviamente i due database vanno posti in "directory"
diverse ecc.
ma non funziona, ho capito che le clausula "subordinate" è utilizzata
per "incollare" due database, facendo in modo che siano visti come uno
soltanto, devo cancellare il database preesistente? Io però in realtà mi
sono spostato in una nuova subdirecory per il database
(/var/lib/ldap/studenti).
Devi cancellare il database precedente e importare solo quello che gli
compete, ovvero tutto meno il ramo "ou=Studenti,dc=unipa,dc=it".
Quest'ultimo si popolera' da solo tramite syncrepl. A occhio c'e' tutto.
Ciao, p.
Ing. Pierangelo Masarati
OpenLDAP Core Team
SysNet s.r.l.
via Dossi, 8 - 27100 Pavia - ITALIA
http://www.sys-net.it
-----------------------------------
Office: +39 02 23998309
Mobile: +39 333 4963172
Fax: +39 0382 476497
Email: a...@sys-net.it
-----------------------------------
_______________________________________________
OpenLDAP mailing list
OpenLDAP@mail.sys-net.it
https://www.sys-net.it/mailman/listinfo/openldap