Installation Dovecot (suite Postfix / Dovecot)

Faire un backup des fichiers de configuration:

cp /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.orig cp /etc/dovecot/conf.d/10-mail.conf /etc/dovecot/conf.d/10-mail.conf.orig cp /etc/dovecot/conf.d/10-auth.conf /etc/dovecot/conf.d/10-auth.conf.orig cp /etc/dovecot/dovecot-sql.conf.ext /etc/dovecot/dovecot-sql.conf.ext.orig cp /etc/dovecot/conf.d/10-master.conf /etc/dovecot/conf.d/10-master.conf.orig cp /etc/dovecot/conf.d/10-ssl.conf /etc/dovecot/conf.d/10-ssl.conf.orig

Editer le fichier /etc/dovecot/dovecot.conf

nano /etc/dovecot/dovecot.conf

Et ajouter la ligne

postmaster_address=postmaster at domaine.com

Si vous souhaitez désactiver LMTP ou POP3 il suffit de préciser dans ce fichier les protocols

protocols = imap pop3 lmtp

Modifier le fichier /etc/dovecot/conf.d/10-mail.conf

nano /etc/dovecot/conf.d/10-mail.conf

et modifier la ligne mail_location:

mail_location = maildir:/srv/mail/%d/%n/

Créer un groupe & un utilisateur vmail, lui associer le dossier de stockage:

groupadd -g 5000 vmail useradd -g vmail -u 5000 vmail -d /srv/mail chown -R vmail:vmail /srv/mail

Editer le fichier qui gère les authentifications

nano /etc/dovecot/conf.d/10-auth.conf

Et y apporter les modifications suivantes:

disable_plaintext_auth = yes
auth_mechanisms = plain login
...
!include auth-sql.conf.ext

Editer le fichier du module sql

nano /etc/dovecot/conf.d/auth-sql.conf.ext

Et l'adapter de la sorte:

passdb {
driver = sql
args = /etc/dovecot/dovecot-sql.conf.ext
}
#Commenter ceci
#userdb {
# driver = sql
# args = /etc/dovecot/dovecot-sql.conf.ext
#}
#...
userdb {
driver = static
args = uid=vmail gid=vmail home=/srv/mail/%d/%n
}

Editer le fichier sql

nano /etc/dovecot/dovecot-sql.conf.ext

Et mettre les 4 lignes suivantes. Attention, il faut bien sur adapter avec les données de votre serveur

driver = mysql
connect = host=127.0.0.1 dbname=posogodo user=blabla-ro password=sddsfsdfsdf
default_pass_scheme = SHA512-CRYPT
password_query = SELECT concat(a.user,'@',b.`domain` ) as user, password FROM posogodo.mailboxes a left join posogodo.domains b on a.t_domains = b.id where a.active='1' and b.active='1' and concat(a.user,'@',b.`domain` ) = '%u';

Vérifier si ça fonctionne:

doveadm auth login -x service=imap user@domain.be TestPwd123

Modifier les droits sur les fichiers de configuration

chown -R vmail:dovecot /etc/dovecot chmod -R o-rwx /etc/doveco