Migration Courier-imap/qmail vers Postfix/dovecot
Rédigé par gorki Aucun commentaireLe problème :
Je veux migrer en douceur et de manière transparente un serveur de courier d'un serveur A vers un serveur B.
Le serveur A est un qmail/vpopmail/courier-imap.
Le serveur B est un postfix/dovecot
Go !
Solution :
Pour palier au temps de propagation des DNS qui peut être rapide ou pas, l'idée est donc :
Serveur B : préparation
<domaine.com> mail._domainkey.<domaine.com>
- créer dans postfixadmin sur le serveur B le nom de domaine à gérer
- générer la clé DKIM pour ce nouveau domaine (cf configuration DKIM multi-domaine)
- vérifier le domaine (cf post 10/10)
- créer les boites aux lettres, j'en ai peu, mais il y a des scripts de migration à partir des vpasswd a priori (ou ça en fait)
- via thunderbird portable, et mes configurations, je créé des comptes et je teste l'envoi et la réception
IMAP ip du serveur (le DNS n'est pas migré), port 143, STARTTLS, mot de passe non chiffré SMTP ip du serveur (le DNS n'est pas migré), port 587, STARTTLS, mot de passe non chiffré
Serveur A : relay
Le serveur B étant prêt à gérer les mails, on redirige le trafic SMTP du serveur A vers le B pour ce domaine.
Un guide ici.
- Vérifier la présence de <domaine.com> dans /var/qmail/control/rcpthosts
- Supprimer la référence à <domaine.com> dans /var/qmail/control/smtproutes
- Ajouter la redirection dans : /var/qmail/control/smtproutes
<domaine.com>:<IP serveur B>
- redémarrer qmail
- Tester l'envoi d'un email en utilisant le DNS mail.<domaine.com>, il passe par serveur A et est forwardé au serveur B
DNS : bascule
Modifier les DNS
Serveur A/B : recopier les boites aux lettres
Via un rsync plusieurs jours avant si les boites sont volumineuses, c'est la copie qui est longue, la conversion est rapide (quelques fichiers à modifier).
Le script de migration est ici : http://wiki.dovecot.org/Migration/Courier
Donc :
- recopier les boites courier-map
# Serveur A cd /home/vpopmail/domains tar zcf <domaine.com>.tgz <domaine.com> scp <domaine.com>.tgz <Serveur B>:/home/vmail/<domaine.com>/tmp_migrate # OU rsynch cd /home/vpopmail/domains rsync -razh --delete root@<serveur A>:/home/vpopmail/domains/<domaine.com> .
- les extraire
# Serveur B cd /home/vmail/<domaine.com>/tmp_migrate tar zxf <domaine.com>.tgz
- les convertir
./courier-dovecot-migrate.pl <domaine.com> --recursive # si ok ./courier-dovecot-migrate.pl <domaine.com> --recursive --convert
- les transférer dans la nouvelle boite
chown -R <user dovecot:user dovecot> * cp -r <domaine.com>/* /home/vmail/<domaine.com>/