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 !