Создание почтового сервера при помощи iRedMail

Источник: tux

Настройка полноценной почтовой системы на базе Unix ни когда не считалась очень простой. Используя iRedMail можно быстро развернуть необходимые сервисы, не имея большого опыта.

Не секрет, что многие новички недолюбливают Unix из-за необходимости чтения документации. Это не недостаток этих систем, как таковой. Просто здесь несколько иной принцип чем в Windows, когда нужные функции набираются подобно мозаике, составляя в итоге ту картину которую хочет видеть администратор. Это позволяет при наличии определенного опыта полностью контролировать процесс, но отпугивает новичков. Так как (по своему опыту сужу) многие на этом этапе впервые узнают, что за отправку почты и получение ее почтовым клиентом отвечают разные протоколы. И собрать мозаику с нужными функциями бывает не просто. Инструкции, размещенные в Интернет, бывают противоречивыми, а то и устаревшими. Да и часто незначительная ошибка ведет к тому, что все не стыкуется. В Windows установка почтового сервера в большинстве своем состоит из последовательного нажатия клавиши "Далее" ("Next"). Как быть в такой ситуации, когда нужно лицензионно чистое решение по минимальной цене, а администратор в Unix разбирается лишь поверхностно? Вот в такой ситуации и могут помочь наработки проекта iRedMail (iredmail.org, code.google.com/p/iredmail).

Функции iRedMail

По сути, основой iRedMail является набор скриптов и конфигурационных файлов, упрощающий процесс развертывания и первоначальной настройки почтового сервиса на базе Postfix и Dovecot с поддержкой протоколов SMTP, POP3 и IMAP. Хотя это только поверхностное впечатление. В процессе работы скрипт скачивает и проверяет все пакеты, затем помогает создать первые настройки при помощи интерфейса построенного на dialog. И только затем устанавливает выбранные компоненты. В процессе создается первый виртуальный домен с администратором и пользователем. При достаточной скорости соединения с Интернет и определенных навыках, на развертывание сервиса уходит время до 5 минут. Далее можно создавать любое количество доменов, почтовых ящиков и алиасов. Учетные записи могут сохраняться в OpenLDAP или MySQL.
Как мы увидим далее, в процессе задается минимум вопросов. Все компоненты будут автоматически инсталлированы на один "чистый" сервер. Подключиться к MySQL установленному на другом компьютере можно лишь после, выполнив все настройки вручную и создав нужные базы. Для некоторых конфигураций почтового сервера такой подход возможно и не подойдет, так как не дает достаточных возможностей по управлению. Но очевидно, что разработчики iRedMail и не ставили такой задачи.
Кроме этого устанавливаются все необходимые компоненты для защиты электронной почты от спама и вирусов обеспечивающих поддержку - SPF (Sender Policy Framework), DKIM (DomainKeys Identified Mail), HPR (HELO Randomization Prevention), белых/серых/черных списков (на основании DNS имени и IP адреса), Spamtrap, интеграция SpamAssassin и ClamAV (через AMaViS). Плюс надстройка над iptables Fail2ban, обеспечивающая блокировку удаленных систем по определенным правилам в частности защиту от попыток подбора пароля.
Кроме набора серверов Postfix, Dovecot, Apache, OpenLDAP, MySQL предлагается несколько интерфейсов управления. В первую очередь это почтовый веб-интерфейс Roundcube WebMail (в ранних версиях на выбор предлагался и SquirrelMail), а также средства управления специфическими сервисами - phpLDAPadmin, PostfixAdmin, phpMyAdmin и просмотра статистики Avstats. Естественно получать и отправлять почту можно при помощи любого почтового клиента.
Кроме этого предлагается интерфейс администратора собственной разработки - iRedAdmin, доступный в двух версиях OpenSource и коммерческий iRedAdmin-Pro (цена $199). Свободная версия, как часто бывает, ограничена в возможностях и позволяет управлять лишь учетными записями и доменами. Коммерческая, разработана в двух вариантах - LDAP и MySQL, и покрывает практически все вопросы администрирования почтовой системы. В частности обеспечивает просмотр и удаление спам сообщений, сохраненных в базе данных MySQL, при использовании OpenSource версии iRedAdmin, администратору придется самостоятельно решать эту задачу, например при помощи того же PHPMyAdmin, плюс правка конфигурационных файлов, что несколько не удобно, да и потребует некоторого опыта. Хотя в большинстве ситуаций такое вмешательство может и непотребоваться , тем более, что интерфейс RoundCube позволяет самим пользователям отправлять письма в спам, обучая фильтры.
Сравнительная таблица и ссылка на демоинтерфейс доступны на сайте. В отличие от демоверсии, в реальной системе есть возможность выбрать русский язык интерфейса.
Кроме этого в процессе установки будет загружено средство управления политиками Postfix - iRedAPD (Access Policy Delegation). Это еще одна разработка проекта, позволяющая более тонко делегировать полномочия между пользователями.
Особо подчеркивается, что специфических знаний при развертывании почтового сервера при помощи iRedMail не нужно. В принципе это верно, но отчасти. В процессе установки и последующей настройки администратору придется сталкиваться со специфическими терминами и чтобы ускорить процесс внедрения, важно понимать хотя бы их смысл.

