Cara Mengkonfigurasi Kuota Pengguna di Dovecot & PostfixAdmin

Tutorial ini akan menunjukkan kepada Anda cara mengkonfigurasi kuota pengguna di Dovecot dan PostfixAdmin.
Prasyarat
Untuk mengikuti tutorial ini, diasumsikan bahwa server SMTP Postfix dan server IMAP Dovecot telah diinstal di server email Anda. Jika tidak, silakan gunakan tutorial berikut.
Ubuntu
- Menyiapkan server SMTP Postfix dasar di Ubuntu
- Instal server IMAP Dovecot di Ubuntu & Aktifkan Enkripsi TLS
CentOS 8 / RHEL 8
- Menyiapkan server SMTP dasar Postfix di CentOS 8 / RHEL 8
- Instal Server IMAP Dovecot di CentOS 8 / RHEL 8 & Aktifkan Enkripsi TLS
Diasumsikan juga bahwa Anda telah menginstal PostfixAdmin , alat manajemen email berbasis web, di server email Anda.
Ubuntu 18.04
- PostfixAdmin - Buat Kotak Surat Virtual di Server Email Ubuntu 18.04
Ubuntu 20.04
- PostfixAdmin - Buat Kotak Surat Virtual di Server Email Ubuntu 20.04
CentOS 8 / RHEL 8
- PostfixAdmin - Buat Kotak Surat Virtual di Server Email CentOS 8 / RHEL 8
Perhatikan bahwa jika Anda mengatur server email Anda menggunakan iRedMail sebelumnya, kuota pengguna telah dikonfigurasi di server Anda, jadi Anda tidak perlu mengikuti tutorial ini.
Langkah 1: Konfigurasi Kuota Pengguna di Dovecot Dari Command Line
Pertama, kita perlu mengaktifkan plugin kuota. Edit 10-mail.conf
file Dovecot dengan editor teks baris perintah seperti Nano.
sudo nano /etc/dovecot/conf.d/10-mail.conf
Temukan mail_plugins
parameternya, hapus komentarnya dan setel nilainya menjadi:
mail_plugins = kuota
Ini adalah mail_plugins
pengaturan global . Simpan dan tutup file. Selanjutnya, kita perlu mengaktifkan plugin kuota untuk layanan LMTP dan IMAP. Edit 20-lmtp.conf
file Dovecot .
sudo nano /etc/dovecot/conf.d/20-lmtp.conf
Tambahkan quota
ke daftar mail_plugins.
protokol lmtp { mail_plugins = $ mail_plugins menyaring kuota }
Simpan dan tutup file. Kemudian edit 20-imap.conf
file tersebut.
sudo nano /etc/dovecot/conf.d/20-imap.conf
Aktifkan imap_quota
plugin untuk protokol IMAP.
protokol imap { mail_plugins = $ mail_plugins imap_quota }
Simpan dan tutup file. Kemudian edit file konfigurasi kuota.
sudo nano /etc/dovecot/conf.d/90-quota.conf
Di bagian Batas kuota , konfigurasikan plugin sebagai berikut. Ini menetapkan kuota 1G untuk setiap pengguna email. The Trash
folder dari setiap pengguna akan memiliki kuota 100M sendiri afer 1G tercapai. Anda dapat mengubah nomor sesuai kebutuhan Anda.
plugin { quota_rule = *: storage = 1G quota_rule2 = Sampah: penyimpanan = + 100 juta # LDA / LMTP memungkinkan penyimpanan email terakhir untuk membawa pengguna dari kekurangan kuota ke # melebihi kuota, jika kuota tidak bertambah terlalu tinggi. Defaultnya adalah mengizinkan sebagai # selama kuota tetap di bawah 10% di atas batas. Juga diperbolehkan, misalnya 10 juta. quota_grace = 10 %% # Plugin kuota juga dapat membatasi ukuran email maksimum yang diterima. quota_max_mail_size = 100 juta }
Di bagian Peringatan kuota , konfigurasikan plugin sebagai berikut, sehingga Dovecot akan mengirimkan pesan peringatan jika pengguna mencapai 80% dan 95% dari kuota.
plugin { quota_warning = storage = 100 %% quota-warning +100% u quota_warning = storage = 95 %% quota-warning 95% u quota_warning2 = penyimpanan = 80 %% peringatan kuota 80% u quota_warning4 = -storage = 100 %% quota-warning -100% u # pengguna tidak lagi melebihi kuota }
Dan hapus tanda komentar pada baris berikut. Ini menentukan lokasi skrip shell yang akan mengirim pesan peringatan.
peringatan kuota layanan { executable = script /usr/local/bin/quota-warning.sh pengguna = dovecot unix_listener quota-warning { pengguna = vmail } }
Di bagian Quota backends , konfigurasikan plugin sebagai berikut, jadi Dovecot akan menggunakan dict
backend (database MySQL / MariaDB).
plugin { #quota = dirsize: Kuota pengguna #quota = maildir: Kuota pengguna quota = dict: Kuota pengguna :: proxy :: quota #quota = fs: Kuota pengguna }
Simpan dan tutup file. Kemudian buat quota-warning.sh
file.
sudo nano /usr/local/bin/quota-warning.sh
Tambahkan baris berikut ke file jika Anda menggunakan Ubuntu.
#! / bin / bash PERSEN = $ 1 PENGGUNA = $ 2 kucing << EOF | / usr / sbin / sendmail $ USER -O "plugin / quota = maildir: Kuota pengguna: noenforcing" Dari: postmaster@domain.com Subjek: peringatan kuota Kotak surat Anda sekarang $ PERCENT% penuh. EOF
Simpan dan tutup file. Kemudian buat itu bisa dieksekusi.
sudo chmod + x /usr/local/bin/quota-warning.sh
Edit /etc/dovecot/conf.d/10-master.conf
file tersebut.
sudo nano /etc/dovecot/conf.d/10-master.conf
Gulir ke bawah ke akhir file ini. Konfigurasikan dict service
sebagai berikut.
layanan dict { unix_listener dict { mode = 0660 pengguna = vmail group = vmail } }
Simpan dan tutup file.
Langkah 2: Menghubungkan Dovecot dengan PostfixAdmin
Sekarang kita telah mengaktifkan kuota di Dovecot, kita perlu menghubungkannya dengan PostfixAdmin. Edit dovecot-sql.conf.ext
file tersebut.
sudo nano /etc/dovecot/dovecot-sql.conf.ext
Temukan baris berikut.
user_query = PILIH maildir, 2000 AS uid, 2000 AS gid FROM mailbox WHERE username = '% u' AND active = '1'
Kita perlu mengubahnya menjadi:
user_query = PILIH CONCAT ('/ var / vmail /', maildir) AS home, 2000 AS uid, 2000 AS gid, CONCAT ('*: bytes =', quota) AS quota_rule FROM mailbox WHERE username = '% u' AND aktif = '1'
Jadi Dovecot bisa mendapatkan informasi kuota untuk setiap pengguna dari database MySQL / MariaDB. Simpan dan tutup file. Kemudian edit file konfigurasi utama Dovecot.
sudo nano /etc/dovecot/dovecot.conf
Temukan dict {}
bagian tersebut dan hapus komentar kamus kuota .
dict { kuota = mysql: /etc/dovecot/dovecot-dict-sql.conf.ext #expire = sqlite: /etc/dovecot/dovecot-dict-sql.conf.ext }
Simpan dan tutup file. Kemudian edit /etc/dovecot/dovecot-dict-sql.conf.ext
file. (Perhatikan bahwa pada CentOS 8 / RHEL 8, file ini tidak ada. Anda hanya perlu menambahkan baris yang dijelaskan di bawah ini secara manual.)
sudo nano /etc/dovecot/dovecot-dict-sql.conf.ext
Tambahkan baris berikut di awal, sehingga Dovecot dapat mengakses postfixadmin
database di MySQL / MariaDB. Jika Anda tidak ingat kata sandi database postfixadmin, itu dapat ditemukan di /etc/dovecot/dovecot-sql.conf.ext
file.
connect = host = localhost dbname = postfixadmin user = postfixadmin password = postfixadmin_password
Di file ini, Anda dapat melihat dua definisi peta. Anda perlu mengubah quota
ke quota2
.
peta { pola = priv / kuota / penyimpanan table = quota2 username_field = nama pengguna value_field = byte } peta { pola = priv / kuota / pesan table = quota2 username_field = nama pengguna value_field = pesan }
Kemudian komentari third
definisi peta, karena PostfixAdmin tidak menggunakan expire
tabel.
#map { # pattern = shared / expire / $ user / $ mailbox # table = expires # value_field = expire_stamp # bidang { # username = $ user # kotak surat = $ kotak surat #} #}
Simpan dan tutup file. Mulai ulang Dovecot agar perubahan diterapkan.
sudo systemctl restart dovecot
Periksa statusnya. Pastikan itu berjalan.
sudo systemctl status dovecot
Untuk menampilkan informasi kuota di PostfixAdmin, edit file konfigurasi PostfixAdmin.
Ubuntu
sudo nano /usr/share/postfixadmin/config.local.php
CentOS 8 / RHEL 8 Apache
sudo nano /var/www/postfixadmin/config.local.php
CentOS 8 / RHEL 8 Nginx
sudo nano /usr/share/nginx/postfixadmin/config.local.php
Tambahkan dua baris berikut di akhir file ini untuk mengaktifkan kuota di PostfixAdmin.
$ CONF ['quota'] = 'YA'; $ CONF ['used_quotas'] = 'YES'; // izinkan maxmium 100 kotak surat untuk setiap domain $ CONF ['mailboxes'] = '100'; // default kuota 10240MB untuk setiap pengguna $ CONF ['maxquota'] = '10240'; // default kuota 102400MB untuk setiap domain $ CONF ['domain_quota_default'] = '102400';
Simpan dan tutup file.
Langkah 3: Menguji Dari Command Line
Sekarang Anda dapat membuat daftar semua kuota dan penggunaan pengguna dengan:
sudo doveadm kuota dapatkan -A
Anda juga dapat menghitung ulang penggunaan kuota saat ini dengan perintah berikut.
sudo doveadm kuota recalc -A
Jika Anda melihat pesan kesalahan seperti
Fatal: Perintah 'kuota' tidak diketahui, tetapi kuota plugin ada. Coba setel mail_plugins = quota
itu berarti Anda tidak menyetel nilai mail_plugins
menjadi quota
di /etc/dovecot/conf.d/10-mail.conf
file.
Dan jika Anda melihat kesalahan berikut saat membuat daftar kuota pengguna,
Kesalahan: stat (/var/vmail/yourdomain.com/user/.dovecot.sieve/tmp) gagal: Bukan direktori
Anda perlu menambahkan baris berikut dalam /etc/dovecot/conf.d/10-mail.conf
file dan memulai ulang Dovecot.
maildir_stat_dirs = yes
Langkah 4: Mengatur Kuota di Antarmuka Web PostfixAdmin
Sekarang Anda dapat pergi ke antarmuka web PostfixAdmin Anda untuk mengatur domain dan kuota pengguna.
Kuota default di PostfixAdmin terlalu kecil. Jika Anda telah menambahkan domain di PostfixAdmin sebelum mengaktifkan kuota, maka Anda perlu mengedit pengaturan domain di PostfixAdmin untuk menambah kuota. Domain baru akan memiliki pengaturan kuota yang ditentukan dalam config.local.php
file.
Membungkus
Sekian tutorial kali ini, jika kamu menemui masalah, silahkan tinggalkan komentar