Hello everyone,
I'm trying to learn how to use OpenLDAP and syncrepl, and I have two issues. First, how do I get past the following error, and second, how do I confirm that syncrepl is actually working??
Here's the slaptest error:
# slaptest -f /usr/local/etc/openldap/slapd.conf bdb_db_open: warning - no DB_CONFIG file found in directory /usr/local/var/openldap-data: (2). Expect poor performance for suffix "dc=promptutech,dc=local". bdb_monitor_db_open: monitoring disabled; configure monitor database to enable config file testing succeeded
...and here's my slapd.conf. Any ideas??
cat /usr/local/etc/openldap/slapd.conf # # See slapd.conf(5) for details on configuration options. # This file should NOT be world readable. # include /usr/local/etc/openldap/schema/core.schema include /usr/local/etc/openldap/schema/promptu.schema
# Define global ACLs to disable default read access.
# Do not enable referrals until AFTER you have a working directory # service AND an understanding of referrals. #referral ldap://root.openldap.org
pidfile /usr/local/var/run/slapd.pid argsfile /usr/local/var/run/slapd.args
# Load dynamic backend modules: # modulepath /opt/promptu/openldap/libexec/openldap # moduleload back_bdb.la # moduleload back_hdb.la # moduleload back_ldap.la
# Sample security restrictions # Require integrity protection (prevent hijacking) # Require 112-bit (3DES or better) encryption for updates # Require 63-bit encryption for simple bind # security ssf=1 update_ssf=112 simple_bind=64
# Sample access control policy: # Root DSE: allow anyone to read it # Subschema (sub)entry DSE: allow anyone to read it # Other DSEs: # Allow self write access # Allow authenticated users read access # Allow anonymous users to authenticate # Directives needed to implement policy: # access to dn.base="" by * read # access to dn.base="cn=Subschema" by * read # access to * # by self write # by users read # by anonymous auth # # if no access controls are present, the default policy # allows anyone and everyone to read anything but restricts # updates to rootdn. (e.g., "access to * by * read") # # rootdn can always read and write EVERYTHING!
access to * by dn.base="cn=replica,dc=promptutech,dc=local" read by * break
####################################################################### # BDB database definitions #######################################################################
database bdb suffix "dc=promptutech,dc=local" rootdn "cn=Manager,dc=promptutech,dc=local" # Cleartext passwords, especially for the rootdn, should # be avoid. See slappasswd(8) and slapd.conf(5) for details. # Use of strong authentication encouraged. rootpw secret # The database directory MUST exist prior to running slapd AND # should only be accessible by the slapd and slap tools. # Mode 700 recommended. directory /usr/local/var/openldap-data
# Indices to maintain index objectClass eq index entryCSN eq index entryUUID eq
syncrepl rid=0 provider=ldap://ptsunray02 type=refreshOnly interval=00:00:05:00 searchbase="dc=promptutech,dc=local" filter="(objectClass=*)" attrs="*" scope=sub schemachecking=off bindmethod=simple binddn="cn=replica,dc=promptutech,dc=local" credentials="secret"
updateref ldap://localhost
mirrormode TRUE overlay syncprov syncprov-checkpoint 100 10
Thanks for your help!
Mike
To all,
I just realized I copied my DB_CONFIG file into the wrong location, so I'm all set with that! Any guidance for how to test syncrepl?
cat /usr/local/etc/openldap/slapd.conf # # See slapd.conf(5) for details on configuration options. # This file should NOT be world readable. # include /usr/local/etc/openldap/schema/core.schema include /usr/local/etc/openldap/schema/promptu.schema
# Define global ACLs to disable default read access.
# Do not enable referrals until AFTER you have a working directory # service AND an understanding of referrals. #referral ldap://root.openldap.org
pidfile /usr/local/var/run/slapd.pid argsfile /usr/local/var/run/slapd.args
# Load dynamic backend modules: # modulepath /opt/promptu/openldap/libexec/openldap # moduleload back_bdb.la # moduleload back_hdb.la # moduleload back_ldap.la
# Sample security restrictions # Require integrity protection (prevent hijacking) # Require 112-bit (3DES or better) encryption for updates # Require 63-bit encryption for simple bind # security ssf=1 update_ssf=112 simple_bind=64
# Sample access control policy: # Root DSE: allow anyone to read it # Subschema (sub)entry DSE: allow anyone to read it # Other DSEs: # Allow self write access # Allow authenticated users read access # Allow anonymous users to authenticate # Directives needed to implement policy: # access to dn.base="" by * read # access to dn.base="cn=Subschema" by * read # access to * # by self write # by users read # by anonymous auth # # if no access controls are present, the default policy # allows anyone and everyone to read anything but restricts # updates to rootdn. (e.g., "access to * by * read") # # rootdn can always read and write EVERYTHING!
access to * by dn.base="cn=replica,dc=promptutech,dc=local" read by * break
####################################################################### # BDB database definitions #######################################################################
database bdb suffix "dc=promptutech,dc=local" rootdn "cn=Manager,dc=promptutech,dc=local" # Cleartext passwords, especially for the rootdn, should # be avoid. See slappasswd(8) and slapd.conf(5) for details. # Use of strong authentication encouraged. rootpw secret # The database directory MUST exist prior to running slapd AND # should only be accessible by the slapd and slap tools. # Mode 700 recommended. directory /usr/local/var/openldap-data
# Indices to maintain index objectClass eq index entryCSN eq index entryUUID eq
syncrepl rid=0 provider=ldap://ptsunray02 type=refreshOnly interval=00:00:05:00 searchbase="dc=promptutech,dc=local" filter="(objectClass=*)" attrs="*" scope=sub schemachecking=off bindmethod=simple binddn="cn=replica,dc=promptutech,dc=local" credentials="secret"
updateref ldap://localhost
mirrormode TRUE overlay syncprov syncprov-checkpoint 100 10
Thanks for your help!
Mike
"Mike Simonton" Mike.Simonton@promptutech.com writes:
Hello everyone,
I'm trying to learn how to use OpenLDAP and syncrepl, and I have two issues. First, how do I get past the following error, and second, how do I confirm that syncrepl is actually working??
Here's the slaptest error:
[...]
syncrepl rid=0 provider=ldap://ptsunray02 type=refreshOnly interval=00:00:05:00 searchbase="dc=promptutech,dc=local" filter="(objectClass=*)" attrs="*" scope=sub schemachecking=off bindmethod=simple binddn="cn=replica,dc=promptutech,dc=local" credentials="secret"
updateref ldap://localhost
mirrormode TRUE overlay syncprov syncprov-checkpoint 100 10
If you only want to do synchronized replication than you should remove mirrormode, otherwise you have to define a server ID and remove updateref. For more information on mirrormode see http://www.openldap.org/doc/admin24/replication.html#MirrorMode
If you only want to test the funtionallity of syncrepl just add an entry to the provider and search this entry on the consumer.
-Dieter
openldap-technical@openldap.org