Настраиваем виртуальный почтовый хостинг с ипользованием 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 клиент и принимаем почту.

Рейтинг@Mail.ru

очистные сооружения для дачи и загородного дома

Группа компаний "РОСНО" - каско. Эффективное ведение бизнеса.
Для избиркомов: изготовление избирательных урн мебель витрина
cartus hp

17 Comments


  1. Замечательная статья, как и сам сайт =)
    Сейчас как раз разбираюсь с postfix.
    Не могли бы Вы рассказать про то, как тоже самое сделать в Cyrux.

    Quote | Posted July 3, 2007, 7:40 pm

  2. Ошибочка =)
    Не Cyrux, я Cyrus

    Quote | Posted July 3, 2007, 9:02 pm

  3. Спасибо за положительный отзыв!
    Возможно скоро опишу как устанавливать тоже самое только для связки postfix + cyrus sasl. Как вариант могу рекомендовать вот эту ссылку http://howtoforge.org/perfect_server_centos4.5_p5

    Quote | Posted July 4, 2007, 4:21 pm

  4. эх еще б на постфик с довкотом сверху спамасаси и кламав) да еще б понять накой все эти сертификаты) было бы вообще роскошно)
    а вообще спасибо за материал, кое-что почерпнул)

    Quote | Posted October 17, 2007, 2:01 pm

  5. Напишу и об этом. Эта тема тоже очень актуальна. Спасибо за хороший отзыв.

    Quote | Posted October 17, 2007, 2:10 pm

  6. http://www.gentoo.org/doc/en/mailfilter-guide.xml
    вот кстати очень развернутая дока и очень заумная)
    как-нибудь попытаюсь с ней разобратся, вообще сайт генто это кладезь полезных доков практически по любым вопросам)

    Quote | Posted October 18, 2007, 11:44 am

  7. Согласен! Сайт отличный у них. Но решить частично проблему спама можно менее трудоемкими методами.

    Quote | Posted October 18, 2007, 11:51 am

  8. вот об этом неплохо было бы написать статью)
    просто то что я видел у буриков точно слишком раздуто, не использует стандартных решений той же федоры (авахи и клам).

    Quote | Posted October 22, 2007, 8:42 am

  9. Лично я использую связку postfix+mailscanner+clamav. Попозже думаю напистаь на эту тему заметку. Сложностей там особых нет.

    Quote | Posted October 25, 2007, 12:38 pm

  10. Не могли бы вы подсказать, что предпочтительнее: mbox или mailbox? Разницу между ними я понимаю, но что лучше выбрать, чтобы потом не было проблем?

    Quote | Posted December 6, 2007, 2:03 pm

  11. Я бы посоветовал использовать mbox.
    Так исторически сложилось. :-)
    Не будет проблем к примеру с IMAP, с dovecot опять же. Используйте лучше mbox.

    Quote | Posted December 6, 2007, 2:16 pm

  12. спасибо! тоже почему-то mbox больше нравится. ага доступ по imap делаю. осталось разобраться с shared mailbox ;)

    Quote | Posted December 6, 2007, 4:33 pm

  13. Простите, а вы с shared mailbox сталкивались?
    Нашел тут заметку http://tumbleweed.org.za/2007/10/03/dovecot-shared-mailboxes-the-correct-way/ , всё настроил, но есть одна проблема:
    Как сделать чтобы все клиенты могли отправлять почту от имени расшаренного аккаунта? Но сделать это нужно средствами сервака, чтобы клиентам ничего не нужно было настраивать =(

    Quote | Posted December 7, 2007, 9:05 pm

  14. Вы не совсем корректно поставили вопрос. И я на него некорректно ответил. :-) Правильнее было бы спросить какой их mailbox форматов предпочтительнее: mbox или maildir? Я бы ответил что на данный момент правильнее было бы использовать maildir. Он лучше и надежнее и с IMAP именно он правильно работает. Короче прошу у всех прощения за введение в заблуждение. maildir - предпочтительнее.

    Quote | Posted December 7, 2007, 10:43 pm

  15. ой, простите, ещё раз спасибо =)
    пойду тогда с начала разбираться с maildir

    Quote | Posted December 7, 2007, 11:56 pm

  16. уфф, разобрался =) теперь почта доставляется в папку пользователя в maildir формате
    А про shared mailbox (вопрос чуть выше) Вы ничего не можете посоветивать?

    Quote | Posted December 9, 2007, 11:41 pm

  17. Чего то у меня не получается настроить ( Делаю все как написано в статье, отключаюсь от интернета и пытаюсь отослать письмо от одного юзера в сети к другому, но ничего не получается. Как узнать, в чем причина?

    Quote | Posted March 19, 2008, 10:37 pm

Leave a reply

*
To prove that you're not a bot, enter this code
Anti-Spam Image