Обзор и установка почтового сервера iRedMail

    Доброго времени суток!

    Представляю вашему вниманию обзор, установку и настройку замечательного пакета iRedMail на базе Debian Lenny.

    iRedMail — это:

    1) Полноценный почтовый сервер.
    2) Работает под управлением Red Hat® Enterprise Linux (5.x), CentOS (5.x), Debian(5.0.x), Ubuntu (8.04, 9.04, 9.10), FreeBSD (7.x, 8.0).
    3) Работает как и на обычной системе, так и под управлением виртуальной машины: пр. VMware, OpenVZ, Xen.
    4) Поддержка архитектур i386 и x86_64.
    5) Использует для установки и настройки совместимые компоненты, такие как Postfix, Dovecot, SpamAssassin и т.д.
    6) При установке использует бинарные пакеты из вашего дистрибутива.
    7) Проект с открытым исходным кодом, распространяемый под лицензией GPL v2.
    8) Поддержка двух бэкэндов для хранения виртуальных доменов и пользователей: OpenLDAP и MySQL.
    9) Безлимитное число поддержки доменов, пользователей, почтовых алиасов.
    10) Поддержка двух Web-Интерфейсов (RoundCube и SquirrelMail).

    Этот пакет очень удобен в настройке и установке.

    1) Удобен этот пакет в том, что:
    а. Не нужно много знаний, т.е. процесс установки и настройки совсем не сложный.
    б. Требует минимум времени на разворот корпоративной почты. Я потратил на установку этой сборки буквально 20 минут.
    в. В комплекте идет весь необходимый софт для почтового сервера.(Антивирус, Антиспам, 2 Web-Интерфейса(по выбору)

    2) Аналогов данного пакета не существует.

    Схема работы iRedMail:

    image

    Анти-Спам и Анти-вирус.
    В качестве антиспама и антивируса выступают 2 популярных пакета, это SpamAssassin и ClamAV

    Что поддерживает iRedMail для защиты почты:
    1. Поддержка SPF (Sender Policy Framework).
    2. Поддержка DKIM (DomainKeys Identified Mail).
    3. Поддержка Greylist.
    4. Поддержка «Белых списков» ( на основании DNS имени и IP адреса)
    5. Поддержка «Черных списков» ( на основании DNS имени и IP адреса)
    6. Поддержка «Черного списка» HELO запросов.
    7. Поддержка HPR (HELO Randomization Prevention)
    8. Поддержка Spamtrap.
    9. Интерграция SpamAssassin
    10. Интеграция ClamAV, автообновление вирусных баз.

    Поддержка почтовых клиентов:

    Почтовые клиенты с поддержкой POP3/POP3S и IMAP/IMAPS. Haпример: Mozilla Thunderbird, Microsoft Outlook, Sylpheed.

    Установка iRedMail.

    В качестве почтового сервера я выбрал iRedMail. Это сборка Postfix+LDAP(MySQL)+SpamAssassin+ClamAV+AmaViS+Dovecot+RoundCube (SquirrelMail) и т.д. В данной статье мы будем рассматривать настройку этого замечательного сервера на базе OpenLDAP.

    Внимание! Не забудьте сменить example.com на имя вашего домена.

    Немного поправим наше имя хоста:
    vi /etc/hosts

    127.0.0.1 mail.example.com localhost localhost.localdomain

    vi /etc/hostname
    mail.example.com

    Сохраняем изменения командой:
    /etc/init.d/hostname.sh start

    Проверим FQDN имя хоста:
    hostname –f

    Вся установка проводится под пользователем root!

    Скачиваем в директорию /tmp данный файл:

    cd /tmp && wget iredmail.googlecode.com/files/iRedMail-0.6.0.tar.bz2

    Установим архиватор:
    apt-get install bzip2

    Нужно распаковать данный архив:
    tar -xvjf iRedMail-0.6.0.tar.bz2

    Переходим в директорию /tmp/iRedMail-0.6.0/pkgs/ и запускаем установочный скрипт:
    bash get_all.sh

    Пойдет загрузка необходимых пакетов.
    Для работы dovecot нужно поставить Candidate версию пакета. C другой работать не будет!
    apt-cache policy dovecot-common dovecot-pop3d dovecot-imapd | grep 'Candidate'
    Команда отдаст пустой результат.

    Переходим в директорию установочного скрипта:
    cd /tmp/iRedMail-0.6.0/

    Запускаем установочный скрипт:
    bash iRedMail.sh
    Появится окно инсталлятора:
    image

    Выбираем путь, где будет храниться вся наша почта:
    image

    Выбираем бэкэнд для нашего сервера. Поддерживаются MySQL и OpenLDAP. Мы выберем OpenLDAP:
    image

    LDAP суффикс для нашего сервера добавляется так: dc=example,dc=com
    image

    Введем пароль для администратора LDAP сервера. Учетная запись администратора по умолчанию находиться в /etc/ldap/slapd.conf. Обычно это: cn=Manager,dc=example,dc=com
    image

    Вводим имя нашего домена:
    image

    Вводим пароль администратора(postmaster):
    image

    Первый пользователь который будет создан, это пользователь: www@example.com. Нам требуется придумать для него пароль:
    image

    Включаем проверку SPF и функцию проверки DKIM:
    image

    Ставим доп. компоненты:
    image

    Сделаем алиас для юзера root:
    image

    Конфигурация завершена.
    Появляется сообщение:
    Configuration completed.

    *************************************************************************
    **************************** WARNNING ***********************************
    *************************************************************************
    * *
    * Please do remember to *REMOVE* configuration file after installation *
    * completed successfully. *
    * *
    * * /root/iRedMail-x.y.z/config
    * *
    *************************************************************************
    <<>> Continue? [Y|n] # <- Type 'Y' or 'y' here, and press 'Enter' to continue


    Жмем Y и дожидаемся окончания установки.
    Создание пользователя проходит на странице: example.com/postfixadmin
    Входим в postfixadmin пользователем postmaster@example.com и в меню выбираем “Создать ящик”
    image

    Пользователь создан!

    Также PostfixAdmin позволяет:
    1. Добавить нового администратора.
    2. Добавить домен.
    3. Создать почтовый ящик.
    4. Создать алиас.
    5. Изменить пароль администратора.
    6. Просматривать журнал действий для домена.
    7. Устанавливать и управлять квотами пользователей.

    Список доступа к компонентам:
    image

    Сервер установлен и настроен!

    UPD: Для корректной работы почтового сервера обязательно нужна MX запись на DNS сервере, к которому привязан ваш домен!

    Ссылки на проекты:
    Debian
    iRedMail
    Posftix
    OpenLDAP
    MySQL
    SpamAssasin
    ClamAV
    AMaViS
    Dovecot
    RoundCube
    SquirrelMail
    Awstats
    phpLDAPAdmin
    phpMyAdmin

    Копирование статьи допускается только с разрешения её авторов.
    r0ster (http://exbyte.ru) и t1mbo (http://greentale.ru)
    Метки:
    Поделиться публикацией
    Комментарии 87
    • –6
      А в чем смысл этого топика? Показать картинки установки?
      • +17
        Смысл в том, чтобы рассказать людям о таком замечательном пакете как iRedMail.
        Кстати, о нем еще не писали.
        • –6
          так опишите его, а не его установку в скриншотах ;)
          • +4
            По ходу установки видно какие компоненты используются
            • –10
              ну чего ты уперся? никому не интересна эта установка, ну опиши ты человеческим языком, да объясни как это удобно и чем лучше аналогов. и увидишь как твой топик оценивают не в два балла, а намного больше.
              • +3
                Дописал, извиняюсь если казался грубым :)
                • +4
                  тут скорее я грубым кажусь, извините
                  спасибо что дописали, сразу ведь другое дело.
      • +4
        > Внимание! Под катом очень много фото! Осторожно траффик!

        десять «фоток» по 10 кило, осторожно трафик :)
      • 0
        А как связывается ClamAV и SpamAssasin с этим добром?
        • 0
          Связывается ClamAV и SpamAssasin через AMaViS, который слушает TCP порт 10024 и передает на сканирование спама и вирусов SpamAssasin и ClamAV соответственно, возвращая все в MTA через TCP порт 10025.
        • +1
          Благодарю. Не знал про существование столь удобного пакета.
          • +1
            Я свой первый хабратопик тоже с куча скринами сделал — отхабрили, т.к. это немного по детски… всё таки…
          • 0
            А если это сравнить с zimbra?
            • +1
              Все равно что сравнить кухонный комбайн с вилкой.
            • НЛО прилетело и опубликовало эту надпись здесь
              • +1
                путаете теплое и мягкое. sendmail — это MTA. сабж — это связкого всякого разного, в том числе и MTA, в данном случае это postfix. касательно шлимыла, ничего сложного там нет, в некоторых случаях подкрутить две гайки в коробочном шлимыле проще и быстрее, чем заменять его на постфиксы и ексимы.
                • +3
                  М… Я в своё время пытался. Потом понял, что придётся учить местый ассемблер, плюнул, поставил постфикс.
                  • 0
                    Вы все-таки не до конца разобралисись.
                    1)Не ассемблер, а язык макрокоманд m4
                    2)У sendmail вменяемые конфигурационные файлы, которые «компилятся» в m4

                    p.s. до сих пор пользуюсь sendmail. Позволяет делать, все что я хочу, к тому же нативно стоит в FreeBSD. Честно скажу, другой MTA просто не пробовал, потому что полностью устроил sendmail.
                    • +3
                      Разобрался, разобрался (во всём, кроме синтаксиса cf'а). И уткнулся в состояние, когда все гвайдлайны говорили «а теперь пойти и пропиши вот эту кракозябру, чтобы SPF/name-blacklist/etc заработал». Я подумал-подумал, что без изучения этого языка я не смогу адекватно контролировать и понимать сендмыл. И ещё я подумал, что мне не нравится его синтакисис.

                      Сендмылом пользовался 3 года (достался от предыдущего админа). В какой-то из раз, когда из-за опечатки закомменченная только '#' строчка попала в конфиг, я понял «стоп, всё, хватит».

                      Постфикс осваивается за микроскопическое время. Наличие в FreeBSD как штатного клиента… Ну, для тех, кто пользуется фрёй, это, наверное, плюс. Но в дебиане «штатно» есть на выбор и sendmail, и postfix, и exim4 (и ещё кто-то, не помню), так что для линукса это не аргумент.

                      А вот что для меня стало киллерфичей postfix'а — так это наличие транспорта (т.е. обработчика писем) mailman'а. После чего простыни -subscribe/-unsubscribe из конфигов исчезли, а создание списка стало делом одной команды (или вообще, веб-морды).
                      • 0
                        вот они, любители bsd — свято верят что конфиги sendmail-a это «язык макрокоманд m4» а другие просто «не до конца разобрались»
                        • 0
                          я прекрасно знаю в какие кракозябры компилица m4 и честно скажу в cf ручками не пришлось ни разу слазить, только чтобы посмотреть. править ни разу не приходилось
                      • 0
                        боже упаси, какие ассемблеры? О_О руками править сырой sendmail.cf прекратили наверно еще в первой половине 90ых годов прошлого столетия :) ну или как минимум необходимость его трогать на каждый чих отпала точно.

                        не то чтобы я был любителем шлимыла, мне лично очень нравится exim за его гибкость фильтров и вообще. создание «годного» почтаря на шлимыле вопрос отдельный и не тривиальный, да. но если не хотеть звезд с неба, то коробочное шлимыло во фре и салярисе вполне устраивает :)
                  • 0
                    Спасибо, проект заинтересовал.
                    • +2
                      > Аналогов данного пакета не существует
                      Да неужели? :)
                      • –1
                        Приведите пример, пожалуйста.
                        • +1
                          Да я тут как раз недавно советовал бесплатную версию Axigen Все примерно то же самое — визард для инсталляции, веб-мейл, веб-админка, модули для антивирусного и антиспам-контроля + куча всего еще. Работает на удивление стабильно в любых условиях.
                          Ну конечно это не GPL — вот пожалуй единственное отличие.
                          • 0
                            Спасибо, обязательно возьму на заметку ;)
                            • 0
                              Прошу прощения за некропостинг.
                              Я, вняв вашему совету, решил попробовать Axigen и столкнулся со следующей проблемой: при работающем Greylisting невозможно принимать почту например с Gmail. История тянется достаточно давно, но решения, кроме как отключить Greylisting, вроде как не видно.
                              Это на заметку таким же как и я, ищущим почтовый «комбайн».
                            • +1
                              Для win есть такой сервачёк(open source):
                              www.hmailserver.com/
                              www.hmailserver.com/index.php?page=functionality
                              Для небольшой конторки годится.
                              • 0
                                Небольшая конторка — это сколько? 50 пользователей потянет?
                                • 0
                                  50 уже возможно многовато, если активно будет использоваться. Я испытывал на 20-25 рабочих местах. В общем, попробуйте на 50. Возможно будет нормально. К этому серверу я прикручивал www.roundcube.net Хорошая вещь.
                                  • 0
                                    Насколько там возможно русификация?
                          • +3
                            Странный обзор. О возможностях и составных частях упомянули, а вот как именно происходит управление отдельными компонентами и насколько оно удобно устроенно — ни слова.
                            Как происходит управление белыми/черными списками, можно ли тюнить спамассассин, как задаются квоты, и т.д. и т.п. это было бы гораздо интереснее услышать.

                            О том что какая-то единая панель управления таки есть (Official web-based iRedMail Admin Panel), видно только на одном скриншоте установки, при этом ни одного скриншота этой самой панели нет.
                            • 0
                              Это постфиксадмин и никакого отношения к iRedMail он не имеет.
                              • 0
                                Да нет, автор поста видимо поменял скриншоты уже. Там был скриншот, где показывался выбор компонентов при установке, в том числе компонента «Official web-based iRedMail Admin Panel».
                                • 0
                                  кстати полнофункциональный Official web-based iRedMail клиент платный:(
                                  и работает только с LDAP.
                            • –1
                              типа автонастраиватель
                              • –3
                                ClamAV- что это такое?
                                Мне нужны принципиально новые решения! xD
                                • 0
                                  А какие нагрузки пакет рассчитан?
                                  • +2
                                    минус таких вот сборок где всё работает «изкаробки», в случае каких-либо проблем «администратор» столкнется с большими проблемами. И причина будет не в этом пакете, а в том что он не удосужится разобраться в каждом отдельном компоненте и в связывании оных…

                                    так что мой совет: сначала установите всё самостоятельно (т.е. соберите свой iRedMail) и когда будете уже знать что к чему, можно пользоваться подобными сборками (если останется желание...)
                                    • +1
                                      Думаю например для новичков будет приятно увидеть, что все настроилось и работает правильно и потом можно взяться за более глубокое изучение почтовых систем в целом.
                                      • 0
                                        Для «новичков» отлично сойдёт дефолтный postfix/exim из дебиана. Сделал make install, ответил на два вопроса — и оно уже работает. И почту принимает, и отправляет.
                                    • +1
                                      Традиционный вопрос: и? Это действительно почтовый сервер организации? Он готов выдержать 300 ящиков по 10Гб на сервере и тыкание пользователем кнопочки «перенести эти 30000 сообщений в соседнюю папку»?

                                      Я ничего плохого не хочу сказать, но я пока не видел схемы почтового сервера для юникса, которая бы могла работать как хранилище почты. Если у кого-то на примете есть, говорите, интересно посмотреть.
                                      • 0
                                        Насчет таких нагрузок как вы написали я не знаю, но у знакомого на работе стоит этот пакет, обслуживающий чуть более 100 компьютеров, говорит что проблем никаких никогда не возникало.
                                        • 0
                                          какой меткий вопрос у товарища maxkoryukov'а несколькими комментами выше (:

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

                                          да и dovecot вызывает сомнения, ибо на большом количестве писем распиханых на ящиках начинает тупить или вовсе виснуть, проводили измерения, да. правда не так что бы сегодня или вчера, возможно с того времени что-то поменялось радикально, хотя я конечно сомневаюсь :)

                                          вобщем, да, не торт. но на офес в десять пользователей, регулярно чистящих свою почту сгодится :)

                                          • 0
                                            В таких случаях помогает разнесение компонентов на отдельные машинки, если этот пакет умеет такое, конечно.
                                            • +1
                                              Каких компонент? В описанной конфигурации нагрузка на mta/mda стремится к нулю (на современном железе пропустить через себя 10-20 тысяч писем в день — ерунда).

                                              Проблема же в некоем M?A (которого нет в оригинальном разделении) и который вынужден хранить почту и выполнять запросы пользователей, т.е. работать базой данных на сотни гигабайт, и разделение которого на несколько серверов в рамках SMTP/IMAP не предусмотрено.
                                          • 0
                                            а нужно прописывать МХ запись на свой сервер, или еще что, я как то не нашел ни слова про это.

                                            Вы говорите про антивирусы, а в настройке не слова не сказано как их подключить( да вы сказали про порт), но где это в настройке?

                                            • 0
                                              Антивирус и антиспам настраиваются и подключаются автоматически при установке.

                                              MX запись само собой прописывать надо, но моя статья описывает и показывает только лишь процесс настройки сервера :)
                                              • 0
                                                можно не писать
                                                тогда почта будет идти прямо на домен
                                                т.е. отправляете на user@example.com
                                                почта пойдет на почтовый сервер запущенный на example.com
                                              • +1
                                                ну а смысл. вот новичок настроит все что вы написали. и дальше что будет сидеть ждать у моря погоды.

                                                Имхо лучше дописать хоть в двух словах.
                                                • 0
                                                  Дописал, спасибо.
                                                • +1
                                                  iRedMail — пакет для тех, кто сам не в состоянии настроить себе postfix :)
                                                  • 0
                                                    Да, так и есть.
                                                    Данное решение максимум уживется в маленькой компании (5-50 ящиков) с небольшим потоком писем т.к. amarao уже сказал — а что будет если кинуть 30000 писем из папки «Входящие» в папку «Потом разберу эти рассылки».

                                                    Но, есть одно большое «но»! Спрашивается — зачем заморачиваться со своим сервером и каким-то iRedMail если есть Google Apps который будет работать лучше и бесплатно?
                                                    • 0
                                                      Бесплатно? 50 баксов на пользователя в год.
                                                  • 0
                                                    где то выше писали о неуместности сравнения iRedMail с пакетом ZImbra OSE хотя в большинстве установок zimbta она используется как просто почтовый сервер, так вот к чему это я — Зебра вполне успешно перемещает папки большого (около 2гиг) и оченьбольшого объема с места на место при этом никакой задержки не наблюдается
                                                    • 0
                                                      Только железо нужно хорошее ;)
                                                      • 0
                                                        У меня пользователей 120, железо: cpu 2.6 х4 xeon, 8gb ram (java всетаки), 2х1000мб sata mirror — и ничего так все ворочается
                                                        • 0
                                                          Ну я об этом и говорил, на такой железке даже 1С будет без тормозов
                                                    • +1
                                                      Спасибо за статью — занес в избранное, потом, подумав, добавил в букмарки… и тут же поставил звездочку в rss-ридере — теперь не пропадет. Ибо установка почты — всё-таки не каждый день делается, и не каждый месяц — а для малого офиса такой серверок развернуть, особенно если сроки, как обычно «надо еще вчера»!
                                                      • 0
                                                        Приятно слышать, спасибо :)
                                                      • 0
                                                        Мне как-то проще ручками настроить все это =)
                                                        • 0
                                                          Спасибо, хороший туториал.
                                                          • 0
                                                            Интересно, а поддержка DKIM у него входящяя или исходящяя (в смысле отправленные имейлы подписаны сертификатами)?
                                                            • 0
                                                              Поддержка DKIM у него входящяя
                                                              • +1
                                                                Входящая* *упс*
                                                                • 0
                                                                  Жаль, что нет исходящей, так как ее сложнее настроить ручками…
                                                              • +1
                                                                Исходящая* *упс*
                                                              • +1
                                                                30 секунд буквоедства=)

                                                                «Это сборка Postfix+LDAP(MySQL)+SpamAssanin» — Assassin, очепятки по всему тексту =)

                                                                сорри, всегда читаю внимательно. статья хорошая, сделал из нее пдфку и положил в библиотеку.
                                                                пишите еще.
                                                                • +1
                                                                  Спасибо, исправил.
                                                                  Рад что понравилась статья.
                                                                • 0
                                                                  У меня плчему-то hostname –f выдаёт «hostname: the specified hostname is invalid», хотя, вроде, всё работает.
                                                                  • 0
                                                                    Прочтите пожалуйста по-внимательнее тему, начинаю со слов: «Внимание! Не забудьте сменить example.com на имя вашего домена.»…
                                                                    • 0
                                                                      Вы думаете я идиот? Разумеется я это не забыл, точнее вообще у меня в hosts и в hostname всё давно прописано, просто мне никогда не приходило в голову делать команду hostname –f.
                                                                      • 0
                                                                        Проверьте все ли верно прописано, на всякий случай выполните команду:
                                                                        /etc/init.d/hostname.sh start
                                                                        • 0
                                                                          hostname.sh e у меня там вообще нет, есть просто /etc/init.d/hostname, и от его запуска ситуайия не меняется (кстати, я перезагружался, если что). Я уже и реально на DNS сервере этот свой сервер прописал, и он норально ресолвится и из Internet и через hosts. В hostname пробовал прописывать и FQDN и просто имя. Всё один хрен — hostname: the specified hostname is invalid.
                                                                  • 0
                                                                    Не ставится. Ubuntu 10.04 Server.

                                                                    Бага: https://bugs.launchpad.net/ubuntu/+source/postfix-policyd/+bug/560144
                                                                    • 0
                                                                      >> Ubuntu (Only 8.04, 9.04, 9.10)
                                                                      • 0
                                                                        Жаль. Смысла немного тогда сегодня в нём. Я уж было обрадовался (как раз задача встала мэйл-сервер поднять срочно (а я только с винды слез две недели как), и тут фигак — эта статья). Но ничего, разберёмся…
                                                                        • 0
                                                                          12.04 встало легко. 0.8.1
                                                                          • 0
                                                                            Тьфу, я некропостингом занялся :)
                                                                            • +1
                                                                              На 14.04 ещё лучше.
                                                                        • 0
                                                                          Чудесная почтовая система. Рекомендую всем!
                                                                          • 0
                                                                            Скрипт деинсталляции отстойный. Сносит все конфиги, потом апач не работает, а мускуль только поле удаления базы данных запускается.
                                                                            • 0
                                                                              Адская, адская фигня. Если ставить на существующию систему в которой (О БОЖЕ!!!) уже был установлен MySQL, то эта дрянь мало того что сама корректно не встанет, так ещё и конфиги апача перетрет и ваши виртуальные хосты лягут. А назначить как-то логин/пароль до или во время установки нельзя…
                                                                              • 0
                                                                                А для этого в оф доке написано предупреждение. А если кому-то лень заглядывать в оф доки, то, как говорится, сам виноват.

                                                                              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.