Это старая версия документа!
В данной статье я хочу структурировать клочки информации по теме, которые мне удалось найти в интернете. Данная тема не новая, но внятного-понятно howto, с пояснениями и т.д. найти не удалось, поэтому решил написать заметку себе на память, вдруг еще доведется подобное где-то разворачивать. Итак, в данном мануале будет рассмотрен вопрос разворачивания внутренней корпоративной почты, т.е. почта которая работает только в пределах локальной сети, для внутренних нужд организации, хотя ничего вам не мешает подобным образом организовать и глобальную почтовую систему.
Для чего все это нужно? Ну, во-первых, удобство использования виртуальных акантов, вместо реальных, на почтовом сервер, вполне очевидно. Во-вторых, интеграция почтовой системы с AD(LDAP) дает нам возможность централизованно управлять всеми акаунтами из одного места(акаутны, почтовые псевдонимы, списки рассылки и т.д.). В данном конкретном случае предполагается, что AD уже развернуто и акаунты уже есть, но имена их не соответствуют желаемому стандарту, например «первая буква имени, фамилия», т.е. для Иванова Ивана акаунт должен был быть iivanov, а на самом деле есть vasya. Т.е. хотелось, чтобы почтовый адрес был iivanov@domain.local, выходом из положения стало использование алиасов, т.е. у каждого пользователя прописано поле E-mail в его профиле, где и указано iivanov@domain.local, но обо всем по порядку.
Итак, имеем домен под управлением Windows Server 2012, режим леса и режим домена - 2012. Почтовый сервер - GNU/Debian 7.0 (Postfix 2.9, Dovecot 2.1).
Начнем с Dovecot. Конфиг у него достаточно объемный, буду указывать только то, что правил.
/etc/dovecot/conf.d/10-auth.conf
# Включаем plaintext аунтификацию, т.к. по-другому с AD работать не будет(вроде?). # А если нужна безопасность, то можно использовать SSL-соединение. disable_plaintext_auth = no
/etc/dovecot/conf.d/10-logging.conf
# Указываем куда класть дополнительные логи debug_log_path = /var/log/dovecot_debug.log # Ну и включаем всевозможные логи, помогут нам при отладке, главное не забыть потом выключить, # особенно логирование паролей auth_verbose = yes auth_debug = yes auth_debug_passwords = yes mail_debug = yes
/etc/dovecot/conf.d/10-mail.conf
# Указываем путь, по которому будет хранится пользовательская почта, также указываем формат(maildir) # %u - полное имя пользователя(с доменной частью: user@domail.local) # %n - короткое имя пользователя(без доменной части: user) # %d - доменная часть(domail.local), может быть пустой # %h - домашний каталог, тоже может быть пустым mail_location = maildir:/srv/vmail/%u # Два нижних параметра очень важны, они указывают дефолтные uid и gid пользователя, если эти данные # не удалось извлечь из AD. Эти данные используются для установки прав доступа к maildir пользователя. # Почтовику нужно знать хотя бы uid, иначе, если не указать эти данные, в логах будут ошибки такого типа: # "Couldn't drop privileges: User is missing UID (see mail_uid setting)". У пользователей в AD есть такие # поля: uidNumber и gidNumber, но они пусты по-умолчанию, их можно задать через ADSI Edit, но это не иммет # никакого смысла, ведь наши акаунты виртуальные. Соответственно создаем пользователя vmail(думаю, не надо # показывать как это делать) и смотрим идентификатор этого пользователя и идентификатор его группы # (id vmail), затем вписываем их в параметры ниже. Теперь вся почта будет принадлежать пользователю vmail. mail_uid = 1001 mail_gid = 1001