Postfix – это программа, которая занимается обработкой и отправкой электронной почты, а Dovecot – инструмент для получения и хранения электронной почты на сервере. Обе программы имеют открытый исходный код и могут быть использованы бесплатно. Они также хорошо интегрируются с Roundcube, который является веб-интерфейсом для работы с почтой, и поддерживают технологию Ajax, которая обеспечивает быструю и эффективную работу с почтой.
В этом руководстве мы рассмотрим, как происходит установка и настройка почтового сервера Postfix и Dovecot на операционной системе Linux: обновляем систему, устанавливаем необходимые пакеты, затем создаем пользователя и задаем нужные настройки.
- Предварительные условия
- Установите и настройте Postfix
- Создайте домены виртуальных почтовых ящиков
- Установите и настройте Dovecot
- Установите и настройте Roundcube
- Проверьте службу электронной почты
Предварительные условия
Почтовый сервер на Linux устанавливается в этом руководстве с использованием следующих исходных значений:
- Сервер Ubuntu 20.04, настроенный с полным доменным именем (FQDN).
- Пользователь без полномочий root с привилегиями sudo.
- Стек LAMP с установленным сертификатом SSL. В этом руководстве используется бесплатный сертификат Let's Encrypt.
- Проверьте состояние исходящего порта сервера.
Если для инсталляции и настройки почтового сервера с веб интерфейсом вы используете другие данные, то необходимо предусмотреть наличие существенных различий, чтобы выполнить все действия правильно.
Установите и настройте Postfix
Установка Postfix Ubuntu происходит в соответствии со следующим алгоритмом:
- Подключитесь по SSH к серверу и установите почтовый сервер Postfix.
- Вы увидите экран конфигурации Postfix. Нажмите TAB+ENTER для продолжения.
- Далее выберите сайт и снова нажмите конфигурацию клавиш для продолжения.
- Введите название домена.
- Создайте копию файла main.cf на случай, если что-то пойдет не так и можно было вернуться к началу, а затем создайте новый.
-
Введите информацию ниже в новый файл. Замените example.com своим доменным именем во всем файле. Убедитесь, что значения smtpd tls cert_file и smtpd tls key_file указывают на ваш SSL-сертификат.
smtpd_banner = $myhostname ESMTP $mail_name
biff = no
append_dot_mydomain = no
readme_directory = no
# TLS parameters
smtp_use_tls = yes
smtp_tls_security_level = may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_use_tls = yes
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_tls_cert_file = /etc/letsencrypt/live/example.com/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/example.com/privkey.pem
smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
virtual_transport = lmtp:unix:private/dovecot-lmtp
virtual_mailbox_domains = /etc/postfix/virtual_mailbox_domains
myhostname = mail.example.com
myorigin = /etc/mailname
mydestination = localhost.$mydomain, localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases - Сохраните и закройте файл.
Создайте домены виртуальных почтовых ящиков
Настройка Postfix также требует создания доменов виртуальных почтовых ящиков. Данный процесс выполняется следующим образом:
- Создайте соответствующий файл /etc/postfix/virtual_mailbox_domains.
-
Впишите ваше доменное имя:
example.com #domain
. -
Используйте команду
postmap
, чтобы изменить настройки virtual_mailbox_domains на формат, распознаваемый Postfix Roundcube. Делайте это каждый раз при редактуре файла. - Отредактируйте файл конфигурации /etc/postfix/master.cf, чтобы включить службу SMTP.
-
Найдите запись
#submission inet n - y - - smtpd
и удалите решетку в самом начале. - Сохраните изменения, после чего можете закрыть файл.
Установите и настройте Dovecot
Dovecot MySQL устанавливается следующим образом:
- Установите пакет Dovecot, запустив соответствующую команду. Там может быть несколько пакетов. В этом случае запускаем их все.
- Отредактируйте файл /etc/dovecot/conf.d/10-mail.conf и указав Dovecot в каком каталоге искать почту.
-
Запись
mail_location = mbox:~/mail:INBOX=/var/mail/%u
измените наmail_location = maildir:/var/mail/vhosts/%d/%n
(%d – домен, %n – пользователи). - Создайте подкаталог и замените example.com своим доменным именем. Повторите приведенную выше команду для каждого другого домена, от которого планируется получать письма на своем сервере, заменяя example.com именем домена.
- Создайте пользователя и группу Vmail для службы Dovecot. Назначьте право собственности на /var/mail/vhosts/ пользователю и группе vmail.
- Отредактируйте файл Dovecot 10-master.conf.
-
В следующих записях удалите решетки.
inet_listener imaps {
#port = 993
#ssl = yes
}
inet_listener pop3s {
#port = 995
#ssl = yes
} - Включите службу lmtp.
- Локальный почтовый сервер должен содержать правильную настройку сокетов аутентификации Doveco.
- Сохраните изменения и закройте файл.
- Настройте Dovecot, чтобы гарантировать безопасный вход.
-
В записи
# disable_plaintext_auth = yes
удалите решетку. -
В
auth_mechanisms = plain
в конце добавьте словоlogin
. - Включите аутентификацию LDAP для Dovecot, чтобы пользователи могли аутентифицироваться с помощью своих учетных записей LDAP.
-
В строке
#!include auth-passwdfile.conf.ext
удалите решетку. - Сохранитесь и закройте файл, с которым работали.
- Отредактируйте auth-passwdfile.conf.ext, сохраните его и закройте.
- Создайте /etc/dovecot/dovecot-users для хранения паролей.
- Включите поддержку SSL в Dovecot для обеспечения безопасности передачи данных.
- Сохраните изменения, а потом закройте файл.
Установите и настройте Roundcube
Ubuntu почтовый сервер почти настроен. Осталось немного.
- Выполните инсталляцию почтового клиента Roundcube.
- Нажмите ENTER, чтобы настроить базу данных.
- На следующем экране введите пароль MySQL.
-
Откройте файл конфигурации SSL вашего веб-сайта из каталога /etc/apache2/sites-enabled. Запустите команду
$ sudo nano /etc/apache2/sites-enabled/example.com-le-ssl.conf
и замените example.com своим доменным именем. -
Добавьте запись
Alias/mail/usr/share/roundcube
после записиServerName example.com
- Сохраните файл и закройте его, после чего перезапустите утилиту.
Проверьте службу электронной почты
Чтобы войти на сервер электронной почты с помощью Roundcube, введите https://mail.example.com/mail
, замените example своим доменным именем. Введите имя пользователя и пароль, которые вы определили в файле паролей Dovecot, и войдите в систему. После входа в систему вы можете отправлять и получать электронные письма с панели инструментов Roundcube.