2007/06/01

Установка Dovecot IMAP сервиса с поддержкой LDAP в FreeBSD 5.4

Что есть: внутренний IMAP-сервер для переписки между сотрудниками (локальная сеть)
Что необходимо сделать: научить IMAP-сервер аутентифицировать пользователей через единую LDAP-директорию.
# cd /usr/ports
# make update
# cd /usr/ports/mail/dovecot
# make

make (выбрать LDAP)
make install
echo dovecot_enable="YES" >> /etc/rc.conf
Если при сборке вываливается ошибка
On FreeBSD before 6.2 ports system unfortunately can not set default X11BASE by itself so please help it a bit by setting X11BASE=${LOCALBASE} in make.conf.
On the other hand, if you do wish to use non-default X11BASE, please set variable USE_NONDEFAULT_X11BASE
В /etc/make.conf нужно добавить строку X11BASE=${LOCALBASE} и повторить сборку.

Приведенная ниже конфигурация позволяет использовать в качестве аутентификационной базы пользователей - LDAP-директорию, а данные о пользователях (uid, gid, homedir) достаточно статичны, поэтому они формируются средствами внутренних переменных (%u).
Приведены только те строки, которые требуют изменения.
# cd /usr/local/etc
# cp dovecot-example.conf dovecot.conf
dovecot.conf
# сеть локальная, поэтому можно разрешить plaintext-аутентификацию
disable_plaintext_auth = no
# иерархия папок очень важна, поэтому mbox'а не хватает
mail_location = maildir:~/Maildir
# данная схема аутентификации не нужна
#passdb pam {
#}
passdb ldap {
args = /usr/local/etc/dovecot-ldap.conf
}
userdb static {
# пользователя с uid=500 нужно создать, если его нет
args = uid=500 gid=mail home=/var/mail/myorganization/%u
}
# cp dovecot-ldap-example.conf dovecot-ldap.conf

dovecot-ldap.conf
# вместо глобального использования логина администратора для "привязки"
# (bind) к ldap-серверу будет использоваться логин и пароль
# аутентифицирующегося пользователя
auth_bind = yes
auth_bind_userdn = uid=%u,ou=People,o=myorganization,c=ru

Ссылки:
  1. AuthDatabase/LDAP

No comments: