Установка и настройка почтового сервера iRedMail

post thumbnail

В один момент вы можете прийти к выводу, что вашей компании срочно понадобился почтовый сервер – пространство со сбором и управлением электронными письмами. Только вот незадача: заниматься полной установкой и настройкой нет возможности желания, что тогда? На помощь приходит готовая сборка iRedMail для организации почтового сервера. Главное преимущество – быстрый и простой процесс установки.

Почтовый сервер “из коробки” оптимально настроен для удобного управления и пользования электронной почтой. Все письма надежно будут храниться на сервере, и вам не стоит беспокоиться о приватности переписки, как в случае, если бы вы использовали подписные сервисы по типу Outlook или GSuite.

В данной статье мы рассмотрим как установить почтовый сервер iRedMail на VPS. Для установки потребуется сервер с чистой операционной системой и доступом по SSH с правами суперпользователя root. Поддерживается  CentOS, Debian, Ubuntu, FreeBSD, OpenBSD.

Купить хостинг для сайта от Hostpro

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

iRedMail предназначен для установки на чистый сервер, что означает, что на вашем сервере НЕ установлены никакие компоненты, связанные с почтой, например, MySQL, OpenLDAP, Postfix, Dovecot, Amavisd и т. д. Скрипт установки iRedMail автоматически установит и настроит их для вас. Если что-либо из указанных компонентов уже установлено, ваши конфигурационные файлы будут перезаписаны, а iRedMail в последствии может работать не так, как ожидалось.

Рекомендуется хотя бы 2ГБ оперативной памяти для мало нагруженных систем. В случае использования антиспама и антивируса будет использоваться большая часть ресурсов.

2. Подготовка к установке

Установите правильное имя вашего сервера

Имя сервера (hostname) должно быть полностью определенным доменным именем (FQDN), неважно, настраиваете вы рабочий или  тестовый сервер. Проверить имя сервера можно, выполнив команду:

hostname -f
mx.site.com

Если полученное в результате команды имя сервера не является FQDN, то его нужно изменить. Имя сервера для Centos 7 задается в файле /etc/hostname. Откройте файл вашим любимым текстовым редактором и укажите туда нужное имя сервера.

А также добавьте имя сервера в файле /etc/hosts, чтобы оно было в начале строки, сразу после IP-адреса, примерно так:

127.0.0.1 mx.site.com mx localhost localhost.localdomain

Проверьте имя сервера командой hostname -f снова. Если оно не поменялось на новое значение — перезагрузите сервер для применения настроек.

Выключение SELinux

iRedMail не работает с SELinux, поэтому отключите его, установив указанное ниже значение в своем конфигурационном файле /etc/selinux/config. После перезагрузки сервера SELinux будет полностью отключен.

SELINUX=disabled

Чтобы отключить SELinux для текущей сессии без перезагрузки запустите команду с правами суперпользователя:

setenforce 0

Выключение сторонних репозиториев

Для CentOS включите официальные репозитории yum CentOS-Base и ОТКЛЮЧИТЕ все сторонние репозитории yum, чтобы избежать конфликта пакетов.

Загрузка последнего актуального релиза iRedmail

Перейдите на страницу загрузки последнего стабильного релиза iRedmail и скопируйте ссылку на установщик:

Купить хостинг для сайта от Hostpro

Полученную ссылку скачайте на ваш сервер при помощи wget. Может потребоваться установка пакета wget, если он не установлен:

yum install wget -y 

Скачиваем установщик:

wget https://bitbucket.org/zhb/iredmail/downloads/iRedMail-0.9.9.tar.bz2

Устанавливаем архиватор bzip2 для распаковки архива:

yum install bzip2 -y

Распакуем архив:

tar xjf iRedMail-0.9.9.tar.bz2

Предполагаем, вы загрузили архив в папку /root/ (вы попадаете в нее по умолчанию сразу после подключения к серверу по SSH от имени root). Тогда распакованный архив будет в папке /root/iRedMail-0.9.9/ (цифры номера версии могут отличаться, в зависимости от номера актуального релиза, замените их на свои при необходимости).

3. Процесс установки iRedMail

Для начала установки нужно перейти в папку с распакованным архивом и запустить скрипт iRedMail.sh

cd /root/iRedMail-x.y.z/
bash iRedMail.sh

Приветственный экран:

Купить хостинг для сайта от Hostpro

Для перехода к следующему шагу нужно нажать клавишу Enter. На втором шаге нужно выбрать директорию для хранения почты. Можно оставить значение по умолчанию или указать нужную. Для перехода на следующий шаг нажмите Tab для переключения курсора на кнопку Next, а затем — Enter.


