Материал подготовлен командой Simple-Server для администраторов VPS и выделенных серверов. Команды и пути проверяйте на тестовой машине перед production.
Предварительные требования
Для установки почтового сервера необходимо следующее:
- Сервер или виртуальная машина с предустановленной ОС Astra Linux. В инструкции мы будем использовать версию 2.12, но те же шаги можно выполнять и в других редакциях Astra Linux.
Сервер или виртуальная машина с предустановленной ОС Astra Linux. В инструкции мы будем использовать версию 2.12, но те же шаги можно выполнять и в других редакциях Astra Linux.
Чтобы арендовать облачный или выделенный сервер в Simple-Server, необходимо пройти регистрацию.
Переходим по ссылке для регистрации нового пользователя. Мы выберем регистрацию на физическое лицо и заполним следующие данные:
- ФИО,
- адрес электронной почты.
Номер телефона можно указать по желанию. Также регистрацию можно пройти, воспользовавшись одним из сторонних сервисов: Google-аккаунт, ВКонтакте и GitHub.
После регистрации на указанный адрес почты придет сообщение с ссылкой для активации аккаунта и входа в панель — перейдите по ней.
Создание облачного сервера
После того, как учетная запись была создана и активирована, можно арендовать облачный сервер.
-
Переходим на страницу авторизации и входим в аккаунт при помощи логина или адреса электронной почты и пароля или при помощи ВКонтакте, GitHub, Google.
-
После успешной авторизации отобразится панель управления текущего проекта. Переходим в раздел «Облачные серверы» и нажимаем «Создать» или «Добавить».
-
Выбираем операционную систему, которая будет установлена на сервер. В нашем случае нам необходима Astra Linux CE версии 2.12.
-
Выбираем регион, в котором будет находиться наш сервер. Выбирать рекомендуется тот регион, который ближе всего находится к вам физически. У каждого доступного региона справа вверху отображается ping, т.е. время, необходимое для передачи данных с вашего компьютера на сервер. Чем меньше указанное время, тем быстрее будет осуществляться передача данных.
-
Далее выбираем необходимую конфигурацию сервера. Для почтового сервера выберем двухъядерный процессор и 40 ГБ жесткого диска, выбираем соответствующий тариф:
-
Далее необходимо решить, будет ли сервер доступен из внешний сети или же только из приватной (частной) сети. Для выхода сервера в Интернет, нужно заказать плавающий IP.
-
По желанию можно оформить дополнительные услуги, включая резервные копии и защиту от DDoS-атак (последняя доступна только в Санкт-Петербурге и Москве).
-
Также заранее можно загрузить SSH-ключ, чтобы не входить на север при помощи пароля.
-
Можно задать необходимое имя для сервера которое будет отображаться в панели управления, а также выбрать проект.
-
Для создания сервера необходимо нажать на кнопку «Заказать»:
Если на вашем аккаунте недостаточно средств, то будет выведено предупреждение о необходимости пополнить баланс. После оплаты и создания сервера откроется Дашборд сервера, где можно будет найти IP-адрес, логин и пароль для подключения.
Первичная настройка сервера
Все команды, которые будут использоваться в данном и последующих разделах, необходимо выполнить от имени root-пользователя.
- Для начала необходимо задать имя хоста (
hostname). Для этого укажем его в файле/etc/hostname:
В данном примере hostname будет указан как 2633143-bi08079.twc1.net. Использовать можно любое имя хоста.
Сохраняем изменения и выходим из файла.
- Также имя хоста необходимо продублировать в файле
/etc/hosts:
nano /etc/hosts
127.0.0.1 2633143-bi08079.twc1.netСохраняем изменения и выходим из файла.
- Если вы используете firewall, например, UFW, то его необходимо либо выключить при помощи команд:
systemctl stop ufw && systemctl disable ufwЛибо открыть порты 110, 143 при помощи команды:
Также необходимо открыть 25 порт. Он заблокирован по умолчанию, поэтому необходимо отправить запрос в техническую поддержку.
- Обновляем списки пакетов и устанавливаем необходимые пакеты:
exim4-daemon-heavy— сервер почты;dovecot-imapd— агент доставки почты.
apt update && apt -y install exim4-daemon-heavy dovecot-imapdНа этом установка пакетов завершена.
- Вводим следующую команду в терминале для настройки
exim:
dpkg-reconfigure exim4-configОткроется псевдографический интерфейс — Mail Server configuration (Конфигурация почтового сервера).
-
На первом шаге выбираем пункт internet site; mail is sent and received directly using SMTP (интернет-сайт; приём и отправка почты напрямую, используя SMTP):
-
Далее задаем имя для создаваемого почтовое сервера. Можно использовать имя хоста, которое было задано ранее:
-
На следующем шаге необходимо указать IP-адреса, с которых следует ожидать входящие соединения по протоколу SMTP. Оставляем данное поле пустым (это означает, что соединения будут доступны со всех сетевых интерфейсов):
-
Указываем имя почтового сервера, которое было указано во 2 шаге:
-
Следующий пункт оставляем пустым:
**** 6) На этапе создание списка IP-адресов, с которых разрешена релейная передача почты, можно указать как IP-адрес, так и всю подсеть сразу:
В данном примере используется подсеть 188.225.57.140/24.
-
В пункте Keep number of DNS-queries minimal (Dial-on-Demand) (Сокращать количество DNS-запросов до минимума) указываем NO (нет):
-
Delivery method for local mail (Метод доставки локальной почты) — указываем Maildir format in home directory (Maildir-формат в домашнем каталоге):
-
Split configuration into small files? (Разделить конфигурацию на маленькие файлы) — выбираем No (нет):
На этом первичная настройка exim завершена. Далее будут рассмотрены углубленная настройка exim и dovecot.
Дополнительная настройка exim
- Открываем на редактирование конфигурационный файл
exim4.conf.templateпри помощи любого текстового редактора:
nano /etc/exim4/exim4.conf.templateНеобходимо отредактировать два параметра:
domainlist relay_to_domains— указать доменное имя почтового сервера (которое было задано на этапе первичной настройки exim);hostlist relay_from_hosts— указать подсеть сервера почты в форматеIP_адрес/подсеть:
- Для настройки логирования используется файл
90_exim4-config_log_selector:
nano /etc/exim4/conf.d/main/90_exim4-config_log_selectorПриводим файл к следующему виду:
.ifdef MAIN_LOG_SELECTOR
log_selector = \
+all_parents \
+connection_reject \
+lost_incoming_connection \
+received_sender \
+received_recipients \
+smtp_confirmation \
+smtp_syntax_error \
+smtp_protocol_error \
-queue_run
log_file_path = /var/log/exim4/exim_%slog
.endifСохраняем изменения и выходим из файла.
Перезапуск и проверка работоспособности exim
После внесения правок в конфигурационные файлы, необходимо перезапустить сервис exim, добавить его в автозагрузку и проверить статус:
systemctl enable exim4 && service exim4 restart && service exim4 statusЕсли конфигурация не содержит ошибок, то exim будет запущен со статусом active (running):
- Открываем на редактирование основной конфигурационный файл dovecot —
dovecot.conf:
nano /etc/dovecot/dovecot.confНеобходимо отредактировать параметр listen, прописав в нем символ *. Это означает, что почта будет приниматься со всех адресов:
- Далее необходимо настроить аутентификацию в dovecot. Мы будем использовать PAM-аутентификацию. Это означает, что в качестве пользователей будут использоваться пользователи, которые присутствуют в операционной системе.
Открываем на редактирование конфигурационный файл 10-auth.conf:
nano /etc/dovecot/conf.d/10-auth.confВ параметрах auth_realms и auth_default_realm необходимо задать доменное имя почтового сервера, которое было задано на этапе первичной настройки exim.
Необходимо отредактировать (а при необходимости также раскомментировать, удалив символ #) следующие параметры:
disable_plaintext_auth = no
auth_realms = 2633143-bi08079.twc1.net
auth_default_realm = 2633143-bi08079.twc1.net
auth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@
auth_username_format = %n- Далее необходимо прописать порт, на котором будет доступен
dovecot. Для этого открываем на редактирование конфигурационный файл10-master.confи находим в нем блок с именемservice imap-login. Ппрописываем или раскомментируем параметрport, указав в значении порт 143 (это порт по умолчанию для службыdovecot):
nano /etc/dovecot/conf.d/10-master.conf- Так как мы не будем использовать SSL, необходимо выключить данный параметр. Открываем на редактирование файл
10-ssl.conf:
nano /etc/dovecot/conf.d/10-ssl.confНаходим параметр ssl и в значении указываем no:
- Далее открываем на редактирование файл
10-mail.conf:
nano /etc/dovecot/conf.d/10-mail.conf
mail_location = mbox:~/mail:INBOX=/var/mail/%uИ меняем ее значение на maildir:~/Maildir:
mail_location = maildir:~/MaildirСохраняем изменения и выходим из файла.
- При необходимости можно настроить логирование в dovecot. Для этого открываем файл
10-logging.conf:
nano /etc/dovecot/conf.d/10-logging.confИ редактируем следующие параметры:
log_path = /var/log/dovecot/main.log
debug_log_path = /var/log/dovecot/debug.log
auth_verbose = yes
log_timestamp = "%b %d %H:%M:%S "log_path— полный путь до файла, в который будут записываться логи;debug_log_path— полный путь до файла, в который будут записывать логи уровня debug.
- Так как ранее мы задали путь до файла, куда будут записываться логи, необходимо создать директорию
dovecot, а в ней — пустой файлmain.log:
mkdir /var/log/dovecot/
touch /var/log/dovecot/main.log- Добавляем сервис
dovecotв автозагрузку и перезапускаем:
systemctl enable dovecot && systemctl restart dovecotПосле этого проверяем статус dovecot при помощи команды:
Если dovecot будет успешно запущен, то в статусе сервиса будет указано active (running).
Установка графического интерфейса Fly и xrdp (опционально)
Дальнейшее тестирование почтового сервера будет производиться при помощи клиентской программы Thunderbird, которая доступна только в графическом интерфейсе пользователя. Так как у нас используется сервер без графического интерфейса пользователя, мы можем воспользоваться одним из следующих решений:
- Арендовать второй сервер Astra Linux с предустановленным графическим интерфейсом. Для этого на этапе создания сервера на странице «Создать сервер» необходимо перейти в раздел «Маркетплейс» и найти образ «Astra Linux Desktop»:
После того как сервер будет готов к работе, необходимо установить пакет xrdp, при помощи которого можно подключаться к серверу из Windows по протоколу RDP.
Команда установки xrdp и клиента Thunderbird будет следующей:
apt update && apt -y install xrdp xorgxrdp thunderbirdДобавляем сервис xrdp в автозагрузку и запускаем его:
systemctl enable xrdp && systemctl start xrdpНа компьютере с установленной ОС Windows запускаем клиент RDP. Для этого в поиске пишем rdp и открываем программу «Подключение к удаленному рабочему столу»:
В появившемся окне вводим IP-адрес сервера с Astra Linux и нажимаем на кнопку «Подключить»:
При появлении предупреждения проверки подлинности нажимаем на кнопку «Да»:
Откроется окно с вводом данных пользователя. Вводим логин и пароль того пользователя, который уже присутствует на сервере:
При необходимости пользователя можно создать при помощи команды adduser new-user, где new-user — имя создаваемого пользователя.
После нажатия на кнопку «ОК» отобразится главный экран входа пользователя интерфейса Astra Linux:
Вводим логин и пароль еще раз.
- Второй способ заключается в установке графической оболочки на сервер, у которого нет GUI.
Для этого устанавливаем официальный графический интерфейс Fly, а также клиент xrdp и клиент Thunderbird при помощи команды:
apt update && apt -y install fly-all-main xrdp xorgxrdp thunderbirdДобавляем сервис xrdp в автозагрузку и запускаем его:
systemctl enable xrdp && systemctl start xrdpПодключение по RDP происходит аналогично шагам, описанным в предыдущем пункте.
Добавление почтового сервера в Thunderbird
Переходим в графический интерфейс пользователя Astra Linux и запускам почтовый клиент Thunderbird, который находится в меню «Start» и в разделе «Network».
В открывшемся окне вводим имя пользователя в поле «Your name». Пользователь должен быть заранее создан в операционной системе. В нашем случае пользователь с именем alex уже присутствует в системе. В поле «Email address» вводим имя пользователя и имя нашего почтового сервера, в формате имя@адрес_почтового_сервера. В поле «Пароль» вводим пароль от учётной записи пользователя:
Нажимаем на кнопку «Continue». Далее клиент найдет конфигурацию сервера и сообщит об этом:
Так как мы не настраивали SSL, то появится предупреждение о том, что сервер электронной почты не использует шифрование.
В левом нижнем углу ставим чекбокс напротив надписи «I understand the risks» и нажимаем на кнопку «Done».
Откроется интерфейс почтового клиента:
Для проверки работоспособности почтового сервера напишем письмо самому себе. Для этого на верхней панели нажимаем на кнопку «Write». В поле «Кому» (To) указываем свой адрес электронной почты, в поле «Тема» (Subject) указываем тему. Пишем любой текст сообщения и отправляем сообщение (кнопка Send):
В папке «Входящие» появилось наше сообщение самому себе:
Нужен сервер для практики? Арендуйте VPS/VDS в России — root-доступ, NVMe, DDoS-защита и поддержка 24/7.