Postfix Virtual Hosting With LDAP Backend And With Dovecot As IMAP/POP3 Server On Ubuntu Kamic Koala 9.10 - Page 3
This tutorial exists for these OS versions
- Ubuntu 18.04 (Bionic Beaver)
- Ubuntu 14.04 LTS (Trusty Tahr)
- Ubuntu 9.10 (Karmic Koala)
- Ubuntu 8.10 (Intrepid Ibex)
- Ubuntu 8.04 (Hardy Heron)
On this page
Step 4: Install And Configure Dovecot
aptitude install dovecot-imapd dovecot-pop3d
This will install dovecot and all necessary files and also create the standard ssl certificates for IMAPs and POP3s.
Now we back up the original configuration file for safe keeping.
mv /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.bck
mv /etc/dovecot/dovecot-ldap.conf /etc/dovecot/dovecot-ldap.conf.bck
Next you can create new configuration files with the examples provided below.
vi /etc/dovecot/dovecot.conf
auth_verbose = yes
mail_debug = no
base_dir = /var/run/dovecot/
protocols = imap imaps pop3 pop3s
protocol imap {
mail_plugins = quota imap_quota
imap_client_workarounds = outlook-idle
}
protocol pop3 {
mail_plugins = quota
pop3_no_flag_updates = yes
pop3_reuse_xuidl = no
pop3_lock_session = no
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
}
protocol lda {
mail_plugins = quota
postmaster_address = [email protected]
auth_socket_path = /var/run/dovecot/auth-master
}
plugin {
quota = maildir
quota_rule = Trash:storage=10%%
quota_rule2 = Spam:storage=10%%
quota_warning = storage=95%%/home/vmail/bin/quota-warning.sh 95
quota_warning2 = storage=80%% /home/vmail/bin/quota-warning.sh 80
}
listen = *
shutdown_clients = yes
log_timestamp = "%b %d %H:%M:%S "
syslog_facility = mail
disable_plaintext_auth = no
ssl_disable = no
ssl_cert_file = /etc/ssl/certs/mail.example.tld.pem #==> Change this and below to the neame you want
ssl_key_file = /etc/ssl/certs/mail.example.tld.pem
login_chroot = yes
login_user = postfix
login_process_per_connection = yes
login_processes_count = 2
login_max_processes_count = 128
login_max_connections = 256
login_greeting = Welcome to Dovecot eMail Server.
login_log_format_elements = user=<%u> method=%m rip=%r lip=%l %c
login_log_format = %$: %s
#default_mail_env = maildir:/home/vmail/%d/%u
mail_location = maildir:/home/vmail/%d/%u
first_valid_uid = 108 # REMEBER THIS MUST BE CHANGED TO YOUR UID FOR "postfix" FROM /etc/passwd
mail_uid = 1000
mail_gid = 1000
pop3_uidl_format = %08Xu%08Xv
auth default {
mechanisms = PLAIN LOGIN
passdb ldap {
args = /etc/dovecot/dovecot-ldap.conf
}
userdb ldap {
args = /etc/dovecot/dovecot-ldap.conf
}
socket listen {
master {
path = /var/run/dovecot/auth-master
mode = 0600
user = vmail
group = vmail
}
client {
path = /var/spool/postfix/private/auth
mode = 0660
user = postfix
group = postfix
}
}
user = vmail
}
vi /etc/dovecot/dovecot-ldap.conf
hosts = localhost auth_bind = yes auth_bind_userdn = mail=%u,vd=%d,o=hosting,dc=example,dc=tld ldap_version = 3 base = o=hosting,dc=example,dc=tld dn = cn=phamm,o=hosting,dc=example,dc=tls #The readonly user dnpass = the readonly password deref = never scope = subtree user_attrs = quota=quota=maildir:storage user_filter = (&(objectClass=VirtualMailAccount)(accountActive=TRUE)(mail=%u)) pass_attrs = mail,userPassword pass_filter = (&(objectClass=VirtualMailAccount)(accountActive=TRUE)(mail=%u)) default_pass_scheme = MD5 user_attrs = quota=quota=maildir:storage=%$B
Note: Remember to change example.tld to your own domain.tld (see assumptions).
Quota support is enabled, but no quota warnings are issued. This can be done with a script file that issues the quota warnings.
Now we need to create the quota-warning.sh:
vi /usr/local/bin/quota-warning.sh
And paste the following into it:
#!/bin/bash PERCENT=$1 cat << EOF | /usr/local/libexec/dovecot/deliver -d $USER -c /etc/dovecot/dovecot-nowarning.conf From: [email protected] Subject: quota warning Your mailbox is now $PERCENT% full. EOF
Now me make the script executable:
chmod +x /usr/local/bin/quota-warning.sh
The dovecot-nowarning.conf is a copy from your dovecot.conf file from which the % warning lines are removed.
So we copy the dovecot.conf file:
cp /etc/dovecot/dovecto.conf /etc/dovecto/dovecot-nowarning.conf
We edit this files and remove the lines below.
nano /etc/dovecto/dovecot-nowarning.conf
quota_warning = storage=95%%/home/vmail/bin/quota-warning.sh 95 quota_warning2 = storage=80%% /home/vmail/bin/quota-warning.sh 80
The lines below specify the amount of space (from the quota) that is assigned to the Trash and Spam folder.
quota_rule = Trash:storage=10%% quota_rule2 = Spam:storage=10%%
This configuration uses 10 of the total quota for the mailbox respectively for the Trash and Spam folder. So with a quota of 100Mbyte a user is limited to 80Mbyte for emails, 10Mbyte for the Trash folder and 10Mbyte for the Spam folder.
This concludes the Dovecot configuration.