LINUX:Dovecot-Migration vers la version 2.4.1
But
Récemment, Dovecot est passé à la version 2.4.1. La syntaxe de la configuration a changé. Si on tente de lancer ce service avec les fichiers de configuration de la version 2.3, le service entre en erreur. Il faut adapter la configuration.
Nous allons passer en revue les différents fichiers présentés dans notre exemple de configuration et y signaler les options à adapter pour effectuer cette migration.
Fichier "dovecot.conf"
Le fichier "/etc/dovecot/dovecot.conf" principal doit contenir les lignes suivantes:
dovecot_config_version = 2.4.1 dovecot_storage_version = 2.4.1 protocols = imap pop3 listen = * !include conf.mail.d/*.conf
Les deux premières lignes doivent être ajoutée afin de signaler à l'avenir pour quelle version la configuration et le stockage s'applique.
La ligne:
protocols = imap pop3
peut être remplacée par:
protocols {
imap = yes
pop3 = yes
}
Elles sont équivalentes.
De nouvelles options permettent de restreindre la liste des utilisateurs si vous utilisez ceux du système Linux. Elle se base sur les UID et GID.
Par défaut, elles sont configurées comme suit:
first_valid_gid = 1 first_valid_uid = 500 last_valid_gid = 0 last_valid_uid = 0
Dans cette configuration, seuls les utilisateurs ayant un UID (n° d'utilisateur) supérieur ou égal à 500 et ayant un GID (n° de groupe) supérieur ou égal à 1 peuvent accéder à leurs messages. Ceci a pour conséquence que l'utilisateur "root" (UID=0 et GID=0) ne peut consulter ses messages. Pour résoudre cette limitation, soit on met à "0" ces options, ce qui n'est pas recommandé, soit on redirige les mails vers un autre utilisateur. Il suffit d'adapter le fichier "/etc/postfix/aliases" ou "/etc/aliases" selon la configuration du service Postfix.
Par exemple:
root: adebast
Ici on redirige les mails de "root" vers l'utilisateur "adebast".
Pour notre part, les options ci-dessus ont été définies comme suit:
first_valid_gid = 1000 first_valid_uid = 1000 last_valid_gid = 2000 last_valid_uid = 2000
Nos utilisateurs et groupes concernés sont en effet cantonnés dans la fourchette de 1000 à 2000.
Fichiers du sous-répertoire "conf.d"
Fichier "10-master.conf"
Ce fichier n'a pas besoin d'être adapté.
Fichier "10-ssl.conf"
Dans ce fichier, la partie concernant les certificats doit être adaptée. Attention, le caractère "<" en début du chemin vers les certificats et clés doit être éliminé.
ssl = required
ssl_cipher_list = PROFILE=SYSTEM
ssl_server {
cert_file = /etc/pki/home/certs/home.pem
key_file = /etc/pki/home/private/home.key
}
Fichier "10-auth.conf"
Ce fichier doit aussi être adapté:
auth_allow_cleartext = no auth_mechanisms = plain login !include auth-system.conf.ext
Ces deux premières options ont changé de nom.
Fichier "auth-system.conf.ext"
Ce fichier doit aussi être adapté:
passdb pam {
}
userdb passwd {
}
On remarque que le nom du "driver" est passé en argument principal.
Fichier "10-mail.conf"
Ce fichier est complètement modifié.
Nous avions la configuration suivante.
mail_location = maildir:~/Maildir:UTF-8:INBOX=~/Maildir/.Courrier entrant
Nous passons à celle ci-dessous:
mail_driver = maildir mail_path = ~/Maildir mail_inbox_path = ~/Maildir/.Courrier entrant mailbox_list_utf8 = yes
On remarque que la ligne initiale a été splittée en ses différentes composantes. On voit que le passage à "UTF-8" est devenu "mailbox_list_utf8 = yes".
Fichier "15-mailboxes.conf"
Ce fichier comportait deux espaces de noms.
Considérons la partie principale liée à la réception de messages ("INBOX"):
namespace inbox {
inbox = yes
type = private
# prefix =
prefix = Dossiers généraux/
separator = /
subscriptions = yes
mailbox "Brouillons" {
auto = subscribe
special_use = \Drafts
}
mailbox "Courrier indésirable" {
auto = subscribe
special_use = \Junk
}
mailbox "Corbeille" {
auto = subscribe
special_use = \Trash
}
mailbox "Éléments envoyés" {
auto = subscribe
special_use = \Sent
}
mailbox "Archives" {
auto = subscribe
special_use = \Archive
}
mailbox "Modèles" {
auto = subscribe
}
mailbox "OS" {
auto = subscribe
}
mailbox "OS/Linux" {
auto = subscribe
}
mailbox "OS/Windows" {
auto = subscribe
}
mailbox "OS/Android" {
auto = subscribe
}
}
Le séparateur ("separator") conseillé est le slash ("/") et donc le reste de la configuration doit être adaptée en conséquence.
Nous avions ajouté un espace de nom "prive".
Voici le début. Le reste ne change pas.
namespace prive {
type = private
prefix = Privé/
mail_path = ~/Maildir/Prive
separator = /
inbox = no
subscriptions = yes
...
}
On remarque que l'option "location = maildir:~/Maildir/Prive:UTF-8" a été remplacée par l'option "mail_path" ("mail_path = ~/Maildir/Prive") que nous avons déjà rencontré dans le fichier "10-mail.conf". Le séparateur est toujours "/".