tachtler:dovecot_quotas_-_sql-backend
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
tachtler:dovecot_quotas_-_sql-backend [2014/05/23 15:31] – [Neustart] klaus | tachtler:dovecot_quotas_-_sql-backend [2017/04/07 15:08] (aktuell) – [Beispiel-Anzeige] klaus | ||
---|---|---|---|
Zeile 3: | Zeile 3: | ||
:!: **HINWEIS** - **Die Nachfolgende Konfiguration von [[http:// | :!: **HINWEIS** - **Die Nachfolgende Konfiguration von [[http:// | ||
* **[[tachtler: | * **[[tachtler: | ||
+ | * **[[tachtler: | ||
* **[[tachtler: | * **[[tachtler: | ||
Zeile 51: | Zeile 52: | ||
dict { | dict { | ||
- | | + | #quota = mysql:/ |
- | # default: | + | |
- | | + | |
#expire = sqlite:/ | #expire = sqlite:/ | ||
+ | # Tachtler | ||
+ | sqluserquota = mysql:/ | ||
+ | sqldomainquota = mysql:/ | ||
} | } | ||
... | ... | ||
</ | </ | ||
- | ==== / | + | ==== / |
Nachfolgende Konfigurationsdatei ist **standardmäßig __nicht__** im Verzeichnis | Nachfolgende Konfigurationsdatei ist **standardmäßig __nicht__** im Verzeichnis | ||
Zeile 67: | Zeile 69: | ||
Jedoch kann die Konfigurationsdatei aus dem installierten '' | Jedoch kann die Konfigurationsdatei aus dem installierten '' | ||
< | < | ||
- | # cp -a / | + | # cp -a / |
</ | </ | ||
Anschließend kann mit nachfolgendem Befehl überprüft werden, ob dies erfolgreich durchgeführt wurde: | Anschließend kann mit nachfolgendem Befehl überprüft werden, ob dies erfolgreich durchgeführt wurde: | ||
< | < | ||
- | # ll / | + | # ll / |
- | -rw-r--r-- 1 root root 1085 May 23 13:06 / | + | -rw-r--r-- 1 root root 1085 May 23 13:06 / |
</ | </ | ||
Zeile 94: | Zeile 96: | ||
pattern = priv/ | pattern = priv/ | ||
# Tachtler | # Tachtler | ||
- | # default: table = quota | + | # defautl: table = quota |
table = quota2 | table = quota2 | ||
username_field = username | username_field = username | ||
Zeile 102: | Zeile 104: | ||
pattern = priv/ | pattern = priv/ | ||
# Tachtler | # Tachtler | ||
- | # default: table = quota | + | # defautl: table = quota |
table = quota2 | table = quota2 | ||
username_field = username | username_field = username | ||
Zeile 141: | Zeile 143: | ||
<code ini> | <code ini> | ||
- | |||
map { | map { | ||
pattern = priv/ | pattern = priv/ | ||
Zeile 149: | Zeile 150: | ||
username_field = username | username_field = username | ||
value_field = bytes | value_field = bytes | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | <code ini> | ||
+ | map { | ||
+ | pattern = priv/ | ||
+ | # Tachtler | ||
+ | # default: table = quota | ||
+ | table = quota2 | ||
+ | username_field = username | ||
+ | value_field = messages | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Die Verwendung einer Tabelle für Ablaufdaten, | ||
+ | |||
+ | <code ini> | ||
+ | # Tachtler - DISABLED - | ||
+ | #map { | ||
+ | # pattern = shared/ | ||
+ | # table = expires | ||
+ | # value_field = expire_stamp | ||
+ | # | ||
+ | # fields { | ||
+ | # username = $user | ||
+ | # mailbox = $mailbox | ||
+ | # } | ||
+ | #} | ||
+ | </ | ||
+ | |||
+ | ==== / | ||
+ | |||
+ | Nachfolgende Konfigurationsdatei ist **standardmäßig __nicht__** im Verzeichnis | ||
+ | * ''/ | ||
+ | enthalten. | ||
+ | |||
+ | Jedoch kann die Konfigurationsdatei aus dem installierten '' | ||
+ | < | ||
+ | # cp -a / | ||
+ | </ | ||
+ | |||
+ | Anschließend kann mit nachfolgendem Befehl überprüft werden, ob dies erfolgreich durchgeführt wurde: | ||
+ | < | ||
+ | # ll / | ||
+ | -rw-r--r-- 1 root root 1085 May 23 13:06 / | ||
+ | </ | ||
+ | |||
+ | (**Komplette Konfigurationsdatei**) | ||
+ | <code ini> | ||
+ | # This file is commonly accessed via dict {} section in dovecot.conf | ||
+ | |||
+ | # Tachtler | ||
+ | # default: #connect = host=localhost dbname=mails user=testuser password=pass | ||
+ | connect = host=mysql.tachtler.net dbname=postfix user=postfixuser password=geheim | ||
+ | |||
+ | # CREATE TABLE quota ( | ||
+ | # | ||
+ | # bytes bigint not null default 0, | ||
+ | # | ||
+ | # | ||
+ | # ); | ||
+ | |||
+ | map { | ||
+ | pattern = priv/ | ||
+ | # Tachtler | ||
+ | # defautl: table = quota | ||
+ | table = domain | ||
+ | # Tachtler | ||
+ | # default: username_field = username | ||
+ | username_field = domain | ||
+ | # Tachtler | ||
+ | # default: value_field = bytes | ||
+ | value_field = quota | ||
+ | } | ||
+ | map { | ||
+ | pattern = priv/ | ||
+ | # Tachtler | ||
+ | # defautl: table = quota | ||
+ | table = quota2 | ||
+ | username_field = username | ||
+ | value_field = messages | ||
+ | } | ||
+ | |||
+ | # CREATE TABLE expires ( | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # ); | ||
+ | |||
+ | # Tachtler - DISABLED - | ||
+ | #map { | ||
+ | # pattern = shared/ | ||
+ | # table = expires | ||
+ | # value_field = expire_stamp | ||
+ | # | ||
+ | # fields { | ||
+ | # username = $user | ||
+ | # mailbox = $mailbox | ||
+ | # } | ||
+ | #} | ||
+ | </ | ||
+ | |||
+ | **__Erläuterungen__**: | ||
+ | |||
+ | Hier müssen, für die permanente Verbindung des " | ||
+ | |||
+ | <code ini> | ||
+ | # Tachtler | ||
+ | # default: #connect = host=localhost dbname=mails user=testuser password=pass | ||
+ | connect = host=mysql.tachtler.net dbname=postfix user=postfixuser password=geheim | ||
+ | </ | ||
+ | |||
+ | Da **__nicht__** die Standardtabelle von [[http:// | ||
+ | |||
+ | <code ini> | ||
+ | map { | ||
+ | pattern = priv/ | ||
+ | # Tachtler | ||
+ | # defautl: table = quota | ||
+ | table = domain | ||
+ | # Tachtler | ||
+ | # default: username_field = username | ||
+ | username_field = domain | ||
+ | # Tachtler | ||
+ | # default: value_field = bytes | ||
+ | value_field = quota | ||
} | } | ||
</ | </ | ||
Zeile 187: | Zeile 315: | ||
Die nachfolgende Konfiguration setzt ebenfalls voraus, dass ein **Authentifizierungsbenutzer** wie unter nachfolgendem internen Link beschrieben | Die nachfolgende Konfiguration setzt ebenfalls voraus, dass ein **Authentifizierungsbenutzer** wie unter nachfolgendem internen Link beschrieben | ||
* [[tachtler: | * [[tachtler: | ||
+ | * [[tachtler: | ||
verwendet wird und somit **alle** Benutzer die gleiche **UID** und **GID** haben. | verwendet wird und somit **alle** Benutzer die gleiche **UID** und **GID** haben. | ||
Zeile 198: | Zeile 327: | ||
# Tachtler | # Tachtler | ||
# default: #mode = 0600 | # default: #mode = 0600 | ||
- | mode = 0600 | + | mode = 0660 |
# Tachtler | # Tachtler | ||
# default: #user = | # default: #user = | ||
Zeile 235: | Zeile 364: | ||
plugin { | plugin { | ||
#quota = dirsize: | #quota = dirsize: | ||
- | #quota = maildir: | + | |
- | # Tachtler | + | # default: |
- | | + | # Using SQL Tables to store current quota size |
- | quota = dict:User quota:: | + | |
+ | | ||
+ | # Allow 10% more for Trash Folder | ||
+ | | ||
+ | #quota = dict:User quota:: | ||
#quota = fs:User quota | #quota = fs:User quota | ||
+ | |||
} | } | ||
Zeile 252: | Zeile 386: | ||
... | ... | ||
</ | </ | ||
+ | |||
+ | ==== / | ||
+ | |||
+ | :!: **WICHTIG** - **Nachfolgender interner Link beschreibt die Anpassungen an der Konfigurationsdatei** | ||
+ | * **''/ | ||
+ | [[tachtler: | ||
+ | |||
+ | (* //Bereich CentOS 7 - SQL-QUOTAS// | ||
===== Neustart ===== | ===== Neustart ===== | ||
Zeile 265: | Zeile 407: | ||
auth_verbose = yes | auth_verbose = yes | ||
dict { | dict { | ||
- | | + | |
+ | sqluserquota | ||
} | } | ||
mail_debug = yes | mail_debug = yes | ||
Zeile 299: | Zeile 442: | ||
} | } | ||
passdb { | passdb { | ||
- | args = scheme=CRYPT username_format=%u | + | args = / |
- | driver = passwd-file | + | driver = sql |
} | } | ||
plugin { | plugin { | ||
- | quota = dict: | + | quota = dict: |
+ | quota2_rule = Trash: | ||
quota_grace = 10%% | quota_grace = 10%% | ||
- | quota_rule = INBOX/ | + | quota_rule |
+ | quota_rule2 | ||
quota_status_nouser = DUNNO | quota_status_nouser = DUNNO | ||
quota_status_overquota = 552 5.2.2 Mailbox is over quota | quota_status_overquota = 552 5.2.2 Mailbox is over quota | ||
Zeile 316: | Zeile 461: | ||
unix_listener dict { | unix_listener dict { | ||
group = vmail | group = vmail | ||
- | mode = 0600 | + | mode = 0660 |
user = vmail | user = vmail | ||
} | } | ||
Zeile 339: | Zeile 484: | ||
} | } | ||
ssl_cert = </ | ssl_cert = </ | ||
+ | ssl_cipher_list = ECDHE-RSA-AES128-GCM-SHA256: | ||
+ | ssl_dh_parameters_length = 2048 | ||
ssl_key = </ | ssl_key = </ | ||
+ | ssl_prefer_server_ciphers = yes | ||
+ | ssl_protocols = !SSLv2 !SSLv3 | ||
userdb { | userdb { | ||
args = username_format=%u / | args = username_format=%u / | ||
Zeile 378: | Zeile 527: | ||
* //**Neu** ist hier der Prozess '' | * //**Neu** ist hier der Prozess '' | ||
+ | |||
+ | ===== Beispiel-Anzeige ===== | ||
+ | |||
+ | Nachfolgende Anzeige ist ein Ausschnitt aus der Web-Anwendung [[http:// | ||
+ | |||
+ | {{: | ||
===== Quota-Befehle: | ===== Quota-Befehle: |
tachtler/dovecot_quotas_-_sql-backend.txt · Zuletzt geändert: 2017/04/07 15:08 von klaus