From: Сгибнев Михаил <http://dreamcatcher.ru>
Date: Mon, 22 Oct 2005 14:31:37 +0000 (UTC)
Subject: Конфигурирование виртуальных доменов Cyrus+Postfix в FreeBSD 5.4
Оригинал: http://dreamcatcher.ru/docs/cyrus2.html
Запуск Cyrus IMAP. Конфигурирование виртуальных доменов Cyrus+Postfix в
FreeBSD 5.4
Francisco Reyes 10/06/2005
Перевод: Сгибнев Михаил
Cyrus IMAP является эффективным сервером IMAP и способен к работе с
большим числом учетных записей. Самым большим его недостатком является
сложность в установке и конфигурировании. В этой статье мы рассмотрим
как можно использовать Cyrus в связке с Postfix в качестве агента
почтовой доставки (MTA). Все приведенные здесь инструкции проверялись
на FreeBSD 5.4.
Postfix является заменой sendmail и входит в стандартную поставку
FreeBSD. Он проще в конфигурировании, но если вы зависите от sendmail,
то, хотя и по прежнему можете смотреть здесь настройку Cyrus, вам
необходимо обратиться к руководству по настройке Sendmail для
конфигурирования MTA.
Если не указано иное, то все операции выполняются с правами
пользователя root. Мы будем использовать систему портов, поэтому если
вы плохо с ней знакомы, то обратитесь к [6]Главе 4 Руководства
пользователя FreeBSD.
Установка и настройка
Для установки Cyrus и Postfix на FreeBSD были использованы следущие
порты:
* Sasl2 2.1.21
* Cyrus 2.2.12
* Postfix 2.23
Компонент SASL2 отвечает за аутентификацию и будет подтверждать
полномочия любой почтовой программы, запросившей почту. Все
пользователи, имеющие почтовые ящики, должны иметь запись в базе
данных SASL2. Также, любые ID, которые вы планируете использовать для
управления Cyrus нуждаются в ID в SASL. Для SASL ID необходимости в
Cyrus IMAP ID нет.
Cyrus управляет почтовыми ящиками пользователей, которые должны иметь
свои ID для получения почты.
Postfix доставляет почту в Cyrus. Postfix должен знать о каждом
пользователе через файл карты псевлонимов. В этом файле определяется
соответствие почтового адреса внутреннему почтовому ящику
пользователя, при этом есть возможность указать несколько адресов для
одного ящика.
В качестве базы данных используется Berkeley DB, в данной статье
используется версия 4.3, но возможна рабоота и с другой версией.
SASL2
Установка из системы портов:
# cd /usr/ports/security/cyrus-sasl2
# make WITHOUT_OTP=YES WITHOUT_NTLM=YES WITHOUT_GSSAPI=YES WITH_BDB_VER=43
# make install clean
OTP, NTLM и GSSAPI являются различными механизмами аутентификации и не
используются в этой статье. Если вы планируете использовать другие
механизмы, то укажите их, исключив лишние.
WITH_BDB_VER=43 указывает на использование базы данных Berkeley 4.3.
Для проверки правильности установки SASL2, выполним:
По умолчанию Cyrus использует каталоги /var/imap и /var/spool, но я
использую /var/imap и /var/imap/spool, что облегчает задачи резервного
копирования.
Для запуска Cyrus во время начальной загрузки, необходимо добавить
следущую строку в /etc/rc.conf:
cyrus_imapd_enable="YES"
Postfix и Cyrus взаимодействуют между собой через сокет, его имя и
размещение указано в /usr/local/etc/cyrus.conf. Закомментируйте
строку, содержащую lmtp и добавльте:
[1] Для использования другого хранилища сообщений, измените значения
configdirectory, partition-default и sievedir. Хотя и не рекомендуется
размещать partition-default внутри configdirectory, здесь это сделано
именно так.
[2] Если вы хотите, чтобы с ID можно было управлять всеми доменами, то
не следует указывать параметр domain. В случае, когда домен указан,
администрировать можно только конкретный домен.
[3] Домен по умолчанию. Если домен, при создании пользователя, не
указывается, то используется домен по умолчанию.
[4] Список всех доменов, которые вы планируете обслуживать. Для
получения дополнительной информации обратитесь к
/usr/local/etc/imapd.conf.original и man imapd.conf.
Теперь нам необходимо создать несколько каталогов, необходимых для
подготовки Cyrus к работе:
# su cyrus
>/usr/local/cyrus/bin/mkimap
и, с правами пользователя root:
# /usr/local/etc/rc.d/imapd.sh start
Проверим работу:
#telnet localhost 143
Escape character is '^]'.
* OK computer.domain.com Cyrus IMAP4 v2.2.12 server ready
Для выхода используйте команду a1 logout.
Для каждого почтового ящика необходимо создать и SASL2 и Cyrus ID. Для
примера, создадим пользователя test в домене domain1:
Создаем SASL2 ID:
saslpasswd2 -c test@domain1
Password:
Again (for verification):
# sasldblistusers2
test@domain1.com: userPassword
Создаем Cyrus ID, учтите, что вам понадобится пароль пользователя
admin, изменить его можно командой saslpasswd2 admin:
В меню, открывшемся при установке, выберите пункты Cyrus SASL v2 и
Berkeley DB4.3. Также будет задан вопрос о добавлении пользователя
postfix в группу mail и активации Postfix в /etc/mail/mailer.conf.
Соглашаемся с предложенным.
# cd /usr/ports/mail/postfix
# make install clean
# rehash
Хотя, описанный в статье, процесс установки и не использует этот файл,
он необходим для работы Postfix. Теперь проверим его работу:
telnet localhost 25
You should see a prompt
Trying 127.0.0.1...
Connected to < your host name >
Escape character is '^]'.
quit
Также есть необходимость отредактировать еще один файл -
/usr/local/etc/postfix/main.cf. Изменим его следующим образом
(обратите внимание, что цифры в квадратных скобках являются
комментариями и должны быть удалены из файла конфигурации):
[2] Список всех почтовых доменов, за исключением главного
Для получения дополнительной информации, обратитесь к
/usr/local/etc/postfix/dist/main.cf.
Перезапустим Postfix с новым файлом конфигурации:
# postfix reload
В дополнение к списку пользователей, описанных в SASL и Cyrus,
необходимо добавить их и в Postfix. Делается это с помощью файла
/usr/local/etc/postfix/virtual, куда мы добавляем пользователей в
таком формате:
user@domain user@domain
Для того, чтобы получать почту, аресованную несуществующему
пользователю, добавьте следущую строку:
@domain1 valid_user@domain1
Знайте, что такое действие завалит ящик всем тем спамом, который
рассылается методом перебора имен. В тоже время, это упростит
получение почты для стандартных имен, таких как postmaster.
После каждого изменения этого файла необходимо выполнять такую
конманду:
#postmap /usr/local/etc/postfix/virtual
Проверка установки
Вся проверка заключается в том, что необходимо попробовать
подключиться к серверу с помошью почтового клиента, поддерживающего
IMAP, используя имя тестового пользователя.
Если такого клиента у вас нет, то можно установить, например, Cone,
работающего из командной строки.
Если вы успешно соединились и на вашем сервере DNS есть
соответствующая MX запись, то пожете попробовать отправить себе письмо
с любой другой почтовой системы.
769 Прочтений • [Конфигурирование виртуальных доменов Cyrus+Postfix в FreeBSD 5.4 (cyrus imap freebsd postfix mail virtual sasl)] [08.05.2012] [Комментариев: 0]