Migration vers Trixie de mon serveur de messagerie

Avec Debian 13 Trixie arrive la version 2.4 de Dovecot, incompatible avec les anciens fichiers de configuration. Voici les adaptations que j’ai faites par rapport à l’installation sous Debian 12

Sources

La référence : https://doc.dovecot.org/2.4.2/installation/upgrade/2.3-to-2.4.html, quelques tips : https://zunzuncito.oriole.systems/28/

Les fichiers à modifier sont dans /etc/dovecot/conf.d

10-auth.conf

auth_default_realm = dync.fr
devient
auth_default_domain = dync.fr
auth_username_format = %Lu
devient
auth_username_format = %{user | lower}

10-mail.conf

mail_location = maildir:~/Maildir
mail_home = /var/vmail/%d/%n/
devient
mail_home = /var/vmail/${user | domain}/%{user | username}
mail_driver = maildir
mail_path = ~/Maildir

10-ssl.conf

ssl_cert = </etc/apache2/md/domains/klopmail.dync.fr/pubcert.pem
ssl_key = </etc/apache2/md/domains/klopmail.dync.fr/privkey.pem
devient
ssl_server_cert_file = /etc/apache2/md/domains/klopmail.dync.fr/pubcert.pem
ssl_server_key_file = /etc/apache2/md/domains/klopmail.dync.fr/privkey.pem
ssl_dh = </usr/share/dovecot/dh.pem
devient
ssl_server_dh_file = /usr/share/dovecot/dh.pem

J’ai commenter la ligne : ssl_prefer_server_ciphers = yes

20-imap.conf

Dans la section protocol imap {

  mail_plugins = $mail_plugins imap_sieve
devient
  mail_plugins {
    imap_sieve=yes
  }

20-lmtp.conf

Idem dans la section protocol lmtp

  mail_plugins = $mail_plugins sieve
devient
  mail_plugins {
    sieve = yes
  }

auth-sql.conf.ext

Le fichier précédemment créé dovecot-sql.conf.ext n’est plus référencé et inutile. Dans auth-sql.conf.ext, j’ai ajouté

sql_driver = mysql
mysql localhost {
   user = postfixadmin
   password = LeVotre
   dbname = postfixadmin
}

passdb sql {
#  default_password_scheme = SHA256
  default_password_scheme = ARGON2I
  query = SELECT username AS user,password FROM mailbox WHERE username = '%{user}' AND active='1'
}

userdb sql {
  query = SELECT concat('/var/vmail/',maildir) AS home, 2000 AS uid, 2000 AS gid FROM mailbox WHERE username = '%{user}' AND active='1'
  iterate_query = SELECT username AS user FROM mailbox
}

Apache et PHP

php est passé en 8.4. Il faut désactiver php8.2 et activer la nouvelle version :

a2dismod php8.2
a2enmod php8.4
systemctl restart apache2

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *