Table of Contents

Zimbra

Presentation

Zimbra is open source server software for email and collaboration - email, group calendar, contacts, instant messaging, file storage and web document management. The Zimbra email and calendar server is available for Linux, Mac OS X and virtualization platforms. Zimbra syncs to smartphones (iPhone, BlackBerry) and desktop clients like Outlook and Thunderbird. Zimbra also features archiving and discovery for compliance. Zimbra can be deployed on-premises or as a hosted email solution.

Zimbra use a specific preauthentication protocol to provide SSO on its application. This protocol is implemented in an LL::NG specific Handler.

Zimbra can also be connected to LL::NG via SAML protocol (see Zimbra blog).
For now, Zimbra isn't supported by Nginx handler. You have to use Apache.

Configuration

The integration with LL::NG is the following:

Zimbra preauth key

You need to get a preauth key from Zimbra server.

See how to do this on Zimbra wiki.

Zimbra application in menu

Choose for example http://zimbra.example.com/zimbrasso as SSO URL and set it in application menu.

Zimbra virtual host

Apache

You will configure Zimbra virtual host like other protected virtual host but you will use Zimbra Handler instead of default Handler.

PerlModule Lemonldap::NG::Handler::Specific::ZimbraPreAuth
<VirtualHost *>
        ServerName zimbra.example.com
 
       # Load Zimbra Handler
       PerlHeaderParserHandler Lemonldap::NG::Handler::Specific::ZimbraPreAuth
       ...
 
</VirtualHost>

Nginx

Zimbra Handler cannot be used in Nginx for the moment.

Zimbra virtual host in Manager

Go to the Manager and create a new virtual host for Zimbra.

Just configure the access rules.

Zimbra Handler parameters

Zimbra parameters are the following:

Due to Handler API change in 1.9, you need to set these attributes in lemonldap-ng.ini and not in Manager, for example:
[handler]
zimbraPreAuthKey = XXXX
zimbraAccountKey = uid
zimbraBy =id
zimbraUrl = /service/preauth
zimbraSsoUrl = ^/zimbrasso$