Купить хостинг для сайта от Hostpro

Здесь можно выбрать способ хранения учетных данных пользователей. Мы рекомендуем MySQL (MariaDB). Для переключения используйте клавиши стрелок, для выбора варианта клавишу Пробел. Для перехода к следующему шагу — Tab и Enter.

Купить хостинг для сайта от Hostpro

Укажите пароль администратора сервера баз данных. Это должен быть длинный набор символов из букв, цифр и знаков препинания. В дальнейшем вам, скорее всего не потребуется его использовать, потому его можно не запоминать. А также вся необходимая информация, в том числе и пароли, будет записана в одном документе, который будет доступен администратору.

Купить хостинг для сайта от Hostpro

Укажите имя домена, с которого вы будете отправлять почту. После установки можно будет добавить другие домены при необходимости. Обратите внимание, нужно прописать имя домена, на котором в последствии будут создаваться email-адреса, а не hostname сервера.

Купить хостинг для сайта от Hostpro

Далее нужно установить пароль на учетную запись администратора почтового сервера, она же ваш email-адрес по умолчанию, куда после установки будет отправлена все информация по дальнейшей настройке сервера. Пароль должен быть длинным и сложным (от 12 символов) и содержать латинские буквы разного регистра и цифры. Для этого пароля нельзя использовать спец-символы и знаки препинания. Этот пароль вам нужно запомнить или сохранить в надежном месте, поскольку он будет постоянно использоваться для входа в веб-интерфейс iRedAdmin.

Купить хостинг для сайта от Hostpro

На следующем шаге нужно выбрать компоненты, которые будут установлены. Можно выбрать все, или исключить некоторые. Обязательно установите iRedAdmin — интерфейс управления учетными записями.

Купить хостинг для сайта от Hostpro

Это был последний шаг настроек. После этого нужно подтвердить установку компонентов (нажать клавишу Y и Enter) дождаться завершения установки всех необходимых пакетов. В конце на экране терминала будет такой вывод:

Купить хостинг для сайта от Hostpro

На экран будут выведены все основные ссылки для перехода в веб-интерфейс и данные доступа  учетной записи администратора.

4. Получение бесплатного SSL от Let’s Encrypt для iRedMail

Что нужно выяснить перед получением сертификата?

Для каких доменных имен требуются сертификаты?

  1. Имя сервера (hostname) — это имя обычно используется при настройке соединения с почтовыми клиентами (Outlook, Thunderbird и др.) В нашем примере — iredmail.mytestsite.co.ua
  2. Имена, по которым будет осуществляться веб-доступ к панелям администрирования (https://iredmail.mytestsite.co.ua/iredadmin/, https://iredmail.mytestsite.co.ua/mail/)
  3. Для домена, на котором будут создаваться почтовые ящики (mytestsite.co.ua), сертификат не требуется, если он не используется для веб-интерфейсов.

Один сертификат для всех доменных имен или несколько сертификатов?

Nginx и Dovecot могут использовать разные сертификаты для разных доменных имен (SNI), но Postfix — нет.  Потому мы рекомендуем использовать один SSL-сертификат, который покрывает сразу все необходимые имена.

Проверьте DNS-записи для ваших  доменных имен

Убедитесь, что все используемые домены (субдомены) направлены А-записями на IP-адрес вашего сервера. Можно проверить это при помощи команды dig:

dig +short iredmail.mytestsite.co.ua
194.28.87.18

Если в ответ на команду вы получите IP-адрес сервера — все настроено правильно.

Получение сертификата Let’s Encrypt SSL

Сначала установим пакет certbot, предназначенный для выпуска и автоматического обновления сертификатов от Let’s Encrypt:

yum install certbot

Далее запускаем получение SSL-сертификата:

certbot certonly --webroot -w /var/www/html -d iredmail.mytestsite.co.ua 

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator webroot, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]
Starting new HTTPS connection (1): acme-staging-v02.api.letsencrypt.org

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-staging-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for iredmail.mytestsite.co.ua
Using the webroot path /var/www/html for all unmatched domains.
Waiting for verification...
Cleaning up challenges
Resetting dropped connection: acme-staging-v02.api.letsencrypt.
IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/iredmail.mytestsite.co.ua/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/iredmail.mytestsite.co.ua/privkey.pem
   Your cert will expire on 2019-05-08. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot
   again. To non-interactively renew *all* of your certificates, run
   "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

В процессе вводим email-адрес для регистрации в сервисе и подтверждаем согласие с условиями использования.

