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

Почтовый сервер для компании на базе Ubuntu 22.04LTS + Mailu

1,9K прочитали
Mailu - это бесплатный и полнофункциональный почтовый сервер, аналог IredMail, реализованный в виде набора образов Docker.

Mailu - это бесплатный и полнофункциональный почтовый сервер, аналог IredMail, реализованный в виде набора образов Docker. Проект направлен на предоставление пользователям легко настраиваемого, легко поддерживаемого и полнофункционального почтового сервера, при этом не поставляя проприетарное программное обеспечение или несвязанные функции, которые часто встречаются в популярном групповом программном обеспечении.

Содержание статьи

  • Возможности продукта
  • Системные требования
  • Регистрация домена у провайдера и проброс портов маршрутизатора
  • Подготовка сервера
  • Установка Mailu
  • Вывод

Возможности продукта:

  • Стандартный почтовый сервер, IMAP и IMAP+, SMTP и отправка
  • Расширенные функции электронной почты, псевдонимы, псевдонимы доменов, настраиваемая маршрутизация
  • Веб-доступ, несколько веб-почт и административный интерфейс
  • Функции пользователя, псевдонимы, автоматический ответ, автоматическая переадресация, выбранная учетная запись
  • Функции администратора, глобальные администраторы, объявления, делегирование для каждого домена, квоты
  • Безопасность, принудительный TLS, Letsencrypt!, исходящий DKIM, антивирусный сканер
  • Антиспам с функцией авто обучение, серые списки, DMARC и SPF
  • Freedom, все компоненты FOSS, без трекера

Системные требования

Поддерживаемые операционные системы:

Так как почтовый сервер организован на базе контейнеров Docker, его можно запустить на любом дистрибутиве Linux с установленным пакетом Docker.

Минимальные системные требования:

  • Процессор: 1-но ядерный от 1Ггц
  • Оперативная память: от 1ГБ
  • Жёсткий диск: от 10ГБ

Установленный почтовый сервер Mailu на Ubuntu в режиме простоя потребляет следующие ресурсы:

Mailu - это бесплатный и полнофункциональный почтовый сервер, аналог IredMail, реализованный в виде набора образов Docker.-2

Системные требования для сервера на 100 сотрудников:

  • Процессор: 4-х ядерный от 1,8Ггц
  • Оперативная память: от 4 ГБ
  • Диск: от 500 ГБ

Эта машинка на timeweb стоит всего 188руб/месяц - советую для тестов и мелких проектов.

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

Регистрация домена у провайдера и проброс портов маршрутизатора

Советую Питерского регистратора доменных имён Nethouse.ru, очень быстрый и качественный сервис, с моментальным обновлением DNS записей и приемлемой стоимостью доменных имён, в зоне ru - 150руб.

После покупки прописываем в разделе управления доменом dns записи:

  • Запись типа А со значением белого ip адреса нашего маршрутизатора или виртуальной машины на vds хостинге, как в моем случае.
  • Запись типа А с именем mail и значением нашего белого ip адреса
  • МХ запись типа - @ mx mail.tuning-admina.ru

Mailu использует AutoMX(Авто обнаружение и автонастройка используется десктопными и мобильными почтовыми клиентами) для реализации этой функции, необходимо в DNS добавить записи CNAME:

_submission._tcp.tuning-admina.ru. 600 IN SRV 1 1 587 tuning-admina.ru.
_imap._tcp.tuning-admina.ru. 600 IN SRV 1 1 143 tuning-admina.ru.
_pop3._tcp.tuning-admina.ru. 600 IN SRV 1 1 110 tuning-admina.ru.
_imaps._tcp.tuning-admina.ru. 600 IN SRV 1 1 993 tuning-admina.ru.
_pop3s._tcp.tuning-admina.ru. 600 IN SRV 1 1 995 tuning-admina.ru.

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

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

Установим брандмауэр ufw:

apt install ufw -y

Добавляем разрешающее правило для доступа по SSH с компьютера администратора:

ufw allow ssh from ip_address_admin

Добавляем разрешающее правило для необходимых портов нашему почтовому серверу:

ufw allow proto tcp from any to any port 25,80,443,110,143,465,587,993,995

Добавим службу в автозагрузку и запустим ее:

systemctl enable ufw && systemctl start ufw

