Установка и настройка службы imap/pop3 на базе Dovecot


Это вторая статья цикла посвященного почтовому серверу на базе ОС CentOS Linux. В ней речь пойдет о том, как же дать людям доступ ко входящим письмам по средствам imap/pop3 c помощью Dovecot.

Первая статья: Установка и Настройка Postfix

Настоятельно рекомендую начинать настройку сервера с нее.

Для начала установи нужные части Dovecot:

yum install dovecot dovecot-mysql

1. В любимом редакторе открываем файл /etc/dovecot/dovecot.conf и начинаем его беспощадно редактировать.

1.1. Для начала укажем механизм авторизации (доступные: login, cram-md5, DIGEST-MD5):

auth_mechanisms = plain

1.2. Укажем рабочий каталог dovecot:

base_dir = /var/run/dovecot/

1.3. Включаем поддержку ssl (если Ваш dovecot упадет на страте - попробуйте использовать pem сертификаты п.1.3.2.):

ssl = yes
ssl_cipher_list = ALL:!LOW:!SSLv2
ssl_cert=</etc/ssl/certs/server.crt
ssl_key=</etc/ssl/certs/server.key

1.3.1. Если сертификатов безопасности у Вас нету - сгенерируйте их самостоятельно:

mkdir /etc/ssl/certs/
cd /etc/ssl/certs/
openssl genrsa -out server.key 2048
openssl req -new -key server.key -out server.csr -nodes
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt
openssl pkcs12 -in server.pfx -out server.pem -nodes

1.4. Указываем id пользователей под которым Dovecot будет стучаться к файлам:

first_valid_uid = 1150
last_valid_uid = 1150

* полагаю что пользователь уже был создан.

1.5. Указываем где искать файлы почты:

mail_location = maildir:/var/spool/mail/%d/%u

%d - домен
%u - имя пользователя

1.6. База паролей:

passdb {
    args = /etc/dovecot/dovecot-sql.conf
    driver = sql
}

1.7. База пользователей:

userdb {
    args = /etc/dovecot/dovecot-sql.conf
    driver = sql
} 

1.8. Сокеты авторизации:

service auth {
    unix_listener /var/spool/postfix/private/dovecot-auth {
        user = postfix
        group = postfix
        mode = 0660
    }
    unix_listener auth-master {
        user = vmail
        group = mail
        mode = 0660
    }
    unix_listener auth-userdb {
        user = vmail
        group = mail
        mode = 0660
    }
}

1.9. Сокет для imap логина:

service imap-login {
    executable = /usr/libexec/dovecot/imap-login
    inet_listener imap {
        address = *
        port = 143
    }
}

1.10. Расположение сервиса imap:

service imap {
    executable = /usr/libexec/dovecot/imap
}

1.11. Сокет для pop3 логина:

service pop3-login {
    executable = /usr/libexec/dovecot/pop3-login
    inet_listener pop3 {
        address = *
        port = 110
    }
}

1.12. Расположение сервиса pop3:

service pop3 {
    executable = /usr/libexec/dovecot/pop3
}

1.13. Включаем логирование:

log_path = /var/log/dovecot.log
info_log_path = /var/log/dovecot-info.log

1.14. Настраиваем сжатие логов с использованием logrotate. Создаем файл /etc/logrotate.d/dovecot и вставляем следующие строки в него:

/var/log/dovecot*.log {
   missingok
   notifempty
   delaycompress
   create 666 root mail
   sharedscripts
   postrotate
      /bin/kill -USR1 `cat /var/run/dovecot/master.pid 2>/dev/null` 2> /dev/null || true
   endscript
}

2. Создаем файл /etc/dovecot/dovecot-sql.conf. Вставляем в него следующие строки:

driver = mysql
connect = host=localhost dbname=mail user=postfix password=password
default_pass_scheme = MD5
user_query = SELECT '/var/spool/mail/%d/%n' as home, 'maildir:/var/spool/mail/%d/%n'as mail, 1150 AS uid, 12 AS gid, concat('dirsize:storage=', quota) AS quota FROM mailbox WHERE username = '%u' AND active = '1'
password_query = SELECT username as user, password, '/var/spool/mail/%d/%n' as userdb_home, 'maildir:/var/spool/mail/%d/%n' as userdb_mail, 1150 as userdb_uid, 12 asuserdb_gid FROM mailbox WHERE username = '%u' AND active = '1'

Учтите что postfix и dovecot должны работать с одной базой данных.

Если базы не существует - зачем Вам Dovecot?

Перезапустите Dovecot чтобы изменения вступили в силу

service dovecot restart

Читайте дальше: Установка PostfixAdmin and RoundCube

Share Button
(Visited 1 103 times, 1 visits today)

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.