Mailu - это бесплатный и полнофункциональный почтовый сервер, аналог IredMail, реализованный в виде набора образов Docker. Проект направлен на предоставление пользователям легко настраиваемого, легко поддерживаемого и полнофункционального почтового сервера, при этом не поставляя проприетарное программное обеспечение или несвязанные функции, которые часто встречаются в популярном групповом программном обеспечении.
Содержание статьи
- Возможности продукта
- Системные требования
- Регистрация домена у провайдера и проброс портов маршрутизатора
- Подготовка сервера
- Установка Mailu
- Вывод
Возможности продукта:
- Стандартный почтовый сервер, IMAP и IMAP+, SMTP и отправка
- Расширенные функции электронной почты, псевдонимы, псевдонимы доменов, настраиваемая маршрутизация
- Веб-доступ, несколько веб-почт и административный интерфейс
- Функции пользователя, псевдонимы, автоматический ответ, автоматическая переадресация, выбранная учетная запись
- Функции администратора, глобальные администраторы, объявления, делегирование для каждого домена, квоты
- Безопасность, принудительный TLS, Letsencrypt!, исходящий DKIM, антивирусный сканер
- Антиспам с функцией авто обучение, серые списки, DMARC и SPF
- Freedom, все компоненты FOSS, без трекера
Системные требования
Поддерживаемые операционные системы:
Так как почтовый сервер организован на базе контейнеров Docker, его можно запустить на любом дистрибутиве Linux с установленным пакетом Docker.
Минимальные системные требования:
- Процессор: 1-но ядерный от 1Ггц
- Оперативная память: от 1ГБ
- Жёсткий диск: от 10ГБ
Установленный почтовый сервер Mailu на Ubuntu в режиме простоя потребляет следующие ресурсы:
Системные требования для сервера на 100 сотрудников:
- Процессор: 4-х ядерный от 1,8Ггц
- Оперативная память: от 4 ГБ
- Диск: от 500 ГБ
Эта машинка на timeweb стоит всего 188руб/месяц - советую для тестов и мелких проектов.
Регистрация домена у провайдера и проброс портов маршрутизатора
Советую Питерского регистратора доменных имён 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.
Все основные настройки прописываем у провайдера в редакторе управления 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
Создадим каталог, в котором mailu будет хранить свои данные:
mkdir /mailu
Mailu использует главный конфигурационный файл docker-compose.yml , а также mailu.env для различных настроек. Нам необходимо сгенерировать эти файлы с помощью онлайн-утилиты на сайте mailu. Скрипт на основе наших данных сгенерирует и выдаст для скачивания готовые файлы docker-compose.yml и mailu.env.
Для того, чтобы сгенерировать эти файлы проходим по ссылке: https://setup.mailu.io/1.9/
Выбираем вариант конфигурации под Docker-compose:
Пробежимся и заполним форму скрипта сведениями
После заполнения нажимаем Setup Mailu
Скрипт сконфигурирует конфигурационные файлы и выдаст рекомендации по установке:
Переходим в каталог 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
Заходим в административную панель, Логин: admin@tuning-admina.ru Пароль: PASSWORD
Почтовый сервер готов к работе, Сертификат SSL автоматически сгенерирован, необходимо добавить пользователей и можно пользоваться.
Добавление и настройка доменов
Добавление пользователей. Нажимаем на значок пользователи и проваливаемся на страницу списка почтовых ящиков домена.
Будьте внимательней с квотами при создании пользователей.
Антиспам настроен и работает из коробки, его можно при необходимости отключить целиком или при обработки писем для определенного ящика.
Генерирование ключей для DNS записей, в поле жомена нажимаем на значок Подробно:
Нажимаем сгенерировать ключи, копируем параметры и прописываем их в конфигураторе DNS записей вашего провайдера.
Вэб интерфейс пользователя стандартный RoundCube
Настройки пользователя для подключения с помощью почтовых клиентов.
Вывод
Замечательный почтовый сервер для начинающих и не только системных администраторов, очень простой в установке и настройке, рекомендую.