This documentation is for Dovecot v2.x, see wiki1 for v1.x documentation.
Differences between revisions 15 and 16
Revision 15 as of 2004-09-14 20:53:37
Size: 3445
Editor: ip68-105-190-58
Comment:
Revision 16 as of 2007-03-19 14:20:02
Size: 3234
Editor: TimoSirainen
Comment:
Deletions are marked like this. Additions are marked like this.
Line 56: Line 56:
user_attrs = uid,homeDirectory,,uid,uidNumber,gidNumber user_attrs = homeDirectory=home,uidNumber=uid,gidNumber=gid
Line 58: Line 58:
pass_attrs = uid,userPassword pass_attrs = uid=user,userPassword=password
Line 66: Line 66:
base_dir = /var/dovecot/ base_dir = /var/run/dovecot/
Line 68: Line 68:
imap_listen = *
Line 70: Line 69:
login_chroot = yes
login = imap
login_executable = /usr/local/libexec/dovecot/imap-login
login_user = dovecot
Line 80: Line 75:
default_mail_env = mbox:/var/mail/%u # or maildir
client_workarounds = oe6-fetch-no-newmail outlook-idle
mail_save_crlf = yes
mail_location = mbox:/var/mail/%u # or maildir
Line 84: Line 77:
mbox_locks = fcntl
imap_executable = /usr/local/libexec/dovecot/imap
auth = default
auth_mechanisms = plain
auth_userdb = ldap /usr/local/etc/dovecot-ldap.conf
auth_passdb = ldap /usr/local/etc/dovecot-ldap.conf
auth_executable = /usr/local/libexec/dovecot/dovecot-auth
auth_user = dovecot-auth

protocol imap {
  client_workarounds = oe6-fetch-no-newmail outlook-idle
}
Line 93: Line 83:

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
  }
}

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     eq

Compile 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

None: HowTo/DoveLdapCheatSheet (last edited 2009-03-15 22:35:14 by localhost)