Ma version de Ubuntu étant en fin de vie en Avril 2019 j'ai voulu passer sur une version plus récente. Dommage il n'existe pas de paquets Zimbra pour la 18.04 qui date pourtant déjà de près d'un an.
J'ai donc installé le système dans une nouvelle MV sur une machine de test, la 16.04.5 s'installe sans problèmes, la version 8.8.11 de Zimbra suit le même chemin sans plus de problèmes.
Ne pas oublier de sauvegarder le contenu des comptes .... pour pouvoir le restaurer !
L'installation étant très proche de celle des version précédentes je ne vous dispense de la trace d'installation, vous pouvez accéder ici à celle de la version 8.7.5 qui est très semblable.
Après création des comptes et alias nécessaires dans la nouvelle machine l'export des comptes de l'ancienne version se passe bien, à exporter un par un, et l'import dans la nouvelle version est impeccable.
Il me faut maintenant récupérer un certificat Letsencrypt pour cette nouvelle machine. J'ai d'abord recopié le répertoire /etc/letsencrypt dans la nouvelle machine j'ai tenté d'utiliser le script "certbot_zimbra.sh" que j'utilisais sur l'ancienne version. Mais le script demande la présence du script "certbot" qui a été remplacé par "letsencrypt".
J'ai pu renouveler mon certificat sans difficultés avec le nouveau script "letsencrypt" en mode "standalone" après avois stoppé Zimbra (pour éviter les conflits de ports).
Note octobre 2019 :
Le script "certbot" existe de nouveau et comme j'ai déjà un certificat son utilisation est très simple :
- Stopper zimbra (éviter les conflits de ports)
- certbot certonly --standalone -d Votre-nom-de-domaine
- Le tour est joué, votre certificat est à jour, il ne resta plus qu'à le faire "avaler" à Zimbra.
J'ai créé, comme recommandé, un répertoire /opt/zimbra/ssl/letsencrypt dans lequel j'ai recopié les certificats puis j'ai tenté d'utiliser "zmcertmgr" ce qui ma donné une erreur de validation.
J'ai du :
- Recopier la clé "privkey.pem" en écrasant le fichier de destination
cd /etc/letsencrypt/live/le_nom_du_domaine
cp privkey.pem /opt/zimbra/ssl/zimbra/commercial/commercial.key - Depuis le même répertoire /etc/letsencrypt/live/le_nom_du_domaine copier le tout
cp *.pem /opt/zimbra/ssl/letsencrypt - Récupérer le "bon" certificat DSTRootCAX3.pem par exemple avec :
curl -s "https://crt.sh/?d=8395" >/opt/zimbra/ssl/letsencrypt/DST_Root_CA_X3.pem - Ajouter ce certificat en fin du fichier "chain.pem" du répertoire /opt/zimbra/ssl/letsencrypt
On peut alors utiliser zmcertmgr "normalement" :
su - zimbra
cd /opt/zimbra/ssl/letsencrypt
zmcertmgr verifycrt comm privkey.pem cert.pem chain.pem
** Verifying 'cert.pem' against 'privkey.pem'
Certificate 'cert.pem' and private key 'privkey.pem' match.
** Verifying 'cert.pem' against 'chain.pem'
Valid certificate chain: cert.pem: OK
On peut alors tenter, avec succès, l'opération suivante (toujours avec le user "zimbra") :
cd /opt/zimbra/ssl/letsencrypt
zmcertmgr deploycrt comm cert.pem chain.pem
Cette commande est très bavarde mais finit par avouer (sans autre torture) :
** Removing /opt/zimbra/conf/ca/ca.pem
** Removing /opt/zimbra/conf/ca/ca.key
** Removing /opt/zimbra/conf/ca/217a2bc3.0
** Copying CA to /opt/zimbra/conf/ca
** Copying '/opt/zimbra/ssl/zimbra/ca/ca.key' to '/opt/zimbra/conf/ca/ca.key'
** Copying '/opt/zimbra/ssl/zimbra/ca/ca.pem' to '/opt/zimbra/conf/ca/ca.pem'
** Creating CA hash symlink '2e5ac55d.0' -> 'ca.pem'
** Creating /opt/zimbra/conf/ca/commercial_ca_1.crt
** Creating CA hash symlink '4f06f81d.0' -> 'commercial_ca_1.crt'
** Creating /opt/zimbra/conf/ca/commercial_ca_2.crt
** Creating CA hash symlink '2e5ac55d.1' -> 'commercial_ca_2.crt'
Ensuite, après avoir redémarré Zimbra tout se passe bien, le certificat est bien installé, aucun navigateur ne se plaint lors de la connexion.
Il ne reste plus qu'à restaurer les comptes .... qu'on a sauvegardé avant le début de l'opération.