178 lines
8.7 KiB
HTML
178 lines
8.7 KiB
HTML
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
|
|
lang="en" dir="ltr">
|
|
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
<title></title>
|
|
<!-- metadata -->
|
|
<meta name="generator" content="Offline" />
|
|
<meta name="version" content="Offline 0.1" />
|
|
<!-- style sheet links -->
|
|
<link rel="stylesheet" media="all" type="text/css" href="../../../../css/all.css" />
|
|
<link rel="stylesheet" media="screen" type="text/css" href="../../../../css/screen.css" />
|
|
<link rel="stylesheet" media="print" type="text/css" href="../../../../css/print.css" />
|
|
|
|
</head>
|
|
<body>
|
|
<div class="dokuwiki export">
|
|
|
|
|
|
<h1 class="sectionedit1" id="zimbra">Zimbra</h1>
|
|
<div class="level1">
|
|
|
|
<p>
|
|
<a href="/_detail/applications/zimbra_logo.png?id=documentation%3A2.0%3Aapplications%3Azimbra" class="media" title="applications:zimbra_logo.png"><img src="../../../../media/icons/kmultiple.png" class="mediacenter" alt="" /></a>
|
|
</p>
|
|
|
|
</div>
|
|
<!-- EDIT1 SECTION "Zimbra" [1-60] -->
|
|
<h2 class="sectionedit2" id="presentation">Presentation</h2>
|
|
<div class="level2">
|
|
|
|
<p>
|
|
<a href="http://www.zimbra.com/" class="urlextern" title="http://www.zimbra.com/" rel="nofollow">Zimbra</a> 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 <abbr title="Operating System">OS</abbr> 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.
|
|
</p>
|
|
|
|
<p>
|
|
Zimbra use a specific <a href="http://wiki.zimbra.com/index.php?title=Preauth" class="urlextern" title="http://wiki.zimbra.com/index.php?title=Preauth" rel="nofollow">preauthentication protocol</a> to provide <abbr title="Single Sign On">SSO</abbr> on its application. This protocol is implementated in an <abbr title="LemonLDAP::NG">LL::NG</abbr> specific Handler.
|
|
</p>
|
|
|
|
<p>
|
|
<p><div class="notetip">Zimbra can also be connected to <abbr title="LemonLDAP::NG">LL::NG</abbr> via <a href="../../../documentation/2.0/idpsaml.html" class="wikilink1" title="documentation:2.0:idpsaml">SAML protocol</a> (see <a href="http://blog.zimbra.com/blog/archives/2010/06/using-saml-assertions-to-access-zimbra.html" class="urlextern" title="http://blog.zimbra.com/blog/archives/2010/06/using-saml-assertions-to-access-zimbra.html" rel="nofollow">Zimbra blog</a>).
|
|
</div></p>
|
|
</p>
|
|
|
|
<p>
|
|
<p><div class="noteimportant">For now, Zimbra isn't supported by Nginx handler. You have to use Apache.
|
|
</div></p>
|
|
</p>
|
|
|
|
</div>
|
|
<!-- EDIT2 SECTION "Presentation" [61-1099] -->
|
|
<h2 class="sectionedit3" id="configuration">Configuration</h2>
|
|
<div class="level2">
|
|
|
|
<p>
|
|
The integration with <abbr title="LemonLDAP::NG">LL::NG</abbr> is the following:
|
|
</p>
|
|
<ul>
|
|
<li class="level1"><div class="li"> A special <abbr title="Uniform Resource Locator">URL</abbr> is declared in application menu (like <a href="http://zimbra.example.com/zimbrasso" class="urlextern" title="http://zimbra.example.com/zimbrasso" rel="nofollow">http://zimbra.example.com/zimbrasso</a>)</div>
|
|
</li>
|
|
<li class="level1"><div class="li"> A Zimbra Handler is called</div>
|
|
</li>
|
|
<li class="level1"><div class="li"> Handler build the preauth request and redirect user on Zimbra preauth <abbr title="Uniform Resource Locator">URL</abbr></div>
|
|
</li>
|
|
<li class="level1"><div class="li"> Then Zimbra do the <abbr title="Single Sign On">SSO</abbr> by setting a cookie in user's browser</div>
|
|
</li>
|
|
</ul>
|
|
|
|
</div>
|
|
<!-- EDIT3 SECTION "Configuration" [1100-1440] -->
|
|
<h3 class="sectionedit4" id="zimbra_preauth_key">Zimbra preauth key</h3>
|
|
<div class="level3">
|
|
|
|
<p>
|
|
You need to get a preauth key from Zimbra server.
|
|
</p>
|
|
|
|
<p>
|
|
See <a href="http://wiki.zimbra.com/index.php?title=Preauth#Preparing_a_domain_for_preauth" class="urlextern" title="http://wiki.zimbra.com/index.php?title=Preauth#Preparing_a_domain_for_preauth" rel="nofollow">how to do this</a> on Zimbra wiki.
|
|
</p>
|
|
|
|
</div>
|
|
<!-- EDIT4 SECTION "Zimbra preauth key" [1441-1639] -->
|
|
<h3 class="sectionedit5" id="zimbra_application_in_menu">Zimbra application in menu</h3>
|
|
<div class="level3">
|
|
|
|
<p>
|
|
Choose for example <a href="http://zimbra.example.com/zimbrasso" class="urlextern" title="http://zimbra.example.com/zimbrasso" rel="nofollow">http://zimbra.example.com/zimbrasso</a> as <abbr title="Single Sign On">SSO</abbr> <abbr title="Uniform Resource Locator">URL</abbr> and <a href="../../../documentation/2.0/portalmenu.html#categories_and_applications" class="wikilink1" title="documentation:2.0:portalmenu">set it in application menu</a>.
|
|
</p>
|
|
|
|
</div>
|
|
<!-- EDIT5 SECTION "Zimbra application in menu" [1640-1821] -->
|
|
<h3 class="sectionedit6" id="zimbra_virtual_host">Zimbra virtual host</h3>
|
|
<div class="level3">
|
|
|
|
</div>
|
|
|
|
<h4 id="apache">Apache</h4>
|
|
<div class="level4">
|
|
|
|
<p>
|
|
You will configure Zimbra virtual host like other <a href="../../../documentation/2.0/configvhost.html" class="wikilink1" title="documentation:2.0:configvhost">protected virtual host</a> but you will use Zimbra Handler instead of default Handler.
|
|
</p>
|
|
<pre class="code file apache">PerlModule Lemonldap::NG::Handler::Specific::ZimbraPreAuth
|
|
<<span class="kw3">VirtualHost</span> *>
|
|
<span class="kw1">ServerName</span> zimbra.example.com
|
|
|
|
<span class="co1"># Load Zimbra Handler</span>
|
|
PerlHeaderParserHandler Lemonldap::NG::Handler::Specific::ZimbraPreAuth
|
|
...
|
|
|
|
</<span class="kw3">VirtualHost</span>></pre>
|
|
|
|
</div>
|
|
|
|
<h4 id="nginx">Nginx</h4>
|
|
<div class="level4">
|
|
|
|
<p>
|
|
<p><div class="noteclassic">Zimbra Handler cannot be used in Nginx for the moment.
|
|
</div></p>
|
|
</p>
|
|
|
|
</div>
|
|
<!-- EDIT6 SECTION "Zimbra virtual host" [1822-2382] -->
|
|
<h3 class="sectionedit7" id="zimbra_virtual_host_in_manager">Zimbra virtual host in Manager</h3>
|
|
<div class="level3">
|
|
|
|
<p>
|
|
Go to the Manager and <a href="../../../documentation/2.0/configvhost.html#lemonldapng_configuration" class="wikilink1" title="documentation:2.0:configvhost">create a new virtual host</a> for Zimbra.
|
|
</p>
|
|
|
|
<p>
|
|
Just configure the <a href="../../../documentation/2.0/writingrulesand_headers.html#rules" class="wikilink1" title="documentation:2.0:writingrulesand_headers">access rules</a>.
|
|
</p>
|
|
|
|
</div>
|
|
<!-- EDIT7 SECTION "Zimbra virtual host in Manager" [2383-2599] -->
|
|
<h3 class="sectionedit8" id="zimbra_handler_parameters">Zimbra Handler parameters</h3>
|
|
<div class="level3">
|
|
|
|
<p>
|
|
Zimbra parameters are the following:
|
|
</p>
|
|
<ul>
|
|
<li class="level1"><div class="li"> <strong>Preauthentication key</strong>: the one you grab from zmprov command</div>
|
|
</li>
|
|
<li class="level1"><div class="li"> <strong>Account session key</strong>: session field used as Zimbra user account (by default: uid)</div>
|
|
</li>
|
|
<li class="level1"><div class="li"> <strong>Account type</strong>: for Zimbra this can be name, id or foreignKey (by default: id)</div>
|
|
</li>
|
|
<li class="level1"><div class="li"> <strong>Preauthentication <abbr title="Uniform Resource Locator">URL</abbr></strong>: Zimbra preauthentication <abbr title="Uniform Resource Locator">URL</abbr>, either with full <abbr title="Uniform Resource Locator">URL</abbr> (ex: <a href="http://zimbra.lan/service/preauth" class="urlextern" title="http://zimbra.lan/service/preauth" rel="nofollow">http://zimbra.lan/service/preauth</a>), either only with path (ex: /service/preauth) (by default: /service/preauth)</div>
|
|
</li>
|
|
<li class="level1"><div class="li"> <strong>Local <abbr title="Single Sign On">SSO</abbr> <abbr title="Uniform Resource Locator">URL</abbr> pattern</strong>: regular expression to match the <abbr title="Single Sign On">SSO</abbr> <abbr title="Uniform Resource Locator">URL</abbr> (by default: ^/zimbrasso$)</div>
|
|
</li>
|
|
</ul>
|
|
|
|
<p>
|
|
<p><div class="noteimportant">
|
|
Due to Handler <abbr title="Application Programming Interface">API</abbr> change in 1.9, you need to set these attributes in <code>lemonldap-ng.ini</code> and not in Manager, for example:
|
|
</p>
|
|
<pre class="code file ini"><span class="re0"><span class="br0">[</span>handler<span class="br0">]</span></span>
|
|
<span class="re1">zimbraPreAuthKey</span> <span class="sy0">=</span><span class="re2"> XXXX</span>
|
|
<span class="re1">zimbraAccountKey</span> <span class="sy0">=</span><span class="re2"> uid</span>
|
|
<span class="re1">zimbraBy</span> <span class="sy0">=</span><span class="re2">id</span>
|
|
<span class="re1">zimbraUrl</span> <span class="sy0">=</span><span class="re2"> /service/preauth</span>
|
|
<span class="re1">zimbraSsoUrl</span> <span class="sy0">=</span><span class="re2"> ^/zimbrasso$</span></pre>
|
|
|
|
<p>
|
|
|
|
</div></p>
|
|
</p>
|
|
|
|
</div>
|
|
</div><!-- closes <div class="dokuwiki export">--> |