Настраиваем виртуальный почтовый хостинг с ипользованием Postfix и dovecot. Продолжение.
Насчет dovecot дело обстоит немного сложнее. Все дело в том, что в дистрибутивах CentOS версия dovecot старовата (0.99.11-4.EL4) а разработчики настоятельно советуют переходить на более новые версии. Кроме того, при переходе с 0.99.x на версию > 1.0 сменился синтаксис конфигурационного файла dovecot, в связи с чем возникла масса проблем у администраторов при переходе на более новую версию. С другой стороны в версиях с 1.0test53 по 1.0.rc14 была обнаружена уязвимость ссылка. Поэтому мы не будем пользоваться этими версиями. Идем на сайт dovecot и выбираем пакет под наш дистрибутив. Так как мы инсталлируем все под CentOS, то нам нужен rpm пакет для RHEL 4. Значит будем переходить по следующей ссылке:
ссылке:
Заходим в шелл и выполняем:
cd /usr/local/src
wget http://dl.atrpms.net/all/dovecot-devel-1.0.0-8_56.el4.at.i386.rpm
wget http://dl.atrpms.net/all/dovecot-1.0.0-8_56.el4.at.i386.rpm
rpm -ivh dovecot-1.0.0-8_56.el4.at.i386.rpm dovecot-devel-1.0.0-8_56.el4.at.i386.rpm
Тут небольшое дополнение. Версии дистрибутива частенько обновляются, поэтому через какое-то время приведенные выше ссылки перестанут вести куда надо. Так что тут нужно будет применить немного смекалки
С установкой закончили, перейдем к настройке.
Конфигурационный файл /etc/dovecot.conf выглядит примерно так:
01 base_dir = /var/run/dovecot/
02 log_path = /var/log/dovecot
03 info_log_path = /var/log/dovecot.info
04 login_dir = /var/run/dovecot/login
05 login_user = dovecot
06 login_chroot = yes
07 protocol imap {
08 listen = *:143
09 login_executable = /usr/libexec/dovecot/imap-login
10 }
11 protocol pop3 {
12 pop3_uidl_format = %08Xu%08Xv
13 listen = *:110
14 login_executable = /usr/libexec/dovecot/pop3-login
15 }
16 default_mail_env = mbox:/var/spool/mail/vhosts/imap/%d/%n:INBOX=/var/spool/mail/vhosts/%d/%n
17 auth default {
18 mechanisms = plain digest-md5
19 userdb passwd-file {
20 args = /etc/dovecotusers
21 }
22 passdb passwd-file {
23 args = /etc/dovecotpasswd
24 }
25 }
26 auth_executable = /usr/libexec/dovecot/dovecot-auth
27 auth_verbose = yes
В общем-то все настройки достаточно прозрачны. Кратко остановимся на нескольких из них.
Строки 07-10 и 11-15 описывают работу с протоколами IMAP и POP3 соответственно. В строке 16 описываем тип почтового хранилища (mbox) и пути до почтовых хранилищ. В строке 18 описываем список механизмов авторизации. В строках 19-20 описываем путь до файла, в котором мы будем хранить описание виртуальных пользователей. В строках 22-23 описываем путь до файла паролей наших виртуальных пользователей.
Файл /etc/dovecotusers имеет следующий формат:
admin@domain1.com::5000:5000
info@domain1.com::5000:5000
admin@domain2.com::5000:5000
Где admin@domain1.com соответствующее имя виртуального пользователя, 5000:5000 - uid и gid пользователя, от имени которого будет осуществляться доступ. (В нашем случае - пользователя virtual)
Файл /etc/dovecotpasswd имеет следующий формат:
admin@domain1.com:{DIGEST-MD5}14047eef548ca5c4ec3d8fe0fbd0008d
info@domain1.com:{DIGEST-MD5}a007da406ccb88f19d6eb084e86a64b4
admin@domain2.com:{DIGEST-MD5}fe7eaec0af385078759d38b5c78dec10
Соответственно имя виртуального пользователя, схема {DIGEST-MD5}, и пароль. Для всех имен в нашем примере пароль test.
Для генерации паролей в пакете dovecot присутствует утилита dovecotpw. Пример использования для имени admin@domain1.com:
dovecotpw -s DIGEST-MD5 -u admin@domain1.com
утилита запрашивает пароль, его подтверждение и выдает на консоль сгенерированный пароль, который и нужно добавить в файл /etc/dovecotpasswd
С настройкой разобрались. Теперь рестартуем dovecot
service dovecot restart
настраиваем наш локальный POP3 IMAP клиент и принимаем почту.
Замечательная статья, как и сам сайт =)
↓ Quote | Posted July 3, 2007, 7:40 pmСейчас как раз разбираюсь с postfix.
Не могли бы Вы рассказать про то, как тоже самое сделать в Cyrux.
Ошибочка =)
↓ Quote | Posted July 3, 2007, 9:02 pmНе Cyrux, я Cyrus
Спасибо за положительный отзыв!
↓ Quote | Posted July 4, 2007, 4:21 pmВозможно скоро опишу как устанавливать тоже самое только для связки postfix + cyrus sasl. Как вариант могу рекомендовать вот эту ссылку http://howtoforge.org/perfect_server_centos4.5_p5
эх еще б на постфик с довкотом сверху спамасаси и кламав) да еще б понять накой все эти сертификаты) было бы вообще роскошно)
↓ Quote | Posted October 17, 2007, 2:01 pmа вообще спасибо за материал, кое-что почерпнул)
Напишу и об этом. Эта тема тоже очень актуальна. Спасибо за хороший отзыв.
↓ Quote | Posted October 17, 2007, 2:10 pmhttp://www.gentoo.org/doc/en/mailfilter-guide.xml
↓ Quote | Posted October 18, 2007, 11:44 amвот кстати очень развернутая дока и очень заумная)
как-нибудь попытаюсь с ней разобратся, вообще сайт генто это кладезь полезных доков практически по любым вопросам)
Согласен! Сайт отличный у них. Но решить частично проблему спама можно менее трудоемкими методами.
↓ Quote | Posted October 18, 2007, 11:51 amвот об этом неплохо было бы написать статью)
↓ Quote | Posted October 22, 2007, 8:42 amпросто то что я видел у буриков точно слишком раздуто, не использует стандартных решений той же федоры (авахи и клам).
Лично я использую связку postfix+mailscanner+clamav. Попозже думаю напистаь на эту тему заметку. Сложностей там особых нет.
↓ Quote | Posted October 25, 2007, 12:38 pmНе могли бы вы подсказать, что предпочтительнее: mbox или mailbox? Разницу между ними я понимаю, но что лучше выбрать, чтобы потом не было проблем?
↓ Quote | Posted December 6, 2007, 2:03 pmЯ бы посоветовал использовать mbox.
↓ Quote | Posted December 6, 2007, 2:16 pmТак исторически сложилось.
Не будет проблем к примеру с IMAP, с dovecot опять же. Используйте лучше mbox.
спасибо! тоже почему-то mbox больше нравится. ага доступ по imap делаю. осталось разобраться с shared mailbox
↓ Quote | Posted December 6, 2007, 4:33 pmПростите, а вы с shared mailbox сталкивались?
↓ Quote | Posted December 7, 2007, 9:05 pmНашел тут заметку http://tumbleweed.org.za/2007/10/03/dovecot-shared-mailboxes-the-correct-way/ , всё настроил, но есть одна проблема:
Как сделать чтобы все клиенты могли отправлять почту от имени расшаренного аккаунта? Но сделать это нужно средствами сервака, чтобы клиентам ничего не нужно было настраивать =(
Вы не совсем корректно поставили вопрос. И я на него некорректно ответил.
Правильнее было бы спросить какой их mailbox форматов предпочтительнее: mbox или maildir? Я бы ответил что на данный момент правильнее было бы использовать maildir. Он лучше и надежнее и с IMAP именно он правильно работает. Короче прошу у всех прощения за введение в заблуждение. maildir - предпочтительнее.
↓ Quote | Posted December 7, 2007, 10:43 pmой, простите, ещё раз спасибо =)
↓ Quote | Posted December 7, 2007, 11:56 pmпойду тогда с начала разбираться с maildir
уфф, разобрался =) теперь почта доставляется в папку пользователя в maildir формате
↓ Quote | Posted December 9, 2007, 11:41 pmА про shared mailbox (вопрос чуть выше) Вы ничего не можете посоветивать?
Чего то у меня не получается настроить ( Делаю все как написано в статье, отключаюсь от интернета и пытаюсь отослать письмо от одного юзера в сети к другому, но ничего не получается. Как узнать, в чем причина?
↓ Quote | Posted March 19, 2008, 10:37 pm