r21739: Make it easy to change the log level for the slapd processes, and have
[Samba.git] / source / script / tests / mk-openldap.sh
blobd58ce7480d2941632dd33d29c53c92fadbfccca9
1 SLAPD_CONF=$LDAPDIR/slapd.conf
2 export SLAPD_CONF
4 echo "OPENLDAP_LOGLEVEL=0"
6 cat >$SLAPD_CONF <<EOF
7 loglevel 0
9 include $LDAPDIR/ad.schema
11 pidfile $PIDDIR/slapd.pid
12 argsfile $LDAPDIR/slapd.args
13 sasl-realm $DNSNAME
14 access to * by * write
16 allow update_anon
18 authz-regexp
19 uid=([^,]*),cn=$DNSNAME,cn=digest-md5,cn=auth
20 ldap:///$BASEDN??sub?(samAccountName=\$1)
22 authz-regexp
23 uid=([^,]*),cn=([^,]*),cn=digest-md5,cn=auth
24 ldap:///$BASEDN??sub?(samAccountName=\$1)
26 include $LDAPDIR/modules.conf
28 defaultsearchbase "$BASEDN"
30 backend bdb
31 database bdb
32 suffix "$BASEDN"
33 rootdn "cn=Manager,$BASEDN"
34 rootpw $PASSWORD
35 directory $LDAPDIR/db
36 index objectClass eq
37 index samAccountName eq
38 index name eq
39 index objectSid eq
40 index objectCategory eq
41 index member eq
42 index uidNumber eq
43 index gidNumber eq
44 index unixName eq
45 index privilege eq
46 index nCName eq pres
47 index lDAPDisplayName eq
48 index subClassOf eq
49 index dnsRoot eq
50 index nETBIOSName eq pres
52 EOF
54 cat > $LDAPDIR/db/DB_CONFIG <<EOF
56 # Set the database in memory cache size.
58 set_cachesize 0 524288 0
62 # Set database flags (this is a test environment, we don't need to fsync()).
64 set_flags DB_TXN_NOSYNC
67 # Set log values.
69 set_lg_regionmax 104857
70 set_lg_max 1048576
71 set_lg_bsize 209715
72 set_lg_dir $LDAPDIR/db/bdb-logs
76 # Set temporary file creation directory.
78 set_tmp_dir $LDAPDIR/db/tmp
79 EOF
81 #This uses the provision we just did, to read out the schema
82 $srcdir/bin/ad2oLschema $CONFIGURATION -H $PRIVATEDIR/sam.ldb -I $srcdir/setup/schema-map-openldap-2.3 -O $LDAPDIR/ad.schema >&2
84 #Now create an LDAP baseDN
85 $srcdir/bin/smbscript $srcdir/setup/provision $PROVISION_OPTIONS --ldap-base >&2
87 OLDPATH=$PATH
88 PATH=/usr/local/sbin:/usr/sbin:/sbin:$PATH
89 export PATH
91 MODCONF=$LDAPDIR/modules.conf
92 rm -f $MODCONF
93 touch $MODCONF
95 slaptest -u -f $SLAPD_CONF >&2 || {
96 echo "enabling slapd modules" >&2
97 cat > $MODCONF <<EOF
98 modulepath /usr/lib/ldap
99 moduleload back_bdb
103 if slaptest -u -f $SLAPD_CONF; then
104 slapadd -f $SLAPD_CONF < $PRIVATEDIR/$DNSNAME.ldif >/dev/null || {
105 echo "slapadd failed" >&2
108 slaptest -f $SLAPD_CONF >/dev/null || {
109 echo "slaptest after database load failed" >&2
113 PATH=$OLDPATH
114 export PATH