2,7K подписчиков

Почтовый сервер на Ubuntu 22.04LTS + Poste.io

1,2K прочитали
Poste.io это аналог IredMail, для быстрого развертывания полнофункционального почтового сервера за пару минут в контейнере docker.

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
Poste.io это аналог IredMail, для быстрого развертывания полнофункционального почтового сервера за пару минут в контейнере docker.-2

Все основные настройки прописывает у провайдера в редакторе управления 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

Poste.io это аналог IredMail, для быстрого развертывания полнофункционального почтового сервера за пару минут в контейнере docker.-3

Мы с вами попадаем на главную страницу

Poste.io это аналог IredMail, для быстрого развертывания полнофункционального почтового сервера за пару минут в контейнере docker.-4

Первым делом включим Let's Encrypt и получим TLS сертификат

Poste.io это аналог IredMail, для быстрого развертывания полнофункционального почтового сервера за пару минут в контейнере docker.-5

Нажимаем Change certificate settings:

Poste.io это аналог IredMail, для быстрого развертывания полнофункционального почтового сервера за пару минут в контейнере docker.-6

Ставим птичку Enabled и Save changes:

Poste.io это аналог IredMail, для быстрого развертывания полнофункционального почтового сервера за пару минут в контейнере docker.-7

Перезагружаем страницу и видим, что сертификат применился.

Poste.io это аналог IredMail, для быстрого развертывания полнофункционального почтового сервера за пару минут в контейнере docker.-8
Poste.io это аналог IredMail, для быстрого развертывания полнофункционального почтового сервера за пару минут в контейнере docker.-9

Проверяем статус запущенных сервисов

Poste.io это аналог IredMail, для быстрого развертывания полнофункционального почтового сервера за пару минут в контейнере docker.-10

Запустим диагностику подключений нажав кнопку Connection diagnostics:

Poste.io это аналог IredMail, для быстрого развертывания полнофункционального почтового сервера за пару минут в контейнере docker.-11

Увидим вывод:

Poste.io это аналог IredMail, для быстрого развертывания полнофункционального почтового сервера за пару минут в контейнере docker.-12

Видим, что все хорошо, можно добавлять домены и пользователей.

Создание почтовых ящиков и псевдонимов

Poste.io это аналог IredMail, для быстрого развертывания полнофункционального почтового сервера за пару минут в контейнере docker.-13

Управление антиспам фильтром:

Poste.io это аналог IredMail, для быстрого развертывания полнофункционального почтового сервера за пару минут в контейнере docker.-14

Пользовательский интерфейс доступен по адресу:

Poste.io это аналог IredMail, для быстрого развертывания полнофункционального почтового сервера за пару минут в контейнере docker.-15
Poste.io это аналог IredMail, для быстрого развертывания полнофункционального почтового сервера за пару минут в контейнере docker.-16

Вывод

Советую попробовать и для себя решить, интересно ли вам данное решение или нет, по мне так вполне работоспособное решение и подходит для маленьких инсталляций.