Установка iRedMail на примере Ubuntu

Поддерживается установка iRedMail на Red Hat Enterprise Linux, CentOS, Debian, Ubuntu, openSUSE и FreeBSD. Все в как i386 так и в x86_64 версиях. Это может быть физический сервер или виртуальная машина. Кроме этого проект предлагает iRedOS (на базе CentOS) позволяющий быстро развернуть систему с предустановленным iRedMail. Загрузить его можно в виде ISO образа или kickstart файла для CentOS. На сайте проекта доступно несколько руководств, помогающих быстро сориентироваться. Весь процесс желательно производить на чистом сервере, хотя если часть сервисов уже инсталлированы ранее, обычно проблем не возникает.
Также перед началом установки следует убедиться, что полное имя сервера разрешается через DNS службу. Как минимум следует занести данные в /etc/hosts.

$ hostname -f
mail.example.org
$ cat /etc/hosts
127.0.0.1 mail.example.org localhost localhost.localdomain

Должны быть подключены репозитарии main и universe:

$ cat /etc/apt/source.list
 
deb http://ru.archive.ubuntu.com/ubuntu/ lucid main restricted
deb http://ru.archive.ubuntu.com/ubuntu/ lucid universe

Плюс необходимо заранее обновить операционную систему:

$ sudo apt-get update
$ sudo apt-get upgrade
 

Далее процесс прост, скачиваем архив и запускаем установочный скрипт с правами администратора.

$ wget -c http://iredmail.googlecode.com/files/iRedMail-0.7.2.tar.bz2
$ tar xjf iRedMail-0.7.2.tar.bz2
$ cd iRedMail-0.7.2
$ sudo bash ./iRedMail.sh

Вначале скрипт обновит список пакетов и загрузит архивы необходимое для установки. Далее попросит указать место хранения сообщений (по умолчанию /var/vmail), выбрать систему хранения учетных записей (OpenLDAP или MySQL), указать суффикс для LDAP (dc=example,dc=org), пароль для LDAP (cn=Manager), пароль администратора MySQL, ввести имя первого виртуального домена, и пароль администратора iRedAdmin (логин postmaster@имя_домена), пароль для первого пользователя (www@имя_домена). После чего следует отметить нужные компоненты для установки. Так как там ничего лишнего нет, обычно оставляют все. Указываем язык по умолчанию для веб-интерфейса почтовой системы и соглашаемся с началом установки. В процессе настройки, возможно, будут заданы вопросы по удалению сервисов, мешающих зависимостям и настройке iptables. По окончании будут выданы ссылки для входа в интерфейс управления. Перед началом работы сервер рекомендуется перезагрузить.
iRedMail может хранить учетные данные в LDAP или MySQL
В процессе развертывания можно отобрать дополнительные компоненты

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

На этом установку можно считать законченной. У скрипта есть одна неприятная особенность. Каждый пароль запрашивается только один раз и в случае ошибки никаких предупреждений не выводится. Поэтому если, например, неправильно ввести пароль root для уже установленной MySQL, то не будут созданы необходимые учетные данные и таблицы. Диагностируется такая ошибка при помощи анализа журналов, но исправляется очень тяжело. Поэтому нужно быть очень внимательным, хотя при использовании "чистой" системы проблем обычно не возникает. В остальном iRedMail действительно позволяет быстро развернуть работоспособный сервис.
Конфигурационный файл config и iRedMail.tips содержат все данные для входа, в том числе и логины и пароли указанные при установке, а также полный список конфигурационных и прочих файлов всех сервисов обеспечиваемых iRedMail. Их все желательно переместить подальше от чужих глаз.

