Почтовый сервер iRedMail на Debian/FreeBSD

Почтовый сервер iRedMail на Debian/FreeBSD

iRedMail — бесплатное open source решение для создания почтовых серверов, включающее в себя скрипт для автоматической установки необходимых компонентов: Dovecot, Postfix, SpamAssasin, ClaimAV, Apache/nginx, Roundcube, SOGo, а так же бесплатную версию web-интерфейса для администрирования — iRedMailamdin. В отличие от ручной конфигурации и сборки из необходимых пакетов, требующей достаточно глубоких знаний linux-дистрибутивов, iRedMail позволяет сэкономить время при создании почтовых серверов.

Процесс будет расписан для двух дистрибутивов — Debian и FreeBSD, но инструкция для Debian во многом подойдет и для Ubuntu.

Проверено на дистрибутивах:

Конфигурация сети для примера следующая:

  • eth0 — внутренний (LAN): 192.168.1.1/24;
  • eth1 — внешний (internet): IP — 10.1.0.31/24, шлюз по умолчанию — 10.1.0.1, DNS-сервер —10.1.0.1.

eth1 напрямую подключен к провайдеру, а eth0 — в локальную сеть.

Подготовка системы, настройка сети и hostname.

Debian.

Для Debian настройки сети будут выглядеть следующим образом:

Для того, чтобы внесенные настройки обновились:

Теперь необходимо задать hostname. Для Debian/Ubuntu имя хоста (hostname) хранится в файлах: /etc/hostname и /etc/hosts. Открываем их на редактирование и конфигурируем почтовый сервер для домена domain.com:

Обновляем имя хоста с помощью скрипта и проверяем:

Если имя хоста по прежнему не изменилось, то перезагружаем систему командой “reboot”.

Теперь когда произведены настройки сети необходимо обновить систему и установленные пакеты. Убедимся, что добавлены необходимые репозитории — для Debian Jessie конфиг будет выглядеть следующим образом:

И производим обновления:

Вероятно, в вашей системе могут быть не установлены требуемые пакеты, которые потребуются для установки iRedMail:

FreeBSD.

При той же топологии конфигурация сети и имени хоста для FreeBSD будет выглядеть следующим образом:

IP-адрес сервера имен тот же, что и в настройках для Debian, но для FreeBSD конфиг располагается в другом файле:

Чтобы обновить сетевые настройки необходимо перезапустить службы:

Для обновлении имени хоста:

или перезагрузить систему по команде reboot. Проверяем:

Если вы еще не производили обновление системы, то необходимо произвести следующие действия. Для начала обновим “дерево портов”:

Или, если по каким-то причинам дерево “портов” не было установлено, то предварительно ставим:

Теперь, если в дальнейшем вы предпочтете ставить пакеты с помощью package manager’а (для FreeBSD 10.x), а не из “портов”, то:

Для установки iRedMail аналогично потребуются пакет wget. Можно собрать из “портов”:

и в открывающихся диалоговых окнах оставляем все параметры по умолчанию. Или ставим с помощью package manager’а (для FreeBSD 10.x):

Для FreeBSD 9 используйте команду:

Так же для установки потребуется пакет bash-static. Собрать из “портов” можно:

Все параметры оставляем по умолчанию. Или:

Обновляем данные об установленных пакетах командой:

Установка iRedMail.

Заходим на официальный сайт, копируем ссылку для скачивания пакета (на текущий момент актуальной является версия 0.9.5–1), скачиваем и распаковываем его в папку /home/src и запускаем установщик.

Для Debian:

Для FreeBSD:

Дальнейшая установка идентична, как для Debian, так и для FreeBSD (разве что для для FreeBSD времени для установку требуется на порядок больше ввиду того, что пакеты собираются из “портов”). Весь процесс настройки iRedMail производится по принципу “Next>Next>Next”:

  1. Задаем папку, где будут хранится данные пользовательских почтовых ящиков (user mailboxes). По умолчанию: /var/mail
  2. Выбираем, какой веб-сервер будет использоватьcя для доступа к почтовым web-интерфейсам: nginx, или apache. По умолчанию стоит nginx, но я выберу apache.
  3. Задаем в каком виде будут храниться пользовательские почтовые аккаунты: OpenLDAP, базы данных MySQL, MariaDB, или PostgreSQL. Выбор не влечет за собой существенных различий с точки зрения использования почтового сервера, но, поскольку для работы web-сервера apache все равно потребуется MySQL, то выбираем её.
  4. Далее указываем домен, который будет использоваться для почтового сервера: mail.domain.com
  5. Указываем пароль для администратора почтового сервера postmaster@domain.com
  6. И выбираем устанавливаемые компоненты:
  • iRedAdmin — web-интерфейс для администрирования почтового сервера); — пользовательский web-интерфейс для доступа к электронной почте; — пользовательский web-интерфейс для доступа к электронной почте с календарем и адресной книгой (актуально, если вы планируете пользоваться почтой только через web-интерфейc); — инструмент для анализа web, mail-логов и создания графических отчетов; — пакет позволяющий блокировать IP-адреса при неудачной аутентификации (актуален, если почтовый сервер является интернет-шлюзом, или напрямую имеет доступ в интернет) При установке iRedMail на FreeBSD устанавливается и настраивается отдельно.

Оставляем все значения по умолчанию (выбрано все, кроме SOGo). После чего сверяем заданные параметры, подтверждаем их и ждем окончания установки. Отвечаем “Y”, чтобы добавить предоставленные iRedMail’ом правила фаервола (iptables) и аналогично подтверждаем его перезапуск с разрешенным для SSH портом 22.

Далее можно перезагрузить систему, или вручную запустить необходимые службы.

Для Debian:

Eсли вы устанавливали apache:

Если установлен nginx:

Для FreeBSD:

По завершении установки в папке с iRedMail будет создан файл с подсказками: логином и паролем администратора, путями к созданным сертификатам и конфигурациям установленных пакетов:

Теперь, открыв в браузере https://<ваш_сервер>/iredadmin, вы сможете администрировать ваш почтовый сервер, тогда как пользовательский доступ через Roundcubemail осуществляется по ссылке https://<ваш_сервер>/mail/.

На этом настройка почтового сервера (его серверной части) для Debian завершена. Eсли вы устанавливали iRedMail на FreeBSD по необходимости нужно отдельно установить и настроить fail2ban, а так же включить и сконфигурировать фаервол ip: скрипт iRedMail не содержит конфигураций для связки fail2ban + ip под FreeBSD. Сам по себе процесс довольно емкий и это тема для отдельной статьи.

📎📎📎📎📎📎📎📎📎📎