Как настроить собственный почтовый сервер

на iRedMail с веб-интерфейсом и админкой

5 мин

Как настроить собственный почтовый сервер

Пошаговая инструкция по установке сборки iRedMail с настройкой DNS-записей домена.

Используемые параметры

В примерах я буду использовать следующие значения (их нужно заменить на свои):
Домен - koobik.net
Формат почтовых адресов - username@koobik.net
Имя хоста почтового сервера - mail.koobik.net
IP почтового сервера - 1.2.3.4
Версия ОС на сервере - Ubuntu 24.04 (проверьте совместимость на сайте iRedMail)

Настройка DNS

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

Name Type Value TTL
koobik.net. MX 10 mail.koobik.net. 3600
mail.koobik.net. A 1.2.3.4 3600
_dmarc.koobik.net. TXT v=DMARC1; p=quarantine; adkim=s; aspf=r 3600
koobik.net. TXT "v=spf1 mx ip4:1.2.3.4 -all" 3600
dkim._domainkey.koobik.net. TXT будет сгенерирован в процессе установки 3600

Также вам потребуется дополнительная PTR-запись; как правило, для ее установки необходимо связаться с провайдером через тикет-систему и попросить установить ее на их стороне. Она должна указывать, что на ip вашего сервера (1.2.3.4) живет хост с таким-то именем (mail.koobik.net).

Настройка сервера

В примере я буду настраивать виртуальную машину (VPS) на хостинге.

ireadmail_vm

  1. Подключитесь к серверу по ssh по ip или доменному имени:
ssh root@mail.koobik.net
  1. Отредактируйте файлы с именем хоста и FQDN-именем:
nano /etc/hostname
mail
nano /etc/hosts
...
127.0.0.1 mail.koobik.net mail
...
  1. Обновитесь, установите необходимые пакеты и после перезагрузки проверьте локальные имена хоста.
apt update && apt -y upgrade && apt install -y gzip dialog && init 6
hostname
hostname -f
  1. Скачайте и распакуйте установщик с официального сайта iRedMail:
wget https://github.com/iredmail/iRedMail/archive/refs/tags/1.8.2.tar.gz
tar zxf 1.8.2.tar.gz
  1. Разверните окно терминала, без этого псевдографический интерфейс на сможет отобразиться. Перейдите в распакованную директорию и запустите установочный скрипт:
cd iRedMail-1.8.2/
bash iRedMail.sh

Скрипт проверит подключенные репозитарии и спросит разрешения добавить дополнительные (нажмите Enter).

Press [ENTER] to continue or Ctrl-c to cancel.
  1. Окно приветствия сообщит о готовности к установке (нажмите Yes).

iredmail1

  1. Укажите путь для хранения писем (если у вас подключен отдельный диск или сетевой накопитель для этого) или оставьте дефолтный, если письма будут храниться локально. iredmail2

  2. Здесь можно отключить веб-интерфейс (если ваши пользователи предпочитают читать почту в консоли). Нажмите Next.

iredmail3

  1. Выберите бэкенд для хранения информации об аккаунтах. Если нет особых предпочтений - возьмите MariaDB.

iredmail4

  1. Если в предыдущем пункте вы выбрали MariaDB, то скрипт попросит задать пароль root для СУБД. Маловероятно, что вам придётся править что-то в БД руками, но пароль лучше сохранить :)

iredmail5

  1. Введите имя домена (не имя хоста), почту которого будет обрабатывать почтовый сервер.

iredmail6

  1. Задайте пароль администратора почтового сервиса (postmaster@koobik.net). Эта учётная запись будет управлять ящиками пользователей и настройками сервера в iRedAdmin. iredmail7

  2. Выберите устанавливаемые модули. Дефолтно предлагается roundcube (простой и легковесный), можно выбрать SoGo (красивый и функциональный).

iredmail8

  1. Далее скрипт сообщит, что его конфиг хранит введённые пароли и предложит его самостоятельно спрятать куда-нибудь после завершения установки. А также напомнит, какую конфигурацию мы выбрали в процессе его работы и предложит начать установку.
*************************************************************************
***************************** WARNING ***********************************
*************************************************************************
*                                                                       *
* Below file contains sensitive infomation (username/password), please  *
* do remember to *MOVE* it to a safe place after installation.          *
*                                                                       *
*   * /root/iRedMail-1.8.2/config
*                                                                       *
*************************************************************************
********************** Review your settings *****************************
*************************************************************************

* Storage base directory:                           /var/vmail
* Mailboxes:                            
* Daily backup of SQL/LDAP databases:   
* Store mail accounts in:                           MariaDB
* Web server:                                       Nginx
* First mail domain name:                           koobik.net
* Mail domain admin:                                postmaster@koobik.net
* Additional components:                            SOGo netdata iRedAdmin Fail2ban

< Question > Continue? [y|N]
  1. Установка займет продолжительное время, в течение которого будет скачиваться множество пакетов. Не исключено, что в моменте какой-то репозитарий будет недоступен и установка завершится с ошибкой - в этом случае достаточно повторно запустить скрипт командой bash iRedMail.sh и он продолжит работу с места, на котором остановился (повторно проходить все этапы подготовки не придётся).

После завершения скрипт предложит автоматически настроить правила firewall в соответствии с этой таблицей. Рекомендую согласиться.

*************************************************************************
* iRedMail-1.8.2 installation and configuration complete.
*************************************************************************

< Question > Would you like to use firewall rules provided by iRedMail?
< Question > File: /etc/nftables.conf, with SSHD ports: 22. [Y|n]
  1. По окончанию установки покажет скрипт достаточно полезную памятку - ознакомьтесь с ней (её копия также находится в почтовом ящике postmaster`а). Затем перезапустите сервер, чтобы службы стартовали в нужной последовательности:
init 6
  1. Веб-интерфейс доступен по адресу домена (в примере - https://mail.koobik.net)

iredmail9

А админка по адресу https://mail.koobik.net/iredadmin

iredmail10

  1. Как вы заметили, браузер поругался на сертификат - iRedMail в процессе установки создал самоподписанный на 10 лет. Вы можете бесплатно выпустить свой сертификат или установить купленный. Сертификат и ключ хранятся тут:
/etc/ssl/certs/iRedMail.crt;
/etc/ssl/private/iRedMail.key

Их достаточно заменить и перезагрузить сервер.

  1. Достаньте сгенерированную запись DKIM и добавьте её в DNS. Будьте внимательны - в консоли запись многострочная и содержит лишние кавычки. Подсказка.
amavisd showkeys

Готово, ваш сервер настроен и готов к работе. Возможно, придётся подождать несколько часов пока DNS-записи полноценно заработают. Узнать, верно ли настроен DNS можно в MXToolbox.

Туда