Инструменты пользователя

Инструменты сайта


настройка_квот_в_dovecot

Настройка квот в Dovecot

Подключение квот

Включаем поддержку квотирования. В файле /etc/dovecot/conf.d/10-mail.conf, подключим плагин управления квотами. Для этого, раскомментируем следующий строку и приведем к такому виду:

mail_plugins = $mail_plugins quota

С файлом /etc/dovecot/conf.d/20-imap.conf проделываем такую штуку:

protocol imap {
  mail_plugins = $mail_plugins imap_quota
}

В файле /etc/dovecot/conf.d/10-master.conf проделываем дыру творим такое непотребство:

service dict {
    unix_listener dict {
    mode = 0660
    user = vmail
    group = vmail
  }
}

Так же, если остались еще силенки, откроем и отредактируем /etc/dovecot/conf.d/90-quota.conf

plugin {
  quota = dict:User quota::proxy::quota
}

Ну и в основном конфигурационном файле dovecot /etc/dovecot/dovecot.conf, в моем случае снимаем комментарий:

dict {
  quota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
}

После того, как подкрутили все конфиги, пришла пора создать настройки выгрузки квот. Делается это в файле /etc/dovecot/dovecot-dict-sql.conf.ext. Приведем указанные директивы к такому виду:

dovecot-dict-sql.conf.ext
connect = host=localhost dbname=db_name user=user_name password=P@$$w0rd
map {
  pattern = priv/quota/storage
  table = quota2
  username_field = username
  value_field = bytes
}
map {
  pattern = priv/quota/messages
  table = quota2
  username_field = username
  value_field = messages
}

В файле /etc/dovecot/dovecot-sql.conf.ext создадим пользовательский запрос, который как раз и будет получать информацию о пользовательских квотах.

user_query = SELECT email AS user, '5000' AS uid, '5000' AS gid, \
  concat('*:bytes=', quota) AS quota_rule \
  FROM virtual_users WHERE email = '%u' AND active = '1'

После всего этого, проверяем конфигурацию голубятни и перезагружаем ее:

systemctl restart dovecot.service

Казалось бы, после того, как мы столько пережили вместе, ничто не предвещало беды… В общем все это, у меня заработало только после того как я установил Postfixadmin. До этого у меня жаловался на отсутствие таблицы - quota2.

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

doveadm quota get -u vasyn@example.com

Quota name Type    Value Limit             % 
User quota STORAGE 18312     -             0                                                              
User quota MESSAGE     3     -             0         











настройка_квот_в_dovecot.txt · Последнее изменение: 2019/11/27 15:19 — admin