A video walk-through of these instructions is available here: https://www.youtube.com/watch?v=kFGahQvL9Gk These instructions are part of the set of instructions for setting up ZCS Chat feature: http://wiki.eng.zimbra.com/index.php/ZimbraIM/ These instructions were tested with OpenFire 3.10.2
OpenFire is an XMPP server written in Java. It can be downloaded from Igniterealtime's website http://www.igniterealtime.org/projects/openfire/. Follow OpenFire installation instructions with all default options.
Authentication against Zimbra SOAP interface is implemented by a custom java library (ZimbraOpenFire). The source code is in ZimbraFOSS/ZimbraOpenFire project. You need the following jar files that are produced by “dist” ANT target in ZimbraOpenFire project:
- zimbraopenfire.jar
- zimbrasoap.jar
- zimbracommon.jar
- json.jar
- guava-13.0.1.jar
Copy these jar files to OpenFire's lib folder (on Mac it is /usr/local/openfire/lib). On Mac, you have to copy these files as root. Restart OpenFire.
Open OpenFire admin UI on port 9090 (http://your-open-fire-host:9090). You should be able to log in with default admin credentials that you created during installation.
Navigate to “Server”/“System Properties” and change the following settings:
- Set provider.auth.className to com.zimbra.openfire.ZimbraAuthProvider
- Set provider.user.className to com.zimbra.openfire.ZimbraUserProvider
This is what System Properties section looks like in OpenFire Admin UI: ![]
Still in “System Properties” add the following settings that will be used by ZimbraAuthProvider and ZimbraUserProvider classes to talk to Zimbra SOAP interface.
- Set zimbraAuthProvider.host to the hostname or IP address of your ZCS mailbox server
- Set zimbraAuthProvider.port to your the same port number where your Zimbra users access Zimbra Web Client. If your web MTA is running in HTTP only mode, set zimbraAuthProvider.port to 80. If you are not running zmproxy, set zimbraAuthProvider.port to 7070. If your web MTA allows connections over HTTPS, set zimbraAuthProvider.port to 443.
- Set zimbraAuthProvider.protocol to http if your Zimbra Web Client is running on HTTP. Set zimbraAuthProvider.protocol to https if your Zimbra Web Client is running on HTTPS.
- Set zimbraUserProvider.host to the hostname or IP address of your ZCS mailbox server
[]: OpenFireSystemProps.png "fig:OpenFireSystemProps.png"