Управление почтовым доменом при помощи iRedMail

Наша установка успешно завершена, теперь можно приступать к настройке. Для этого у нас имеется несколько веб-интерфейсов:

Адрес Назначение Логин для входа

  • http://example.org/mail/ https://example.org/mail/ Пользовательский почтовый веб-интерфейс RoundCube логин www@example.org и пароль указанный во время установки
  • https://example.org/iredadmin интерфейс администрирования iRedAdmin логин postmaster@example.org и пароль указанный во время установки
  • https://example.org/phpmyqdmin администрирование к MySQL - PHPMyAdmin логин root, и пароль для доступа к MySQL
  • https://example.org/phpldapadmin администрирование LDAP - phpLDAPadmin логин cn=Manager,dc=example,dc=org и пароль указанный во время установки
  • https://example.org/awstats/awstats.pl Статистика Awstats логин postmaster@example.org

Если для хранения учетных данных пользователей выбрана MySQL, вместо phpLDAPadmin будет установлен PostfixAdmin (https://example.org/postfixadmin). Все они в той или иной мере хорошо документированы и известны, поэтому кратко уделим внимание лишь OpenSource версии iRedAdmin автоматически устанавливаемой вместе с iRedMail.
Для управления OpenLDAP устанавливается phpLDAPadmin

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Интерфейс iRedAdmin состоит из нескольких вкладок. Выбор русского языка при регистрации в системе ничего не дает, поэтому чтобы его локализовать, переходим в Preferences и выбираем нужный в раскрывающемся списке.
В Панели Управления (Dashboard), куда попадаем сразу после входа, выводится общая системная информация по серверу (перевод здесь не совсем удачный, я бы назвал его Информационной панелью). В разделе Администраторы (Admins) представлены все учетные записи администраторов, журналы посещений которых можно просмотреть в Система - Логи админа (System - Admin Log). Наиболее востребованной будут параметры в меню Создать аккаунт (Add account), при выборе которого появляются подменю позволяющее добавить учетную запись пользователя, администратора или новый домен. Весь процесс выглядит очень простым даже для новичка. Например, при добавлении домена следует заполнить всего два поля - имя домена и название организации.
Создаем новую учетную запись при помощи iRedAdmin

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

После подтверждения, появится сообщение об успешном добавлении нового домена и ссылка, позволяющая сразу же добавить учетную запись пользователя. Это действие также не выглядит сложным - указываем адрес, выбираем в раскрывающемся списке домен и вводим пароль. Дополнительно задается имя и устанавливается дисковая квота в мегабайтах. Аналогично создается учетная запись администратора, только здесь дается возможность сразу задать предпочитаемый язык и в правой панели генерируется случайный пароль, который можно использовать. Для просмотра списков доменов и связанных с ними учетных записей следует перейти в Домены (Domain and Accounts). Вот собственно и все возможности интерфейса iRedAdmin, но их вполне хватает для обычных задач по обеспечению ввода почтового сервера в эксплуатацию.
Добавление домена в интерфейсе iRedAdmin

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Настройки iRedAdmin находятся в файле setting.ini расположенном в /usr/share/apache2/iredadmin. В частности здесь прописаны параметры для подключения к LDAP и MySQL.

***

На развертывании полноценного почтового сервера при помощи iRedMail даже с установкой операционной системы уйдет не более получаса. После чего можно будет отправлять и получать почту. Но, учитывая, что iRedMail ни как не привязан к DNS службе (а в этом нет в данном случае необходимости) соответствующие МХ записи необходимо будет сделать самостоятельно.

Рис.1 iRedMail может хранить учетные данные в LDAP или MySQL
Рис.2 В процессе развертывания можно отобрать дополнительные компоненты
Рис.3 Для управления OpenLDAP устанавливается phpLDAPadmin
Рис.4 Создаем новую учетную запись при помощи iRedAdmin
Рис.5 Добавление домена в интерфейсе iRedAdmin


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=30263