- Debian Lenny x64
- Zimbra Collaboration Suite 6.0.1 (ZCS)
- rsync
Aujourd’hui, devant résilier mon serveur Dedibox, je dois migrer ce qui fonctionne dessus à savoir mon serveur mail collaboratif: Zimbra Collaboration Suite.
Comment faire ? Après quelques recherches, je constate qu’il n’y a aucune difficulté particulière. Il s’agit presque d’un simple copié/collé. Étant presque le seul utilisateur de mon serveur mail, je peux me permettre de ponctuellement le couper ce qui est assez pratique pour les manipulations à venir.
Attention par contre: ce tutoriel prévoir des coupures de service. Il est facile d’éviter les coupures de service MX ne serait-ce qu’en ayant temporairement 2 MX mais ça ne m’intéresse pas n’étant pas dans un cadre de hausse disponibilité et la migration étant prévue. De plus, l’ensemble de mon domaine étant configuré avec des TTL de 5 minutes, la propagation allait vite se faire.
Nous avons donc,
- Dedibox: serveur mail Zimbra source
- Cerberus: nouveau serveur Zimbra
- Zimbra: 10.8.0.22 au sein du VPN, il va falloir modifier cette entrée pour qu’elle soit celle de Cerberus, soit 10.8.0.1
- zimbra.kianouch.com passe de l’adresse publique de la Dedibox à celle de Cerberus
- Pas de changement de MX qui restera donc zimbra.kianouch.com
Le serveur Cerberus n’héberge aucun service HTTPS mais héberge cependant des sites HTTP. Ce n’est pas un réel soucis car je ne souhaite pas laisser le webmail ouvert sans cryptage. Je le faisais auparavant pour les accès webmail depuis l’intérieur de mon VPN, à travers l’adresse http://zimbra mais cette disparition n’est pas gênante.
Lançons nous donc dans la migration ! Il faut commencer par transférer tout Zimbra sur le nouvel équipement, soit tout /opt/zimbra
cerberus:/opt# rsync -avz --delete -e ssh root@10.8.0.22:/opt/zimbra ./
C’est parti… dans mon cas 4Go environ à transférer à une vitesse moyenne de 50Mb/s. Une fois le rsync terminé, je coupe le service Zimbra sur l’ancien serveur et refait un dernier rsync à froid.
Nous allons ensuite refaire une installation du programme par dessus ces fichiers. Auparavant, il est nécessaire de modifier le FQDN dans un fichier de configuration étant donné que ce n’est plus le même. A priori, hostname, ldaphost et snmptraphost sont les seuls paramètres à modifier dans le fichier suivant.
/opt/zimbra/.saveconfig/config.save
Voici le résultat dans mon cas. (avec un faux domaine)
HOSTNAME=cerberus.example.com
LDAPHOST=cerberus.example.com
LDAPPORT=389
SNMPTRAPHOST=cerberus.example.com
SMTPSOURCE=admin@example.com
SMTPDEST=admin@example.com
vu que ce n’est plus le même. A priori, hostname, ldaphost et snmptraphost sont les seuls paramètres à modifier dans le fichier.
Passons maintenant à l’installation de Zimbra par dessus nos fichiers récupérés. Pour le téléchargement, ça se passe par ici: http://www.zimbra.com/downloads/os-downloads.html
L’installation de Zimbra est plutôt simple. On décompresse et on lance install.sh qui va vérifier les dépendances. S’il en manque, on les installe via des packages. Une fois qu’on a le résultat ci-dessous, on est content et on peut continuer.
Checking for prerequisites...
FOUND: NPTL
FOUND: sudo-1.6.9p17-3
FOUND: libidn11-1.8+20080606-1
FOUND: libpcre3-7.6-2.1
FOUND: libgmp3c2-2:4.2.2+dfsg-3
FOUND: libexpat1-2.0.1-4+lenny3
FOUND: libstdc++6-4.3.2-1.1
FOUND: libperl5.10-5.10.0-19lenny2
Checking for suggested prerequisites...
FOUND: perl-5.10.0
FOUND: sysstat
Prerequisite check complete.
Nous allons laisser les paramètres et packages par défaut et patienter le temps de l’installation des packages. Une fois l’installation effectuée avec les paramètres par défaut, il faut définir un mot de passe administrateur et “apply” les options afin de finaliser l’installation.
Dans mon cas j’ai également de petits soucis: il y a Exim qui tournait précédemment pour envoyer des emails depuis ce serveur et Apache écoute sur le port 80 que Zimbra squatterait volontiers.
Checking for port conflicts
Port conflict detected: 80 (zimbra-store)
Port conflict detected: 25 (zimbra-mta)
Port conflicts detected! - Any key to continue
Ce n’est pas grave: une fois la migration effectuée, je configurerais le webmail de Zimbra pour n’écouter que sur le port HTTPS, laissant Apache sur le port HTTP et je vais immédiatement désactiver Exim. L’installation de Zimbra Collaboration Suite prend un peu de temps et se termine par le lancement des services, ce que nous ne souhaitons pas. Il faut donc les couper.
cerberus:/root # /etc/init.d/zimbra stop
Host vpn.kianouch.com
Stopping stats...Done.
Stopping mta...Done.
Stopping spell...Done.
Stopping snmp...Done.
Stopping archiving...Done.
Stopping antivirus...Done.
Stopping antispam...Done.
Stopping imapproxy...Done.
Stopping memcached...Done.
Stopping mailbox...Done.
Stopping logger...Done.
Stopping ldap...Done.
Effectuons maintenant une modification de Zimbra pour que le webmail n’écoute qu’en HTTPS, laissant ainsi le port HTTP pour Apache.
cerberus:~# su - zimbra
zimbra@cerberus:~$ zmtlsctl https
zimbra@cerberus:~$ tomcat restart
Attention au redémarrage de Tomcat, il n’est pas rare que ce dernier ne se fasse pas correctement. Nous pouvons en tout cas maintenant lancer le service Zimbra. Étant déjà sous le compte zimbra, il suffit de lancer la commande suite.
zimbra@vpn:~$ zmcontrol start
Host zimbra.kianouch.com
Starting ldap...Done.
Starting logger...Done.
Starting mailbox...Done.
Starting antispam...Done.
Starting antivirus...Done.
Starting snmp...Done.
Starting spell...Done.
Starting mta...Done.
Starting stats...Done.
Dernière étape de la migration, les DNS. Il faut configurer le MX pour qu’il envoie sur le bon serveur. Dans mon cas, le MX renvoie sur zimbra.example.com et je dois donc remplacer ce champ par cerberus.example.com.
Voilà ! Il ne reste qu’à test les différents éléments du serveur, se connecter au webmail, etc. Il faudra par la suite mettre en place une stratégie de sauvegarde mais aussi configurer la synchronisation avec téléphone ou autres iObjets.
0 Comments.