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

Rispondere a