Poste.io это аналог IredMail, для быстрого развертывания полнофункционального почтового сервера за пару минут в контейнере docker. Продукт разработан с оптимальными настройками по умолчанию, чтобы быстро начать работу, не зная внутренностей и не принимая решений, которые могут сломать систему электронной почты.
Содержание статьи
- Возможности решения
- Системные требования
- Создание DNS записей и проброс портов маршрутизатора
- Подготовка сервера
- Установка почтового сервера
- Вывод
Возможности решения
- Нативная реализация SPF, DKIM, DMARC, SRS с помощью простого мастера
- Антивирус ClamAV
- Встроенный спам фильтр RSPAMD
- Почтовый вэб интерфейс Roundcube
- Перенаправление электронной почты, автоответчик и другая фильтрация с помощью сценариев
- Квота для ограничения места в почтовом ящике или количества писем
- Веб администрирование с различными правами для системного администратора, администратора домена, владельца электронной почты.
- Встроенное авто обнаружение для клиентских приложений
- Система диагностики, помогающая правильно настроить домен и почтовый сервер
- SMTP — порт 25, 465 (TLS), 587
- POP3 — порт 110, 995 (TLS)
- IMAP — порт 143, 993 (TLS)
- SSL TLS везде! Никакие личные данные, электронные письма, логины не проходят через интернет в незашифрованном виде.
- Все пароли по умолчанию хранятся в зашифрованном виде
- Весь контейнер почтового сервера изолирован Docker от других приложений.
Системные требования
Для установки почтового сервера необходим любой 64-битный дистрибутив Linux, работающий на виртуальной машине или выделенном сервере.
Минимальные системные требования:
- Процессор: 1-но ядерный от 1Ггц
- Оперативная память: от 512МБ
- Жёсткий диск: от 10ГБ
Создание DNS записей и проброс портов маршрутизатора
Советую Питерского регистратора доменных имён Nethouse.ru, очень быстрый и качественный сервис, с моментальным обновлением DNS записей и приемлемой стоимостью доменных имён, в зоне ru - 150руб.
После покупки прописываем в разделе управления доменом dns записи:
- Запись типа А со значением белого ip адреса нашего маршрутизатора или виртуальной машины на vds хостинге, как в моем случае.
- Запись типа А с именем mail и значением нашего белого ip адреса
- МХ запись типа - @ mx mail.tuning-admina.ru
Все основные настройки прописывает у провайдера в редакторе управления DNS записями.
На маршрутизаторе необходимо пробросить порты в зависимости от их в дальнейшем использования:
- 80, 443 - доступ к сайтам и панели управления
- 25,110,143,465,587,993,995 - порты для хождения почты
Подготовка сервера
Повышаем наши права в системе:
sudo -s
Обновляем систему:
apt update && apt upgrade -y
Устанавливаем дополнительные компоненты:
apt install mc nano wget net-tools -y
Устанавливаем имя нашему серверу:
hostnamectl set-hostname mail.tuning-admina.ru
Устанавливаем временную зону:
timedatectl set-timezone Europe/Moscow
Устанавливаем службу синхронизации времени:
apt install chrony -y
Добавляем службу в автозагрузку:
systemctl enable chrony
Перед тем как продолжить перезагрузим систему:
reboot
Установка почтового сервера
Есть две версии продукта: PRO и БЕСПЛАТНЫЙ образ, обе версии имеют одинаковую структуру каталогов данных - единственное отличие при запуске версии PRO заключается в том, что вы будете использовать закрытый репозиторий. В статье я рассматриваю только версию Free.
Скачиваем образ:
docker pull analogic/poste.io
Запускаем контейнер:
docker run -d \
--net=host \
-e TZ=Europe/Moscow \
-v /data:/data \
--restart always \
--name "mailserver" \
-h "mail.tuning-admina.ru" \
-t analogic/poste.io
где,
--net=host - почтовый сервер использует сетевой стек хоста
-e TZ=Europe/Moscow - временная зона Москва
-v /data:/data - сопоставление папок хоста и контейнера, подключаем каталог данных из хост-системы. База данных пользователей, электронная почта, журналы — все в конечном итоге окажется в этом каталоге для удобного резервного копирования.
--name "mailserver" - присваиваем имя контейнеру
-h "mail.tuning-admina.ru" - имя сервера
-t analogic/poste.io - имя контейнера, который запускаем
Порты, которые открывает poste.io:
Номер порта:
- 25 - SMTP - в основном обработка входящей почты
- 80 - HTTP - перенаправление на https и аутентификация для сервиса Let's encrypt
- 110 - POP3 - стандартный протокол для доступа к почтовому ящику, перед авторизацией клиента требуется STARTTLS
- 143 - IMAP - стандартный протокол для доступа к почтовому ящику, перед авторизацией клиента требуется STARTTLS
- 443 - HTTPS - доступ к администрированию или почтовому клиенту
- 465 - SMTPS - устаревший порт SMTP
- 587 - MSA - SMTP-порт, используемый в основном для почтовых клиентов после STARTTLS и аутентификации.
- 993 - IMAPS - альтернативный порт для IMAP, зашифрованный с момента подключения
- 995 - POP3S - зашифрованный POP3 с момента подключения
- 4190 - Sieve - удаленные настройки сита
Необязательные аргументы
- -e "HTTPS=OFF" Чтобы отключить все перенаправления на зашифрованный HTTP, это полезно, когда вы используете какой-либо обратный прокси-сервер (поместите этот аргумент перед именем изображения!)
- -e "HTTP_PORT=8080" Пользовательский HTTP-порт. Обратите внимание, что вы должны обрабатывать запросы Let's encrypt на порту 80, поэтому, если вы используете настройку обратного прокси-сервера, вам необходимо перенаправить папку /.well-known/ на этот порт.
- -e "HTTPS_PORT=4433" Пользовательский порт HTTPS.
- -e "DISABLE_CLAMAV=TRUE" Чтобы отключить все ClamAV, это полезно при низком использовании памяти.
- -e "DISABLE_RSPAMD=TRUE" Чтобы отключить весь Rspamd, это полезно при низком использовании памяти.
- -e "DISABLE_ROUNDCUBE=TRUE" Чтобы отключить веб-почту Roundcube.
- -p 4190:4190 Если вы собираетесь использовать клиенты с возможностью внешнего управления фильтрами Sieve, вам также необходимо опубликовать порт 4190.
После запуска, идем по адресу:
https://149.154.71.196/
Указываем почтовый ящик и пароль администратора и нажимаем Submit
Мы с вами попадаем на главную страницу
Первым делом включим Let's Encrypt и получим TLS сертификат
Нажимаем Change certificate settings:
Ставим птичку Enabled и Save changes:
Перезагружаем страницу и видим, что сертификат применился.
Проверяем статус запущенных сервисов
Запустим диагностику подключений нажав кнопку Connection diagnostics:
Увидим вывод:
Видим, что все хорошо, можно добавлять домены и пользователей.
Создание почтовых ящиков и псевдонимов
Управление антиспам фильтром:
Пользовательский интерфейс доступен по адресу:
Вывод
Советую попробовать и для себя решить, интересно ли вам данное решение или нет, по мне так вполне работоспособное решение и подходит для маленьких инсталляций.