Même si Zimbra 9 est sorti, je garde ma production en version 8 afin de ne pas souffrir de bug inhérents aux versions majeurs.

Mais jusqu’à peu, je n’avais pas encore pu changer de version d’OS car Zimbra ne supportais pas CentOS 8 (sorti le 07/05/2019), et c’est chose faite depuis le patch 11 (sorti le 02/07/2020). Il aura fallu attendre un peu moins d’un an avant de pouvoir effectuer la mise à jour…

A partir de la, j’ai pu monter une nouvelle VM et appliquer la méthodologie de migration « old school » par rsync. Ça m’a permis de constater que je traine cette plateforme Zimbra depuis un sacré moment car le dossier zmstat contient des statistiques remontant jusqu’au 16/01/2012 (Zimbra 8 allait sortir).

Comme il y a un sacré gap entre les versions, j’ai du adapter la procédure

1. Mise a jour du serveur CentOS 6 ainsi que Zimbra dans son dernier patch disponible

yum -y update

Une fois que c’est fait et que la machine est redémarré, on peux commencer la procédure de copie des fichiers

2. On arrête le service Zimbra afin d’éviter toute écriture

su - zimbra
zmcontrol stop

3. puis en root on commence la copie

rsync -e ssh -axvzKHS /opt/zimbra/ $NEW_ZIMBRA_IP:/tmp/zimbra

4. Entre temps, on peux lancer sur le nouveau serveur l’installation uniquement des packages de Zimbra. Il s’agit d’une installation classique, je ne vais donc pas m’étendre sur le sujet. Il faut bien veiller à sélectionner les mêmes paquets installés sur le serveur source et avoir le même nom que le serveur original.

./install.sh -s
...

5. Une fois l’installation terminé, on peux bouger (pas supprimer c’est important pour la suite) le dossier d’installation puis le remplacer par la copie du serveur source. Histoire d’être sur d’avoir les bonnes permissions sur les fichiers fraichement copié, on réapplique les bonnes permissions

mv /opt/zimbra /opt/zimbra_clean
mv /tmp/zimbra /opt/
/opt/zimbra/libexec/zmfixperms --verbose --extended

6. Dans la procédure, il faut relancer l’installation mais elle ne va pas se dérouler comme prévu car Zimbra tente d’exécuter des scripts perl destiné à une version 6 de CentOS. Il faut donc écraser le dossier existant avec le dossier d’installation initial :

mv /opt/zimbra/common/lib/perl5/ /opt/zimbra/common/lib/perl5_bak
mv /opt/zimbra_clean/common/lib/perl5 /opt/zimbra/common/lib/

Et maintenant on peux reprendre la procédure d’installation et démarrer notre Zimbra sur un CentOS 8 propre. Enjoy.

PS : Si vous utilisez ZeXtras, ce qui est mon cas, il faut le réinstaller.

Histoire de bien démarrer l’année ; bonne année en passant 🙂 . J’ai pris un peu de temps afin d’ajouter la dernière documentation SOAP de Zimbra au format Docset.

Pour ceux qui ne connaissent pas, Docset est un format de documentation utilisé par les logiciel kapeli et zealdocs.
Ces logiciels permettent une lecture hors ligne de ces documentations et autres snippets. Pratique quand on se déplace régulièrement.
De nombreuse intégrations existes. On retrouve des connecteurs avec les IDE les plus populaires ; ATOM, PyCharm, etc. Ceux-ci permettant une recherche de la documentation d’une fonction directement depuis l’IDE.

Je ne sais pas quand la version 8.8 de la documentation sera disponible, mais je l’ajouterai quand elle sera publique.

Pour ceux qui utilisent Dash la documentation est déjà disponible dans la section « User Contribution », pour les autres l’intégration est expliqué dans le Readme du repostiory github.

Cela faisait longtemps une éternité que je n’avais pas écrit un billet.
Je profite d’avoir enfin un peu de temps pour le faire.

J’était tombé sur l’article de Jorge permettant de créer des comptes de démonstration sur Zimbra en utilisant un script.
Hormis le fait que Zimbra propose déjà cette option par défaut :

zmprov createBulkAccounts(cabulk) {domain} {namemask} {number of accounts to create}

le fait de passer par un fichier intermédiaire et de devoir modifier le script pour l’adapter rend la solution, a mon sens, pénible.
Lire la suite de

La nouvelle version de Zimbra viens de sortir mais sa documentation coté API a quelque peu tardé à pointer le bout de son nez.
Il y quelques temps de cela, j’ai pris en charge de porter la documentation au format docset pour Dash et Zeal.

Vous pouvez donc à partir de maintenant, retrouver les documentations SOAP et Zimlet pour la 8.7 directement dans la section « User Contributed » dans Dash :
Dash-1

Et suivre le how-to du projet github pour Zeal.
D’ailleurs ne disposant pas de Windows/Linux avec GUI, si une âme charitable pouvais tester Zeal et me confirmer que cela fonctionne ça serait sympa.

English version.

Comme la majorité des gens, j’utilise la box de mon FAI (Free) pour permettre à ma moitié de regarder la télévision. Mais souhaitant maîtriser mon infrastructure, j’utilise la Freebox Server uniquement en mode bridge relié à mon pfsense.
Après quelques recherches, je suis tombé sur deux articles (liens à la fin de l’article) expliquant comment faire fonctionner la Freebox Server en mode bridge pour ubiquiti et fortinet.

Je me suis donc dis qu’il fallait en faire un avec pfsense.

Lire la suite de

Cette semaine je suis tombé sur un cas intéressant d’une mise à jour de Zimbra 7 vers Zimbra 8 qui, une fois la mise à jour effectuée, ne permettait plus d’accéder a l’interface utilisateur et administrateur même si tous les services était au vert au niveau CLI.

Commence alors l’analyse des logs et malheureusement ceux-ci ne fournissait pas d’informations pertinentes.
Lors d’une connexion, voici ce qui apparaissait dans /opt/zimbra/log/mailbox.log :

error while proxying request to target server: HTTP/1.1 404 Not Found.

Il n’y avait que dans le /opt/zimbra/log/zmmailboxd.out que quelque chose attira mon attention :

2016-06-16 06:04:22.754:WARN/service:unavailable
2016-06-16 06:04:23.754:WARN/service:unavailable
javax.servlet.UnavailableException: Other filter is using the same name: com.zimbra.cs.network.license.service.ImapLicenseFilter

A priori une autre librairie se charge et prend la place de /service ce qui a pour effet planter n’importe quel service ayant besoin de /service.
Et pour ceux qui connaissent Zimbra, l’intégralité du logiciel s’appuie sur cet URL 🙁

Évidemment google était à sec et la seule personne qui a eu le même problème n’a jamais eu de réponse.

Mais en En regardant de plus près les logs de démarrage, on peut voir que java charge une librairie inhabituelle :

2016-06-16 06:03:28,103 INFO  [main] [] extensions - extension com.zimbra.iminterop.ZimbraInteropExtension found in /opt/zimbra/lib/ext/zimbraiminterop/zimbraiminterop.jar

Il s’agit de la librairie de feu serveur XMPP intégré à Zimbra, hors cette brique a été retiré de Zimbra en version 8 mais pour quelconque raison, ici elle est toujours présente.

on supprime donc cette librairie :

rm /opt/zimbra/lib/ext/zimbraiminterop/zimbraiminterop.jar

puis on redémarre les services.

Après ça, j’ai bien mérité une bonne bière !