Even if Zimbra 9 is released, I keep my production in version 8 in order not to suffer from bugs inherent to major versions release.

But until recently, I hadn’t been able to change OS version because Zimbra didn’t support CentOS 8 (released on 07/05/2019), and it’s now supported since patch 11 (released on 02/07/2020). We had to wait a little less than a year before being able to update…

From there, I was able to build a new VM and apply the “old school” migration methodology by rsync. It allowed me to see that I’ve been dragging this Zimbra platform for quite a while because the zmstat folder contains statistics going back to 16/01/2012 (Zimbra 8 was about to be released).

As there’s a big gap between versions, I had to adapt the procedure

  1. Update of the CentOS 6 server and Zimbra in its last available patch

yum -y update

Once this is done and the machine is restarted, we can start the process of copying the files.

2. The Zimbra service is stopped to avoid any writing.

su - zimbra
zmcontrol stop

3. then as root we start copying

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

4. In the meantime, you can launch on the new server the installation of only Zimbra packages. This is a classical installation, so I won’t go into detail about it. You have to be careful to select the same packages installed on the source server and have the same name as the original server.

./install.sh -s

5. Once the installation is finished, you can move (not delete, this is important for the future) the installation folder and replace it with the copy of the source server. Just to make sure you have the right permissions on the freshly copied files, you reapply the right permissions.

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

6. In the procedure, you have to restart the installation but it won’t go as planned because Zimbra tries to run perl scripts for a version 6 of CentOS. So you have to overwrite the existing folder with the initial installation folder :

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

And now we can resume the installation procedure and start our Zimbra on a clean CentOS 8. Enjoy.

PS: If you are using ZeXtras, which I am, you have to reinstall it.

To start the new year well; wish you all the best for this new year by the way:). I took some time to convert the latest Zimbra SOAP documentation available into Docset format.

For those who do not know, Docset is a documentation format used by the software Dash and Zeal.
This software allows you to read these documents and other snippets offline. Convenient when you travel regularly.
Many integrations exist. There are connectors with the most popular IDEs; ATOM, PyCharm, etc. These allow searching the documentation of a function directly from the IDE.

I don’t know when the version 8.8 of the documentation will be available, but I’ll add it when it becomes public.

For those who use Dash the documentation is already available in the “User Contribution”section, for the others the integration is explained in the Readme of the following repository.

It was a long time ago that I hadn’t written a post.
I’m taking advantage to have some spare time to finally make it.

I’d come across the article of Jorge allowing to create demo accounts on Zimbra using a script.
Apart from the fact that Zimbra already offers this option by default:

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

going through an intermediate file and having to modify the script to adapt it makes the solution, in my opinion, painful.
Continue reading

The new version of Zimbra just got out but his API documentation has finally been release today.

Some time ago, I’ve taken care to bring the documentation in docset format for Dash and Zeal.

So from now on, you can find the SOAP and Zimlet documentation for 8.7 directly in the “User Contributed” section in Dash:

And follow the how-to in the github project for Zeal.
Besides not having Windows / Linux with GUI, if a charitable soul could test Zeal and confirm that it works it would be nice.

This week I came across an interesting case of an update of Zimbra 7 to 8 who once the update performed, you could even access to the user or admin interface even if all services were showing green with the CLI.

Then begins the analysis of logs and unfortunately they did not provide relevant information.
When we try to make a connection, the following line appeared in /opt/zimbra/log/mailbox.log :

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

Only in the /opt/zimbra/log/zmmailboxd.out log file that something caught my eye :

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

It seems that another library loads and takes the place of /service which has the effect of crashing any service requiring /service.
And for those who know Zimbra, the entire software uses this URL 🙁

Google obviously was dry and the only person who had the same problem never had an answer.

But looking at it more closely, in starter logs we can see that java load an unusual library:

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

This is the old XMPP server library who was removed from Zimbra in version 8 but for some reason, here it still present.

So we remove this library:

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

then we restarts the services.

After that, I deserved a good beer!