Compile OpenLDAP with
--enable-crypt
Create the ldap user and group.
/etc/rc.conf
slapd_enable="YES" slapd_args='-u ldap -g ldap -h "ldap://localhost ldap://<IP address> ldapi://%2fvar%2frun%2fopenldap/???x-mod=0777"'
/usr/local/etc/rc.d/slapd.sh You may not have either of the following lines.
Ignore the next line.
# Uncomment one of the following:
Comment out the next line
slapd_args="-u ldap -g ldap"
/usr/local/etc/openldap/slapd.conf
include /usr/local/etc/openldap/schema/core.schema
include /usr/local/etc/openldap/schema/cosine.schema
include /usr/local/etc/openldap/schema/nis.schema
password-hash {CRYPT}
pidfile /var/run/ldap/slapd.pid
argsfile /var/run/ldap/slapd.args
access to dn.children="ou=postoffice,dc=wibble,dc=net"
by dn="cn=dovecot,ou=postoffice,dc=wibble,dc=net" read
by anonymous auth
database bdb
suffix "dc=wibble,dc=net"
rootdn "cn=Manager,dc=wibble,dc=net"
rootpw hemmelighet
directory /var/db/openldap-data
index objectClass eqCompile Dovecot with
--with-rawlog --with-ldap
/usr/local/etc/dovecot-ldap.conf
hosts = localhost dn = cn=dovecot,ou=postoffice,dc=wibble,dc=net dnpass = flop ldap_version = 3 base = ou=postoffice,dc=wibble,dc=net deref = never scope = subtree user_attrs = homeDirectory=home,uidNumber=uid,gidNumber=gid user_filter = (&(objectClass=posixAccount)(uid=%u)) pass_attrs = uid=user,userPassword=password pass_filter = (&(objectClass=posixAccount)(uid=%u)) default_pass_scheme = CRYPT user_global_uid = 3000 user_global_gid = 8
/usr/local/etc/dovecot.conf
base_dir = /var/run/dovecot/
protocols = imap
ssl_disable = yes
verbose_proctitle = yes
first_valid_uid = 3000
last_valid_uid = 3000
first_valid_gid = 8
last_valid_gid = 8
valid_chroot_dirs = /var/mail
mail_location = mbox:/var/mail/%u # or maildir
maildir_copy_with_hardlinks = yes
protocol imap {
client_workarounds = oe6-fetch-no-newmail outlook-idle
}
auth_verbose = yes
auth default {
mechanisms = plain
user = dovecot-auth
passdb ldap {
args = /usr/local/etc/dovecot-ldap.conf
}
userdb ldap {
args = /usr/local/etc/dovecot-ldap.conf
}
}/usr/local/etc/openldap/wibble.ldif
dn: dc=wibble,dc=net
objectClass: top
objectClass: dcObject
objectClass: organization
o: Wibble Corp.
dc: wibble
description: Wibble, with Ole Wobble and Ole Wubble
dn: ou=accounts,dc=wibble,dc=net
objectClass: top
objectClass: organizationalUnit
ou: accounts
dn: cn=dovecot,ou=accounts,dc=wibble,dc=net
objectClass: top
objectclass: person
cn: dovecot
sn: dovecot
dn: uid=ole_wobble,ou=accounts,dc=wibble,dc=net
objectClass: top
objectclass: person
objectClass: posixAccount
cn: Ole Wobble Olson
sn: Olson
uid: ole_wobble
uidNumber: 3000
gidNumber: 8
homeDirectory: /usr/home/postoffice
dn: uid=ole_wubble,ou=accounts,dc=wibble,dc=net
objectClass: top
objectclass: person
objectClass: posixAccount
cn: Ole Wubble Olson
sn: Olson
uid: ole_wubble
uidNumber: 3000
gidNumber: 8
homeDirectory: /usr/home/postoffice