Mail-in-a-Box - это бесплатный почтовый сервер с открытым исходным кодом. В качестве основы для Mail-in-a-Box используется операционная система Ubuntu.
GitHub: mail-in-a-box/mailinabox
Содержание статьи
- Возможности решения
- Системные требования
- Настройка DNS у провайдера
- Настройка локальных DNS
- Проброс портов на маршрутизаторе
- Подготовка сервера
- Установка Mail-in-a-Box
- Настройка почтового сервера
- Создание почтовых ящиков
- Демонстрация пользовательского интерфейса
- Тестирование работоспособности
- Доступ в NextCloud
- Заключение
Возможности решения:
- Автоматическая настройка: Простой в использовании процесс настройки для создания почтового сервера.
- Хостинг электронной почты: Полный хостинг электронной почты для нескольких доменов.
- DNS-сервер: встроенный DNS-сервер для управления доменными именами.
- Интерфейс веб-почты: Удобный интерфейс веб-почты для доступа к электронной почте.
- Фильтрация спама: Встроенная фильтрация спама для уменьшения количества нежелательных писем.
- Шифрование SSL/TLS: автоматическая генерация сертификатов SSL/TLS для безопасной связи.
- Решения для резервного копирования: автоматическое резервное копирование электронной почты и конфигурации сервера.
- Управление пользователями: Интерфейс для добавления и управления пользователями и псевдонимами.
- DKIM и SPF: поддержка DKIM и SPF для аутентификации электронной почты.
- Календарь и контакты: Интегрированное управление календарем и контактами.
- Функции безопасности: Регулярные обновления и настройки безопасности.
- Инструменты мониторинга: инструменты для мониторинга производительности и работоспособности сервера.
- Документация: Исчерпывающая документация по настройке и устранению неполадок.
Системные требования
Для почтового сервера Mail-in-a-Box необходимо следующее:
- Операционная система Ubuntu 22.04LTS, 24.04LTS пока не поддерживается
- Процессор: 2-х ядерный от 1ГГц
- Оперативная память: от 1ГБ
- Накопитель: от 10ГБ
Потребление ресурсов в режиме простоя:
Настройка DNS у провайдера
Прежде всего пишем письмо интернет провайдеру, в котором попросите прописать PTR запись у себя в DNS.
Проверить можно командой:
nslookup -type=PTR ip_адрес --- или --- dig -x ip_адрес
Если у вас нет домена, нужно приобрести советую nethouse.ru - работаю с ним не один год, всё DNS записи очень быстро обновляются.
Итак создаём записи:
Останется только после установки и настройки почтового сервера прописать DKIM запись
Настройка локальных DNS
На локальных DNS серверах рекомендую создать зону:
tuning-admina.ru
В которой вы сможете прописывать записи ресурсов для локальных пользователей:
- Запись типа А --> mail --> IP_Address
- Запись типа MX --> mail.tuning-admina.ru --> 10
Проброс портов на маршрутизаторе
На маршрутизаторе нужно создать правила типа DNAT для следующих портов:
SMTP_PORT=25
SMTPS_PORT=465
SUBMISSION_PORT=587
IMAP_PORT=143
IMAPS_PORT=993
POP_PORT=110
POPS_PORT=995
SIEVE_PORT=419
Эти порты для хождения почты
443 - для доступа к web интерфейсу.
Получатель ip адрес почтового сервера.
Подготовка сервера
Все действия в системе я произвожу под root:
sudo -s
Настраиваем сеть:
Удаляем дефолтные конфиги:
rm /etc/netplan/*.*
Создаем конфигурационный файл:
nano /etc/netplan/config.yaml
network:
ethernets:
ens18:
dhcp4: false
addresses: [192.168.1.200/24]
gateway4: 192.168.1.254
nameservers:
addresses: [192.168.1.201,192.168.1.202]
Сохраняем файл, выходим из редактора:
CTRL+O, CTRL+X
Применяем настройки:
netplan apply
Обновляем систему:
apt update -y && apt upgrade -y
Устанавливаем имя нашему серверу:
hostnamectl set-hostname mail.tuning-admina.ru
Устанавливаем временную зону:
timedatectl set-timezone Europe/Moscow
Устанавливаем дополнительные пакеты:
apt install mc net-tools git -y
Устанавливаем пакет для синхронизации времени:
apt install chrony -y
Проверяем статус службы:
systemctl status chrony
Перезагружаем систему:
reboot
Прежде чем перейти к запуску установочного скрипта, необходимо знать, что скрипт чувствителен в Локали и для корректной установки необходимо установить en_US.UTF-8, устанавливаем пакет:
apt install locales -y
Выполним реконфигурирование локали:
dpkg-reconfigure locales
Выбираем:
и нажимаем ОК
По умолчанию выбираем en_US.UTF-8 UTF-8 и нажимаем ОК:
Отлично, переходим к установке
Установка Mail-in-a-Box
Запускаем установочный скрипт:
curl -s https://mailinabox.email/setup.sh | sudo bash
Нас приветствует установщик, для продолжения нажимаем ОК:
Указываем почтовый аккаунт администратора домена:
Указываем FQDN имя нашего хоста:
Выбираем, где мы географически находимся:
Выбираем временную зону:
Указываем пароль для администратора:
Установка завершена:
Настройка почтового сервера
Открываем браузер и переходим по адресу:
https://mail.tuning-admina.ru/admin
Авторизовываемся в системе:
Первым делом настроем DNS запись - DKIM, для этого переходим в раздел System и далее в External DNS:
Находим в списке рекомендованных записей DKIM и копируем ее:
Прописываем у хостинг провайдера в настройках DNS DKIM запись:
Получение SSL от Letsencrypt, переходим в раздел System --> TLS (SSL) Certificates и нажимаем кнопку Provision:
Система сообщит нам, что для нашего домена и хоста автоматически будет продлеваться сертификат:
Создание почтовых ящиков
Выбираем пункт меню Mail & Users --> Users:
Указываем имя создаваемого почтового ящика, пароль, выбираем тип учетной записи и нажимаем Add User:
Чуть ниже виден список созданных почтовых аккаунтов:
Демонстрация пользовательского интерфейса
Открываем браузер и переходим по адресу:
https://mail.tuning-admina.ru/mail
Авторизовываемся в системе и попадаем в знакомый и привычный нам интерфейс:
Тестирование работоспособности
Существует множество онлайн сервисов для проверки работоспособности вашего почтового сервера, а также присутствие всех нужных записей в DNS, один из таких ресурсов я вам продемонстрирую:
https://mail-tester.com
Заходим на сайт и видим предложение отправить письмо на сгенерированный специально для вас почтовый обработчик, копируем адрес и с вашего почтового ящика отправляем письмо:
После того как отправили письмо, возвращаемся на страницу ресурса и нажимаем Затем проверьте оценку и если вы все верно настроили, то у вас получиться тот же результат, что и у меня:
Доступ в NextCloud
Открываем браузер и переходим по адресу:
https://mail.tuning-admina.ru/cloud
Заключение
Статья написана на скорую руку, решение если честно сырое и для корпоративного использования ему еще далеко, подойдет для небольших инсталляций до 30 пользователей.