Home

Bind Zimbra To A Specific IP Address

Super busy these days. But, here is a handy tip for Zimbra, it took me forever to find, so I want to save it for future reference here on Bur.gr.

A client wants to consolidate some of their servers to save money on their datacenter bill. One of the servers is dedicated to Zimbra Collaboration Suite, a mail server package that tries to cover all the bases. The hardware it is on is rather beefy, so they want to move a few LAMP-based sites onto the server, since it is so underutilized. While investigating what would need to be done, I find out that Zimbra uses a Java based HTTP daemon, and that it binds to *:80, which if you don't read netstat, means it listens on any configured IP address on port 80. If I want to set up a Apache to server some LAMP sites, I need to get Zimbra to bind to a specific IP address rather than on all configured IPs on the server.

Thanks to all-out-email.com's little helplet, I found out you need to:

  • edit /opt/zimbra/mailboxd/etc/jetty.xml.in add <Set name="Host">your-ip-address</Set> to the HTTP connector
  • edit /opt/zimbra/mailboxd/etc/zimbra.web.xml.in uncomment zimbra.soap.url, change localhost:7070 to your-ip-address
  • edit /opt/zimbra/mailboxd/etc/zimbraAdmin.web.xml.in uncomment zimbra.soap.url, change localhost:7070 to your-ip-address
  • su - zimbra
  • zmcontrol stop
  • zmcontrol start

This applies to Zimbra Collaboration Suite 5.

UPDATE: Make sure to check what port handles SOAP requests, and modify your zimbra.soap.url accordingly. Most likely SOAP is done on port 80, so you can drop :7070 from your zimbra.soap.url .

Misc.