Перед тем как продолжить перезагрузим систему:

reboot

Установка Docker compose

В репозиториях ubuntu присутствует Docker, проверяем версию:

apt show docker-compose

Package: docker-compose
Version: 1.29.2-1

Устанавливаем docker-compose:

apt install docker-compose -y

Проверяем статус:

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

Установка Mailu

Создадим каталог, в котором mailu будет хранить свои данные:

mkdir /mailu

Mailu использует главный конфигурационный файл docker-compose.yml , а также mailu.env для различных настроек. Нам необходимо сгенерировать эти файлы с помощью онлайн-утилиты на сайте mailu. Скрипт на основе наших данных сгенерирует и выдаст для скачивания готовые файлы docker-compose.yml и mailu.env.

Для того, чтобы сгенерировать эти файлы проходим по ссылке: https://setup.mailu.io/1.9/

Выбираем вариант конфигурации под Docker-compose:

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

Пробежимся и заполним форму скрипта сведениями

Mailu - это бесплатный и полнофункциональный почтовый сервер, аналог IredMail, реализованный в виде набора образов Docker.-7
Mailu - это бесплатный и полнофункциональный почтовый сервер, аналог IredMail, реализованный в виде набора образов Docker.-8

После заполнения нажимаем Setup Mailu

Скрипт сконфигурирует конфигурационные файлы и выдаст рекомендации по установке:

Mailu - это бесплатный и полнофункциональный почтовый сервер, аналог IredMail, реализованный в виде набора образов Docker.-9

Переходим в каталог mailu:

cd /mailu

Скачиваем сгенерированные конфигурационные файлы:

wget https://setup.mailu.io/1.9/file/be4b3517-2ee2-4069-a8bd-007acc8c9b5e/docker-compose.yml

wget https://setup.mailu.io/1.9/file/be4b3517-2ee2-4069-a8bd-007acc8c9b5e/mailu.env

Скачиваем образы и запускаем контейнеры:

docker-compose -p mailu up -d

Создадим учетную запись администратора, с учетной записью admin@tuning-admina.ru:

docker-compose -p mailu exec admin flask mailu admin admin tuning-admina.ru PASSWORD

  • Логин: admin@tuning-admina.ru
  • Пароль: PASSWORD

С установкой все, переходим по адресу: https://tuning-admina.ru/admin

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

Заходим в административную панель, Логин: admin@tuning-admina.ru Пароль: PASSWORD

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

Почтовый сервер готов к работе, Сертификат SSL автоматически сгенерирован, необходимо добавить пользователей и можно пользоваться.

Добавление и настройка доменов

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

Добавление пользователей. Нажимаем на значок пользователи и проваливаемся на страницу списка почтовых ящиков домена.

Mailu - это бесплатный и полнофункциональный почтовый сервер, аналог IredMail, реализованный в виде набора образов Docker.-13
Mailu - это бесплатный и полнофункциональный почтовый сервер, аналог IredMail, реализованный в виде набора образов Docker.-14

Будьте внимательней с квотами при создании пользователей.

Антиспам настроен и работает из коробки, его можно при необходимости отключить целиком или при обработки писем для определенного ящика.

Mailu - это бесплатный и полнофункциональный почтовый сервер, аналог IredMail, реализованный в виде набора образов Docker.-15

Генерирование ключей для DNS записей, в поле жомена нажимаем на значок Подробно:

Mailu - это бесплатный и полнофункциональный почтовый сервер, аналог IredMail, реализованный в виде набора образов Docker.-16

Нажимаем сгенерировать ключи, копируем параметры и прописываем их в конфигураторе DNS записей вашего провайдера.

Mailu - это бесплатный и полнофункциональный почтовый сервер, аналог IredMail, реализованный в виде набора образов Docker.-17

Вэб интерфейс пользователя стандартный RoundCube

Mailu - это бесплатный и полнофункциональный почтовый сервер, аналог IredMail, реализованный в виде набора образов Docker.-18

Настройки пользователя для подключения с помощью почтовых клиентов.

Mailu - это бесплатный и полнофункциональный почтовый сервер, аналог IredMail, реализованный в виде набора образов Docker.-19

Вывод

Замечательный почтовый сервер для начинающих и не только системных администраторов, очень простой в установке и настройке, рекомендую.