-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Greg Solovyev
committed
Sep 14, 2015
1 parent
6c27bba
commit 661ed85
Showing
1 changed file
with
82 additions
and
53 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,54 +1,83 @@ | ||
== Overview == | ||
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 | ||
== Download and install OpenFire == | ||
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. | ||
|
||
== Install Zimbra OpenFire plugin to OpenFire == | ||
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: | ||
<ul> | ||
<li>zimbraopenfire.jar</li> | ||
<li>zimbrasoap.jar</li> | ||
<li>zimbracommon.jar</li> | ||
<li>json.jar</li> | ||
<li>guava-13.0.1.jar</li> | ||
</ul> | ||
|
||
Copy these jar files to OpenFire's lib folder (on Mac it is <b>/usr/local/openfire/lib</b>). On Mac, you have to copy these files as root. Restart OpenFire. | ||
|
||
== Configure Zimbra authentication for 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. | ||
|
||
=== Change provider classes === | ||
Navigate to "Server"/"System Properties" and change the following settings: | ||
<ul> | ||
<li>Set <b>provider.auth.className</b> to <i>com.zimbra.openfire.ZimbraAuthProvider</i></li> | ||
<li>Set <b>provider.user.className</b> to <i>com.zimbra.openfire.ZimbraUserProvider</i></li> | ||
</ul> | ||
Overview | ||
-------- | ||
|
||
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 | ||
|
||
Download and install OpenFire | ||
----------------------------- | ||
|
||
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. | ||
|
||
Install Zimbra OpenFire plugin to OpenFire | ||
------------------------------------------ | ||
|
||
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 | ||
<b>/usr/local/openfire/lib</b>). On Mac, you have to copy these files as | ||
root. Restart OpenFire. | ||
|
||
Configure Zimbra authentication for 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. | ||
|
||
### Change provider classes | ||
|
||
Navigate to “Server”/“System Properties” and change the following | ||
settings: | ||
|
||
- Set <b>provider.auth.className</b> to | ||
<i>com.zimbra.openfire.ZimbraAuthProvider</i> | ||
- Set <b>provider.user.className</b> to | ||
<i>com.zimbra.openfire.ZimbraUserProvider</i> | ||
|
||
This is what System Properties section looks like in OpenFire Admin UI: | ||
[[File:OpenFireSystemProps.png]] | ||
|
||
=== Set custom properties for Zimbra authentication === | ||
Still in "System Properties" add the following settings that will be used by ZimbraAuthProvider and ZimbraUserProvider classes to talk to Zimbra SOAP interface. | ||
<ul> | ||
<li>Set <b>zimbraAuthProvider.host</b> to the hostname or IP address of your ZCS mailbox server</li> | ||
<li>Set <b>zimbraAuthProvider.port</b> 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 <b>zimbraAuthProvider.port</b> to <i>80</i>. If you are not running zmproxy, set <b>zimbraAuthProvider.port</b> to <i>7070</i>. If your web MTA allows connections over HTTPS, set <b>zimbraAuthProvider.port</b> to <i>443</i>.</li> | ||
<li>Set <b>zimbraAuthProvider.protocol</b> to <i>http</i> if your Zimbra Web Client is running on HTTP. Set <b>zimbraAuthProvider.protocol</b> to <i>https</i> if your Zimbra Web Client is running on HTTPS.</li> | ||
<li>Set <b>zimbraUserProvider.host</b> to the hostname or IP address of your ZCS mailbox server</li> | ||
<li>Set <b>zimbraUserProvider.adminLogin</b> to your ZCS admin's user name. This does not have to be a global admin. This admin user has to have permissions to search and load properties of any ZCS account that will have access to Chat feature.</li> | ||
<li>Set <b>zimbraUserProvider.adminPassword</b> to ZCS admin's password.</li> | ||
</ul> | ||
|
||
=== Configure XMPP domain === | ||
Set <b>xmpp.domain</b> property to the same value as your ZCS domain name | ||
|
||
== Additional OpenFire settings == | ||
If ZCS is running with a self-signed certificate or the certificate installed in your mailboxd instance cannot be verified for whatever reason, you should instruct OpenFire to trust unverified certificates. To do so set <b>clearspace.certificate.verify</b> to <i>false</i> in System Properties in OpenFire admin UI. | ||
|
||
== Multi-tenancy == | ||
=== Multiple XMPP domains in Zimbra Web Client === | ||
OpenFire does not support serving multiple XMPP domains from a single OpenFire server instance. Because Zimbra Chat configuration includes only a single XMPP URL, it is not possible to support multiple XMPP domains within Zimbra Web Client when Zimbra Chat is backed by OpenFire XMPP server. | ||
=== Multiple XMPP domains in XMPP clients === | ||
It is possible to configure multiple OpenFire servers to authenticate against the same ZCS server. This will allow multiple XMPP domains to be running on OpenFire with authentication against a single ZCS instance. Follow configuration steps specific to OpenFire on each OpenFire server: http://wiki.eng.zimbra.com/index.php/ZimbraIM/OpenFire | ||
![] | ||
|
||
### Set custom properties for Zimbra authentication | ||
|
||
Still in “System Properties” add the following settings that will be | ||
used by ZimbraAuthProvider and ZimbraUserProvider classes to talk to | ||
Zimbra SOAP interface. | ||
|
||
- Set <b>zimbraAuthProvider.host</b> to the hostname or IP address of | ||
your ZCS mailbox server | ||
- Set <b>zimbraAuthProvider.port</b> 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 <b>zimbraAuthProvider.port</b> to | ||
<i>80</i>. If you are not running zmproxy, set | ||
<b>zimbraAuthProvider.port</b> to <i>7070</i>. If your web MTA | ||
allows connections over HTTPS, set <b>zimbraAuthProvider.port</b> to | ||
<i>443</i>. | ||
- Set <b>zimbraAuthProvider.protocol</b> to <i>http</i> if your Zimbra | ||
Web Client is running on HTTP. Set | ||
<b>zimbraAuthProvider.protocol</b> to <i>https</i> if your Zimbra | ||
Web Client is running on HTTPS. | ||
- Set <b>zimbraUserProvider.host</b> to the hostname or IP address of | ||
your ZCS mailbox server | ||
|
||
<li> | ||
Set <b>zimbraUserProvider.adminLogin</b> to your ZCS admin's user name. | ||
This does not have to be a global admin. This admin user has to have | ||
permissions to search and load | ||
|
||
[]: OpenFireSystemProps.png "fig:OpenFireSystemProps.png" |