Сертификат был получен и его файлы сохранены в папке /etc/letsencrypt/live/iredmail.mytestsite.co.ua/Если вы хотите получить сертификаты для нескольких доменов одновременно, то нужно перечислить их в команде выпуска сертификата через опцию -d:

certbot certonly --webroot -w /var/www/html -d site1.com -d site2.com ...

Изменяем права доступа на папку с сертификатами, чтобы другие пользователи системы имели право чтения:

chmod 0644 /etc/letsencrypt/{live,archive}

Для автоматического обновления сертификатов настраиваем cron-задачу:

crontab -e

и добавляем в открывшемся редакторе текст:

1 3 * * 0 certbot renew --post-hook 'service postfix restart; service nginx restart; service dovecot restart'

По этой задаче еженедельно в 03:01 будет запускаться скрипт обновления сертификатов, который обновит все сертификаты, срок действия которых истекает менее, чем через 30 дней.

Подключение сертификатов Let’s Encrypt

Во время установки iRedMail были созданы самоподписанные сертификаты, которые были подключены ко всем сервисам (dovecot, postfix, nginx). Для подключения сертификатов Let’s Encrypt вместо них проще всего будет создать символьные ссылки с папки сертификатов Let’s Encrypt в папку сертификатов iRedMail. При этом не потребуется редактировать какие-либо конфигурационные файлы служб.

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

mv /etc/pki/tls/certs/iRedMail.crt{,.bak} # Backup. Rename iRedMail.crt to iRedMail.crt.bak

mv /etc/pki/tls/private/iRedMail.key{,.bak} # Backup. Rename iRedMail.key to iRedMail.key.bak

ln -s /etc/letsencrypt/live/iredmail.mytestsite.co.ua/fullchain.pem /etc/pki/tls/certs/iRedMail.crt

ln -s /etc/letsencrypt/live/iredmail.mytestsite.co.ua/privkey.pem /etc/pki/tls/private/iRedMail.key

Перезапускаем службы:

service postfix restart
service dovecot restart
service nginx restart
service mariadb restart

5. Начальная настройка iRedMail

Откройте в браузере ссылку вида https://mail.site.com/mail/ (адрес, по которому вы задали расположение веб-интерфейса почты), авторизуйтесь с вашей учетной записью администратора — [email protected]. Вы увидите в папке входящих писем несколько писем с информацией о расположении важных файлов конфигурации в системе, ключе DKIM, который нужно добавить в DNS-зону, ссылки на все веб-интерфейсы, рекомендации по настройке почтовых клиентов и другую важную информацию. Также вся эта информация располагается на сервере в файле /root/iRedMail-0.9.9/iRedMail.tips.

Купить хостинг для сайта от Hostpro

Для создания и настройки почтовых ящиков нужно перейти в панель iRedAdmin, расположенную по ссылке вида https://mail.site.com/iredadmin. Для входа используем email администратора ([email protected]) и его пароль.

Купить хостинг для сайта от Hostpro

Для создания почтового аккаунта нужно нажать Добавить — Пользователь

Купить хостинг для сайта от Hostpro

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

Просмотреть список доменов и почтовых ящиков можно в разделе Домены

Купить хостинг для сайта от Hostpro

Вот и все, на этом основные настройки завершены. И напоследок – настроить данный сервер вы можете на нашем тарифе Linux VPS.  Если же у вас возникают какие-либо вопросы по настройке iRedMail и не только – смело обращайтесь в нашу поддержку.  

Telegram Hostpro

Наш телеграм

с важными анонсами, розыгрышами и мемами

Присоединиться

Возможно, вас заинтересует

Как получить бэкап сайта и восстановить данные?

Как получить бэкап сайта и восстановить данные?

О том, что может привести к потере данных сайта, о нюансах бэкапов и их...

Diana Honcharenko | Обновлено: 15.03.2024

Что такое PIN-код поддержки в HostPro?

Что такое PIN-код поддержки в HostPro?

Когда вы обращаетесь в службу поддержки HostPro, нам может потребоваться подтвердить вашу учетную запись,...

Diana Honcharenko | Обновлено: 14.03.2024

Как добавить фавикон на WordPress сайт

Как добавить фавикон на WordPress сайт

В этой статье мы рассмотрим самую актуальную информацию, по состоянию на начало 2024 года,...

Diana Honcharenko | Обновлено: 22.02.2024

Как установить WP-CLI. Шпаргалка с основными командами

Как установить WP-CLI. Шпаргалка с основными командами

WP-CLI (WP Command Line Interface) – утилита для работы с сайтами на WordPress, которая...

Diana Honcharenko | Обновлено: 23.01.2024