Настройка Postfix и Dovecot

Введение

Эта статья охватывает настройку полноценного почтового сервера, принимающего почту по протоколу SMTP и отдающего почту по протоколам POP3 и IMAP. При настройке используются виртуальные пользователи. Это означает, что почтовый пользователь, не существующий в системе, существует для почтового сервера. Такое разделение даёт свободу системному администратору, если, например, e-mail пользователя «засветился» в спам-рассылках. Для смены e-mail'а в случае с реальным почтовым пользователем пришлось бы удалить аккаунт пользователя и создать новый. В случае виртуального почтового пользователя просто удаляется виртуальный аккаунт и создаётся новый, при этом реальный аккаунт остаётся прежним.

Особенности моего видения настройки почтового сервера (да и настроек остальных сервисов вообще): максимальная простота. В статье используются мета-пакеты. В моём понимании мета-пакет - это пакет, служащий для установки и автоматической настройки других пакетов.

Установка

Подготовка к установке

Перед началом всего процесса убедитесь, что у Вашего сервера установлено доменное имя!

Пакеты postfix и dovecot, входящие в состав дистрибутива ASPLinux-11.2, не обепечивают минимально необходимого функционала, рассматриваемого в данной статье. Поэтому я собрал RPM-пакеты на основе более новых версий приложений. Для установки достаточно скачать пакеты dovecot и postfix Необходимо для установки:

Дополнительные пакеты:

Пакеты с исходными текстами:

Установка пакетов

Есть два варианта установки: непосредственно задав команду RPM; либо через добавление пакетов в локальный репозитарий и последующей установкой через yum

Настройка

Подготовка

Процесс настройки долог и для новичка нетривиален. Поэтому я написал мета-пакеты для автоматической настройки. Необходимо для установки:

Дополнительные пакеты

Пакеты с исходными текстами:

Пакет berest-server-mail настраивает postfix и dovecot на виртуальных пользователей (наподобие пользователей vpopmail). Пакет berest-server-tls добавляет возможность шифрования SMTP и POP3 трафика.

(приношу извинения за название пакетов berest-server-mail-virt-1.1-3.brst.s.rpm и berest-server-mail-virt-1.1-3.brst.n.rpm - это на самом деле berest-server-mail-virt-1.1-3.brst.src.rpm и berest-server-mail-virt-1.1-3.brst.noarch.rpm; Google немного покорёжил имена файлов)

Процесс настройки

Этот этап выполняется по факту установки пакета berest-server-mail-virt (и, дополнительно, berest-server-tls). Описывать здесь особо нечего, интересующиеся могут скачать *src.rpm и посмотреть "изнутри" :)

После настройки

Если Вы установили пакет berest-server-tls, то выполните в командной строке команду berest-genCertificate и следуйте указаниям

Выполните команды:

postfix и dovecot запустятся и будут обслуживать домен Вашего сервера (согласно доменного имени). Далее необходимо поменять данные аккаунта user@$domain (где $domain - это домен сервера). Вы можете указать пароль этого аккаунта, либо переименовать аккаунт. Этот аккаунт создан автоматически, потому что на него по умолчанию поступает почта к root'у, postmaster'у и другим системным аккаунтам в вашей системе. Никому не отдавайте этот аккаунт (назначьте его себе).

Использование

На сервере

Для управления почтовыми аккаунтами я написал утилиты, помогающие в жизни администратора (эти утилиты будут доступны после установки пакета berest-server-mail-virt). Ниже приведен список названий утилит и краткое описание:

Чтобы получить краткую помощь в использовании, выполните команду без параметров.

Например, чтобы добавить нового пользователя, наберите:

Будет запрошен пароль и новый аккаунт будет создан.

Всё просто :) Можно ещё проще, но писать web-админку мне откровенно лень.

На клиентских местах

Настройки почтовых клиентов самые что ни на есть обычные (SMTP -25й порт; POP3 - 110й порт, SSL).

В качестве имени пользователя необходимо указывать аккаунт с доменом. Например, test_user@my.cool.domain.net

Тип пароля: CRAM-MD5

Вроде всё. Пользуйтесь на здоровье :)

Articles/SlavaZanko/PostfixDovecotConfiguration (last edited 2008-05-18 11:02:04 by NikolayUlyanitsky)