Почтовый сервер 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”:
- Задаем папку, где будут хранится данные пользовательских почтовых ящиков (user mailboxes). По умолчанию: /var/mail
- Выбираем, какой веб-сервер будет использоватьcя для доступа к почтовым web-интерфейсам: nginx, или apache. По умолчанию стоит nginx, но я выберу apache.
- Задаем в каком виде будут храниться пользовательские почтовые аккаунты: OpenLDAP, базы данных MySQL, MariaDB, или PostgreSQL. Выбор не влечет за собой существенных различий с точки зрения использования почтового сервера, но, поскольку для работы web-сервера apache все равно потребуется MySQL, то выбираем её.
- Далее указываем домен, который будет использоваться для почтового сервера: mail.domain.com
- Указываем пароль для администратора почтового сервера postmaster@domain.com
- И выбираем устанавливаемые компоненты:
- 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. Сам по себе процесс довольно емкий и это тема для отдельной статьи.