Авторизация на сайте

Последнее из портфолио

Здравствуйте! После регистрации Вам станут доступны дополнительные инструменты просмотра и скрытый контент. Зарегистрироваться

Блог Олега Прокофьева » Блог » Установка Dovecot в Centos7

Установка Dovecot в Centos7

0

Настраиваем Dovecot


Конфигурация Dovecot состоит из нескольких файлов, каждый из которых предстоит немного подправить.

Как установить Postfix3 в Centos7 я рассказывал в статье "Настройка Postfix3 в Centos7"

Правим /etc/dovecot/dovecot.conf:
protocols = imap lmtp


Затем /etc/dovecot/conf.d/10-mail.conf:
mail_location = maildir:/var/mail/vhosts/%d/%n
mail_privileged_group = mail


В /etc/dovecot/conf.d/10-auth.conf меняем следующее:
auth_mechanisms = plain login
# эту строчку нужно закомментировать:
#!include auth-system.conf.ext
!include auth-sql.conf.ext


Далее правим /etc/dovecot/conf.d/auth-sql.conf.ext:
passdb {
  driver = sql
  args = /etc/dovecot/dovecot-sql.conf.ext
}
userdb {
  driver = static
  args = uid=vmail gid=vmail home=/var/mail/vhosts/%d/%n
}


Редактируем /etc/dovecot/dovecot-sql.conf.ext:
driver = mysql
connect = host=127.0.0.1 user=mail password=ПАРОЛЬ_ОТ_БД dbname=mail
default_pass_scheme = SHA512-CRYPT
password_query = \
    SELECT email as user, password \
    FROM virtual_users \
    WHERE email='%u';


Правим в /etc/dovecot/conf.d/10-master.conf следующее:
# ...

service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    mode = 0600
    user = postfix
    group = postfix
  }
}

# ...

service auth {
  unix_listener /var/spool/postfix/private/auth {
    mode = 0666
    user = postfix
    group = postfix
  }

  unix_listener auth-userdb {
    mode = 0600
    user = vmail
  }

  user = dovecot
}

# ...

service auth-worker {
  user = vmail
}


Наконец, в файле /etc/dovecot/conf.d/15-lda.conf указываем:
postmaster_address = postmaster@blanet.ru


Фух, с конфигами покончено. Теперь для каждого домена говорим:
sudo mkdir -p /var/mail/vhosts/blanet.ru


Создаем пользователя и группу vmail, проставляем права и перезапускаем Dovecot:
sudo groupadd -g 5000 vmail
sudo useradd -g vmail -u 5000 vmail -d /var/mail
sudo chown -R vmail:vmail /var/mail
sudo chown -R vmail:dovecot /etc/dovecot
sudo chmod -R o-rwx /etc/dovecot
sudo service dovecot restart

Dovecot настроен!

Проверяем


К этому моменту у вас должен крутиться SMTP на порту 25 и IMAP на порту 143. Пока что без TLS и спам-фильтра, но это уже самый настоящий почтовый сервер. Проверяем, что к нему можно подключиться почтовым клиентом. Затем добавляем в DNS MX-запись, указывающую на mail.blanet.ru. Обновление зоны занимает какое-то время — обычно около часа, но особо «умные» провайдеры могут кэшировать данные на сутки. То, что зона обновилась, можно увидеть так:

dig blanet.ru MX

...

;; ANSWER SECTION:
blanet.ru.         3599    IN  MX  5 mail.blanet.ru.

...


После этого проверяем, что почта приходит с какого-нибудь GMail и уходит на него (возможно, попадая при этом в каталог «Спам»), также проверяем работу алиасов. В случае возникновения проблем смотрим в файл /var/log/mail.log — туда пишет логи как Postfix, так и Dovecot.

Дополнение: С недавних пор некоторые почтовые сервисы начали отклонять письма, если у почтового сервера нет reverse DNS и SPF записей. Добавление reverse DNS происходит по-разному у разных VDS-провайдеров. У DigitalOcean нужно назвать VDS доменным именем сервера (например, «mail.blanet.ru»). Проверить, что все в порядке, можно командой dig -x 1.2.3.4. SPF запись включается простым добавлением TXT-записи с содержимым v=spf1 mx -all. Она говорит, что слать письма с blanet.ru могут только сервера, указанные в MX-записях домена. Для проверки выполняем команду dig -t TXT blanet.ru.

Прикручиваем TLS


Поскольку мы не дураки платить за сертификаты, то воспользуемся Let’s Encrypt. После установки certbot’а говорим:
sudo certbot --standalone certonly -d mail.blanet.ru


Теперь актуальный ключ и сертификат всегда будут лежать в:
/etc/letsencrypt/live/mail.blanet.ru/fullchain.pem
/etc/letsencrypt/live/mail.blanet.ru/privkey.pem


Правим /etc/postfix/main.cf:
smtpd_use_tls=yes
smtpd_tls_auth_only = yes
smtpd_tls_cert_file=/etc/letsencrypt/live/mail.blanet.ru/fullchain.pem
smtpd_tls_key_file=/etc/letsencrypt/live/mail.blanet.ru/privkey.pem
# Эта настройка говорит по возможности слать исходящую почту по TLS
# Без нее GMail будет помечать письма как "незашифрованные"
smtp_tls_security_level=may


Затем редактируем /etc/dovecot/conf.d/10-ssl.conf
ssl = required
# символы < перед путями к файлам - не опечатка
ssl_cert = </etc/letsencrypt/live/mail.blanet.ru/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.blanet.ru/privkey.pem


Перезапускаем Postfix и Dovecot:
sudo service postfix restart
sudo service dovecot restart


Postfix слушает с TLS на порту 25. Dovecot слушает одновременно порты 143 и 993. Меняем настройки почтового клиента и проверяем, что все работает. Мне в случае с Claws Mail в свойствах SMTP пришлось выбрать галочку «Use STARTTLS command to start encryption session».

Но это еще не все! Нужно, чтобы Postfix и Dovecot автоматически перечитывали сертификаты при их обновлении.

В /etc/letsencrypt/cli.ini пишем:
renew-hook=/etc/letsencrypt/certbot-renew-hook.sh


Создаем /etc/letsencrypt/certbot-renew-hook.sh:
#!/bin/sh

set -e

systemctl reload postfix
systemctl reload dovecot


Наконец, говорим:
sudo chmod ug+x /etc/letsencrypt/certbot-renew-hook.sh


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

Как установить Postfix3 в Centos7 я рассказывал в статье "Настройка Postfix3 в Centos7"

Похожие новости

  • Блог >> Настройка Postfix3 в Centos7 >> Настройка Postfix3 в Centos7 Я расскажу про установку и настройку postfix на centos 7, причем только тех модулей и дополнений, которые сам считаю

  • Блог >> Установка Postfix3 в Centos7 >> Установите Postfix 3 в Linux CentOS для отправки электронной почты через SMTP, SMTPS и STARTTLS Краткое руководство, объясняющее, как установить и

  • Блог >> Greylist для Postfix3 >> Postgrey-это сервер политики, реализующий серый список для фильтрации спама на почтовых серверах Postfix. Принцип серого списка работает на том


  • Информация
    Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.