Update doc

This commit is contained in:
Xavier Guimard 2017-10-24 11:04:03 +00:00
parent ca399ab539
commit ae1835b66a
34 changed files with 441 additions and 351 deletions

View File

@ -90,7 +90,7 @@
<form action="/start" accept-charset="utf-8" class="search" id="dw__search" method="get" role="search"><div class="no"><input type="hidden" name="do" value="search" /><input type="text" id="qsearch__in" accesskey="f" name="id" class="edit" title="[F]" /><input type="submit" value="Search" class="button" title="Search" /><div id="qsearch__out" class="ajax_qsearch JSpopup"></div></div></form>
<ul class="nav navbar-nav">
<li><a href="/documentation/2.0/applications/img/icons.png?do=login&amp;sectok=d4fe5585dec923939be5e0ea38da2802" class="action login" rel="nofollow" title="Login"><i class="glyphicon glyphicon-log-in"></i> Login</a></li> </ul>
<li><a href="/documentation/2.0/applications/img/icons.png?do=login&amp;sectok=fa0cc1a85fc0d1baf3a61bfee1cba736" class="action login" rel="nofollow" title="Login"><i class="glyphicon glyphicon-log-in"></i> Login</a></li> </ul>
</div>
@ -204,7 +204,7 @@ You&#039;ve followed a link to a topic that doesn&#039;t exist yet. If permissio
</div><!-- /site -->
<div class="no"><img src="/lib/exe/indexer.php?id=documentation%3A2.0%3Aapplications%3Aimg%3Aicons.png&amp;1505393484" width="2" height="1" alt="" /></div>
<div class="no"><img src="/lib/exe/indexer.php?id=documentation%3A2.0%3Aapplications%3Aimg%3Aicons.png&amp;1508842909" width="2" height="1" alt="" /></div>
<div id="screen__mode" class="no">
<span class="visible-xs"></span>
<span class="visible-sm"></span>

View File

@ -90,7 +90,7 @@
<form action="/start" accept-charset="utf-8" class="search" id="dw__search" method="get" role="search"><div class="no"><input type="hidden" name="do" value="search" /><input type="text" id="qsearch__in" accesskey="f" name="id" class="edit" title="[F]" /><input type="submit" value="Search" class="button" title="Search" /><div id="qsearch__out" class="ajax_qsearch JSpopup"></div></div></form>
<ul class="nav navbar-nav">
<li><a href="/documentation/2.0/applications/img/loader.gif?do=login&amp;sectok=d4fe5585dec923939be5e0ea38da2802" class="action login" rel="nofollow" title="Login"><i class="glyphicon glyphicon-log-in"></i> Login</a></li> </ul>
<li><a href="/documentation/2.0/applications/img/loader.gif?do=login&amp;sectok=fa0cc1a85fc0d1baf3a61bfee1cba736" class="action login" rel="nofollow" title="Login"><i class="glyphicon glyphicon-log-in"></i> Login</a></li> </ul>
</div>
@ -204,7 +204,7 @@ You&#039;ve followed a link to a topic that doesn&#039;t exist yet. If permissio
</div><!-- /site -->
<div class="no"><img src="/lib/exe/indexer.php?id=documentation%3A2.0%3Aapplications%3Aimg%3Aloader.gif&amp;1505393484" width="2" height="1" alt="" /></div>
<div class="no"><img src="/lib/exe/indexer.php?id=documentation%3A2.0%3Aapplications%3Aimg%3Aloader.gif&amp;1508842909" width="2" height="1" alt="" /></div>
<div id="screen__mode" class="no">
<span class="visible-xs"></span>
<span class="visible-sm"></span>

View File

@ -135,6 +135,8 @@ Each module that will be used in combination rule must be declared. You must set
</li>
</ul>
</li>
<li class="level1"><div class="li"> overwritten parameters: you can redefine any LLNG string parameter. For example, if you use 2 different LDAP, the first can use normal configuration and for the second, overwritten parameter can redefine ldapServer,…</div>
</li>
</ul>
<p>
@ -143,23 +145,23 @@ For example:
<div class="table sectionedit6"><table class="inline table table-bordered table-striped">
<thead>
<tr class="row0 roweven">
<th class="col0"> Name </th><th class="col1"> Type </th><th class="col2"> Scope </th>
<th class="col0"> Name </th><th class="col1"> Type </th><th class="col2"> Scope </th><th class="col3"> Parameters </th>
</tr>
</thead>
<tr class="row1 rowodd">
<td class="col0"> DB1 </td><td class="col1"> <abbr title="Database Interface">DBI</abbr> </td><td class="col2"> Auth only </td>
<td class="col0"> DB1 </td><td class="col1"> <abbr title="Database Interface">DBI</abbr> </td><td class="col2"> Auth only </td><td class="col3"> </td>
</tr>
<tr class="row2 roweven">
<td class="col0"> DB2 </td><td class="col1"> <abbr title="Database Interface">DBI</abbr> </td><td class="col2"> User DB only </td>
<td class="col0"> DB2 </td><td class="col1"> <abbr title="Database Interface">DBI</abbr> </td><td class="col2"> User DB only </td><td class="col3"> dbiAuthChain ⇒ “mysql:…” </td>
</tr>
</table></div>
<!-- EDIT6 TABLE [811-889] -->
<!-- EDIT6 TABLE [1034-1157] -->
<p>
Usually, you can&#039;t declare two modules of the same type if they don&#039;t have the same parameters. For example, usually you can&#039;t declare a MySQL <abbr title="Database Interface">DBI</abbr> and a PostgreSQL <abbr title="Database Interface">DBI</abbr>, because there is no extra field for PostgreSQL parameters. Now with Combination, you can declare some overloaded parameters. For example, if <abbr title="Database Interface">DBI</abbr> is configured to use PostgreSQL but DB2 is a MySQL DB, you can override the “dbiChain” parameter.
</p>
</div>
<!-- EDIT5 SECTION "Modules declaration" [516-1303] -->
<!-- EDIT5 SECTION "Modules declaration" [516-1571] -->
<h3 class="sectionedit7" id="rule_chain">Rule chain</h3>
<div class="level3">
@ -206,7 +208,7 @@ Remember that schemes in rules are the names declared above.
<td class="col0 leftalign"> <code>[mySSL and myLDAP, myLDAP ]</code> </td><td class="col1"> Use mySSL and myLDAP to authentify, myLDAP to get user </td>
</tr>
</table></div>
<!-- EDIT8 TABLE [1757-2188] --><div class="noteimportant">Note that “or” can&#039;t be used inside a scheme.
<!-- EDIT8 TABLE [2025-2456] --><div class="noteimportant">Note that “or” can&#039;t be used inside a scheme.
If you think to “[mySSL or myLDAP, myLDAP]”, you must write <code>[mySSL, myLDAP] or [myLDAP, myLDAP]</code>
</div><div class="table sectionedit9"><table class="inline table table-bordered table-striped">
@ -222,7 +224,7 @@ If you think to “[mySSL or myLDAP, myLDAP]”, you must write <code>[mySSL, my
<td class="col0"> <code>[myDBI1] and [myDBI2] or [myLDAP] and [myDBI2]</code> </td><td class="col1"> Try myDBI1 and myDBI2, if it fails, try myLDAP and myDBI2 </td>
</tr>
</table></div>
<!-- EDIT9 TABLE [2361-2605] --><div class="noteimportant">You can&#039;t use brackets in a boolean expression and “and” has precedence on “or”.
<!-- EDIT9 TABLE [2629-2873] --><div class="noteimportant">You can&#039;t use brackets in a boolean expression and “and” has precedence on “or”.
<p>
If you think to “( [myLDAP] or [myDBI1] ) and [myDBI2]”, you must write <code>[myLDAP] and [myDBI2] or [myDBI1] and [myDBI2]</code>
</p>
@ -249,7 +251,7 @@ Test can use only the <code>$env</code> variable. It contains the FastCGI enviro
<td class="col0"> <code>if($env→{REMOTE_ADDR} =~ /^10\./) then [myLDAP] else if($env→{REMOTE_ADDR} =~ /^192/) then [myDBI1] else [myDBI2]</code> </td><td class="col1"> Chain tests </td>
</tr>
</table></div>
<!-- EDIT10 TABLE [2941-3263] --><div class="noteimportant">Note that brackets can&#039;t be used except to enclose test.
<!-- EDIT10 TABLE [3209-3531] --><div class="noteimportant">Note that brackets can&#039;t be used except to enclose test.
<p>
If you wants to write <code>if(…) then if…</code>, you must write <code>if(not …) then … else if(…)…</code>
</p>
@ -269,7 +271,7 @@ The following rule is valid:
</p>
</div>
<!-- EDIT7 SECTION "Rule chain" [1304-3610] -->
<!-- EDIT7 SECTION "Rule chain" [1572-3878] -->
<h3 class="sectionedit11" id="combine_second_factor">Combine second factor</h3>
<div class="level3">
@ -294,7 +296,7 @@ Now if you want to authenticate users either by LDAP or LDAP+U2F <em>(to have 2
</ul>
</div>
<!-- EDIT11 SECTION "Combine second factor" [3611-4260] -->
<!-- EDIT11 SECTION "Combine second factor" [3879-4528] -->
<h3 class="sectionedit12" id="display_multiple_forms">Display multiple forms</h3>
<div class="level3">
@ -305,12 +307,12 @@ Combination module returns the form corresponding to the first authentication sc
<span class="re1">combinationForms</span> <span class="sy0">=</span><span class="re2"> standardform, openidform</span></pre>
</div>
<!-- EDIT12 SECTION "Display multiple forms" [4261-4589] -->
<!-- EDIT12 SECTION "Display multiple forms" [4529-4857] -->
<h2 class="sectionedit13" id="known_problems">Known problems</h2>
<div class="level2">
</div>
<!-- EDIT13 SECTION "Known problems" [4590-4617] -->
<!-- EDIT13 SECTION "Known problems" [4858-4885] -->
<h3 class="sectionedit14" id="federation_protocols">Federation protocols</h3>
<div class="level3">
@ -330,9 +332,9 @@ Combination module returns the form corresponding to the first authentication sc
<td class="col0"> <em><code>[<abbr title="Security Assertion Markup Language">SAML</abbr>] and [LDAP] or [LDAP]</code></em> </td><td class="col1"> <code>[<abbr title="Security Assertion Markup Language">SAML</abbr>, <abbr title="Security Assertion Markup Language">SAML</abbr> and LDAP] or [LDAP]</code> </td><td class="col2"> Authentication is done by <abbr title="Security Assertion Markup Language">SAML</abbr> or LDAP but user must match an LDAP entry </td>
</tr>
</table></div>
<!-- EDIT15 TABLE [4917-5249] -->
<!-- EDIT15 TABLE [5185-5517] -->
</div>
<!-- EDIT14 SECTION "Federation protocols" [4618-5250] -->
<!-- EDIT14 SECTION "Federation protocols" [4886-5518] -->
<h3 class="sectionedit16" id="authapache_authentication">Auth::Apache authentication</h3>
<div class="level3">
@ -350,7 +352,7 @@ To bypass this, follow the documentation of <a href="authapache.html" class="wik
</p>
</div>
<!-- EDIT16 SECTION "Auth::Apache authentication" [5251-5862] -->
<!-- EDIT16 SECTION "Auth::Apache authentication" [5519-6130] -->
<h3 class="sectionedit17" id="ssl_authentication">SSL authentication</h3>
<div class="level3">
@ -359,6 +361,6 @@ To chain SSL, you have to set “SSLRequire optional” in Apache configuration,
</p>
</div>
<!-- EDIT17 SECTION "SSL authentication" [5863-] --></div>
<!-- EDIT17 SECTION "SSL authentication" [6131-] --></div>
</body>
</html>

View File

@ -4,7 +4,7 @@
<meta charset="utf-8" />
<title>documentation:2.0:configlocation</title>
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="noindex,nofollow"/>
<meta name="robots" content="index,follow"/>
<meta name="keywords" content="documentation,2.0,configlocation"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="configlocation.html"/>

View File

@ -74,11 +74,11 @@
<div class="level2">
<p>
To use Nginx, you must install LemonLDAP::NG FastCGI server, which is not installed by default lemonldap-ng metapackage.
To use Nginx, you must install LemonLDAP::NG FastCGI server, which is not installed by lemonldap-ng metapackage.
</p>
</div>
<!-- EDIT2 SECTION "FastCGI server" [43-192] -->
<!-- EDIT2 SECTION "FastCGI server" [43-184] -->
<h3 class="sectionedit3" id="debianubuntu">Debian/Ubuntu</h3>
<div class="level3">
<pre class="code">apt install lemonldap-ng-fastcgi-server</pre>
@ -90,7 +90,7 @@ Enable and start the service :
systemctl start llng-fastcgi-server</pre>
</div>
<!-- EDIT3 SECTION "Debian/Ubuntu" [193-393] -->
<!-- EDIT3 SECTION "Debian/Ubuntu" [185-385] -->
<h3 class="sectionedit4" id="red_hatcentos">Red Hat/CentOS</h3>
<div class="level3">
<pre class="code">yum install lemonldap-ng-fastcgi-server</pre>
@ -102,7 +102,7 @@ Enable and start the service :
systemctl start llng-fastcgi-server</pre>
</div>
<!-- EDIT4 SECTION "Red Hat/CentOS" [394-595] -->
<!-- EDIT4 SECTION "Red Hat/CentOS" [386-587] -->
<h2 class="sectionedit5" id="files">Files</h2>
<div class="level2">
@ -115,7 +115,7 @@ You have to include them in Nginx main configuration.
</p>
</div>
<!-- EDIT5 SECTION "Files" [596-818] -->
<!-- EDIT5 SECTION "Files" [588-810] -->
<h3 class="sectionedit6" id="debianubuntu1">Debian/Ubuntu</h3>
<div class="level3">
@ -136,7 +136,7 @@ ln -s /etc/nginx/sites-available/portal-nginx.conf /etc/nginx/sites-enabled/
ln -s /etc/nginx/sites-available/test-nginx.conf /etc/nginx/sites-enabled/</pre>
</div>
<!-- EDIT6 SECTION "Debian/Ubuntu" [819-1577] -->
<!-- EDIT6 SECTION "Debian/Ubuntu" [811-1569] -->
<h3 class="sectionedit7" id="red_hatcentos1">Red Hat/CentOS</h3>
<div class="level3">
@ -149,6 +149,6 @@ ln -s /etc/lemonldap-ng/portal-nginx.conf /etc/nginx/conf.d/
ln -s /etc/lemonldap-ng/test-nginx.conf /etc/nginx/conf.d/</pre>
</div>
<!-- EDIT7 SECTION "Red Hat/CentOS" [1578-] --></div>
<!-- EDIT7 SECTION "Red Hat/CentOS" [1570-] --></div>
</body>
</html>

View File

@ -4,7 +4,7 @@
<meta charset="utf-8" />
<title>documentation:2.0:configvhost</title>
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="index,follow"/>
<meta name="robots" content="noindex,nofollow"/>
<meta name="keywords" content="documentation,2.0,configvhost"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="configvhost.html"/>
@ -368,11 +368,11 @@ server {
<div class="level2">
<p>
An apache virtual host protected by LemonLDAP::NG Handler must be registered in LemonLDAP::NG configuration.
A virtual host protected by LemonLDAP::NG Handler must be registered in LemonLDAP::NG configuration.
</p>
<p>
To do this, use the Manager, and go in <code>Virtual Hosts</code> branch. You can add, delete or modify a virtual host here.
To do this, use the Manager, and go in <code>Virtual Hosts</code> branch. You can add, delete or modify a virtual host here. Enter the exact virtual host name (for example <code>test.example.com</code>) or use a wildcard (for example <code>*.example.com</code>).
</p>
<p>
@ -390,7 +390,7 @@ A virtual host contains:
</ul>
</div>
<!-- EDIT9 SECTION "LemonLDAP::NG configuration" [7862-8349] -->
<!-- EDIT9 SECTION "LemonLDAP::NG configuration" [7862-8461] -->
<h3 class="sectionedit10" id="access_rules_and_http_headers">Access rules and HTTP headers</h3>
<div class="level3">
@ -399,7 +399,7 @@ See <strong><a href="writingrulesand_headers.html" class="wikilink1" title="docu
</p>
</div>
<!-- EDIT10 SECTION "Access rules and HTTP headers" [8350-8542] -->
<!-- EDIT10 SECTION "Access rules and HTTP headers" [8462-8654] -->
<h3 class="sectionedit11" id="post_data">POST data</h3>
<div class="level3">
@ -408,7 +408,7 @@ See <strong><a href="formreplay.html" class="wikilink1" title="documentation:2.0
</p>
</div>
<!-- EDIT11 SECTION "POST data" [8543-8677] -->
<!-- EDIT11 SECTION "POST data" [8655-8789] -->
<h3 class="sectionedit12" id="options">Options</h3>
<div class="level3">
@ -429,6 +429,6 @@ These options are used to build redirection <abbr title="Uniform Resource Locato
</p>
</div>
<!-- EDIT12 SECTION "Options" [8678-] --></div>
<!-- EDIT12 SECTION "Options" [8790-] --></div>
</body>
</html>

View File

@ -54,8 +54,8 @@
<ul class="toc">
<li class="level2"><div class="li"><a href="#declare_module_in_handler_server">Declare module in handler server</a></div>
<ul class="toc">
<li class="level3"><div class="li"><a href="#apache">Apache</a></div></li>
<li class="level3"><div class="li"><a href="#fastcgi_server_nginx">FastCGI server (Nginx)</a></div></li>
<li class="level3"><div class="li"><a href="#new_method">New method</a></div></li>
<li class="level3"><div class="li"><a href="#old_method">Old method</a></div></li>
</ul>
</li>
<li class="level2"><div class="li"><a href="#declare_custom_functions">Declare custom functions</a></div></li>
@ -106,9 +106,28 @@ Create your Perl module with custom functions. You can name your module as you w
</div>
<h4 id="apache">Apache</h4>
<h4 id="new_method">New method</h4>
<div class="level4">
<p>
Just declare files or Perl module that must be loaded:
</p>
<pre class="code file :ini"><span class="re0"><span class="br0">&#91;</span>all<span class="br0">&#93;</span></span>
<span class="re1">require</span> <span class="sy0">=</span><span class="re2"> /path/to/functions.pl, /path/to/func2.pm</span>
# OR
<span class="re1">require</span> <span class="sy0">=</span><span class="re2"> My::Func1, My::Func2</span></pre>
</div>
<h4 id="old_method">Old method</h4>
<div class="level4">
<div class="notewarning">This method is available but unusable by Portal under Apache. So if your rule may be used by the menu, use the new method.
</div>
</div>
<h5 id="apache">Apache</h5>
<div class="level5">
<p>
Your module has to be loaded by Apache (for example after Handler load):
</p>
@ -119,8 +138,8 @@ PerlOptions +GlobalRequest</pre>
</div>
<h4 id="fastcgi_server_nginx">FastCGI server (Nginx)</h4>
<div class="level4">
<h5 id="fastcgi_server_nginx">FastCGI server (Nginx)</h5>
<div class="level5">
<p>
You&#039;ve just to incicate to <a href="fastcgiserver.html" class="wikilink1" title="documentation:2.0:fastcgiserver">LLNG FastCGI server</a> the file to read using either <code>-f</code> option or <code>CUSTOM_FUNCTIONS_FILE</code> environment variable. Using packages, you just have to modify your <code>/etc/default/llng-fastcgi-server</code> (or <code>/etc/default/lemonldap-ng-fastcgi-server</code>) file:
@ -142,7 +161,7 @@ GROUP=www-data
CUSTOM_FUNCTIONS_FILE=/root/SSOExtensions.pm</pre>
</div>
<!-- EDIT4 SECTION "Declare module in handler server" [609-1543] -->
<!-- EDIT4 SECTION "Declare module in handler server" [609-1892] -->
<h3 class="sectionedit5" id="declare_custom_functions">Declare custom functions</h3>
<div class="level3">
@ -153,7 +172,7 @@ Go in Manager, <code>General Parameters</code> » <code>Advanced Parameters</cod
<div class="noteimportant">If your function is not compliant with <a href="safejail.html" class="wikilink1" title="documentation:2.0:safejail">Safe jail</a>, you will need to disable the jail.
</div>
</div>
<!-- EDIT5 SECTION "Declare custom functions" [1544-1840] -->
<!-- EDIT5 SECTION "Declare custom functions" [1893-2189] -->
<h2 class="sectionedit6" id="use_it">Use it</h2>
<div class="level2">
@ -163,6 +182,6 @@ You can now use your function in a macro, an header or an access rule, for examp
<pre class="code">Custom-Header =&gt; function1( $uid, $ENV{REMOTE_ADDR} )</pre>
</div>
<!-- EDIT6 SECTION "Use it" [1841-] --></div>
<!-- EDIT6 SECTION "Use it" [2190-] --></div>
</body>
</html>

View File

@ -47,6 +47,11 @@
<h1 class="sectionedit1" id="convert_http_header_into_environment_variable">Convert HTTP header into environment variable</h1>
<div class="level1">
</div>
<!-- EDIT1 SECTION "Convert HTTP header into environment variable" [1-61] -->
<h2 class="sectionedit2" id="apache">Apache</h2>
<div class="level2">
<p>
Using <abbr title="LemonLDAP::NG">LL::NG</abbr> in reverse proxy mode, you will not have the <code>REMOTE_USER</code> environment variable set. Indeed, this variable is set by the Handler on the physical server hosting the Handler, and not on other servers where the Handler is not installed.
</p>
@ -95,6 +100,17 @@ Of course, you need to <a href="passwordstore.html" class="wikilink1" title="doc
</div>
</div>
<!-- EDIT2 SECTION "Apache" [62-1756] -->
<h2 class="sectionedit3" id="nginx">Nginx</h2>
<div class="level2">
<p>
Nginx doesn&#039;t launch directly PHP pages (or other languages): it dials with FastCGI servers (like php-fpm). As you can see in examples, it&#039;s easy to map a LLNG header to a fastcgi param. Example:
</p>
<pre class="code file nginx">auth_request_set $authuser $upstream_http_auth_user;
fastcgi_param HTTP_MYVAR $authuser;</pre>
</div>
<!-- EDIT3 SECTION "Nginx" [1757-] --></div>
</body>
</html>

View File

@ -60,7 +60,7 @@
<li class="level1"><div class="li"><a href="#package_gpg_signature">Package GPG signature</a></div></li>
<li class="level1"><div class="li"><a href="#install_packages">Install packages</a></div>
<ul class="toc">
<li class="level2"><div class="li"><a href="#with_aptitude">With aptitude</a></div></li>
<li class="level2"><div class="li"><a href="#with_apt">With apt</a></div></li>
<li class="level2"><div class="li"><a href="#with_dpkg">With dpkg</a></div></li>
</ul>
</li>
@ -148,12 +148,12 @@ deb-src https://lemonldap-ng.org/deb stable main</pre>
</div>
<p>
Run this to update packages cache:
You may need to install this package to access HTTPS repositories:
</p>
<pre class="code">apt-get update</pre>
<pre class="code">apt install apt-transport-https</pre>
</div>
<!-- EDIT5 SECTION "LL::NG repository" [1000-1595] -->
<!-- EDIT5 SECTION "LL::NG repository" [1000-1644] -->
<h3 class="sectionedit6" id="manual_download">Manual download</h3>
<div class="level3">
@ -162,7 +162,7 @@ Packages are available on the <a href="download.html" class="wikilink1" title="d
</p>
</div>
<!-- EDIT6 SECTION "Manual download" [1596-1682] -->
<!-- EDIT6 SECTION "Manual download" [1645-1731] -->
<h2 class="sectionedit7" id="package_gpg_signature">Package GPG signature</h2>
<div class="level2">
@ -173,21 +173,26 @@ The GPG key can be downloaded here: <a href="rpm-gpg-key-ow2" class="media media
<p>
Install it to trust packages:
</p>
<pre class="code">apt-key add rpm-gpg-key-ow2</pre>
<pre class="code">wget -O - https://lemonldap-ng.org/_media/rpm-gpg-key-ow2 | apt-key add -</pre>
<p>
Update cache:
</p>
<pre class="code">apt update</pre>
</div>
<!-- EDIT7 SECTION "Package GPG signature" [1683-1851] -->
<!-- EDIT7 SECTION "Package GPG signature" [1732-1986] -->
<h2 class="sectionedit8" id="install_packages">Install packages</h2>
<div class="level2">
</div>
<!-- EDIT8 SECTION "Install packages" [1852-1881] -->
<h3 class="sectionedit9" id="with_aptitude">With aptitude</h3>
<!-- EDIT8 SECTION "Install packages" [1987-2016] -->
<h3 class="sectionedit9" id="with_apt">With apt</h3>
<div class="level3">
<pre class="code">aptitude install lemonldap-ng</pre>
<pre class="code">apt install lemonldap-ng</pre>
</div>
<!-- EDIT9 SECTION "With aptitude" [1882-1952] -->
<!-- EDIT9 SECTION "With apt" [2017-2077] -->
<h3 class="sectionedit10" id="with_dpkg">With dpkg</h3>
<div class="level3">
@ -201,12 +206,12 @@ Then:
<pre class="code">dpkg -i liblemonldap-ng-* lemonldap-ng*</pre>
</div>
<!-- EDIT10 SECTION "With dpkg" [1953-2101] -->
<!-- EDIT10 SECTION "With dpkg" [2078-2226] -->
<h2 class="sectionedit11" id="first_configuration_steps">First configuration steps</h2>
<div class="level2">
</div>
<!-- EDIT11 SECTION "First configuration steps" [2102-2140] -->
<!-- EDIT11 SECTION "First configuration steps" [2227-2265] -->
<h3 class="sectionedit12" id="change_default_dns_domain">Change default DNS domain</h3>
<div class="level3">
@ -216,7 +221,7 @@ By default, <abbr title="Domain Name System">DNS</abbr> domain is <code>example.
<pre class="code shell">sed -i 's/example\.com/ow2.org/g' /etc/lemonldap-ng/* /var/lib/lemonldap-ng/conf/lmConf-1.json /var/lib/lemonldap-ng/test/index.pl</pre>
</div>
<!-- EDIT12 SECTION "Change default DNS domain" [2141-2460] -->
<!-- EDIT12 SECTION "Change default DNS domain" [2266-2585] -->
<h3 class="sectionedit13" id="reload_virtual_host">Reload virtual host</h3>
<div class="level3">
@ -227,7 +232,7 @@ To allow the manager to reload the configuration, register the reload virtual ho
<div class="notetip">Adapt the reload virtual host name to the domain you configured.
</div>
</div>
<!-- EDIT13 SECTION "Reload virtual host" [2461-2762] -->
<!-- EDIT13 SECTION "Reload virtual host" [2586-2887] -->
<h3 class="sectionedit14" id="upgrade">Upgrade</h3>
<div class="level3">
@ -236,7 +241,7 @@ If you upgraded <abbr title="LemonLDAP::NG">LL::NG</abbr>, check all <a href="up
</p>
</div>
<!-- EDIT14 SECTION "Upgrade" [2763-2843] -->
<!-- EDIT14 SECTION "Upgrade" [2888-2968] -->
<h3 class="sectionedit15" id="dns">DNS</h3>
<div class="level3">
@ -252,7 +257,7 @@ Follow the <a href="start.html#configuration" class="wikilink1" title="documenta
</p>
</div>
<!-- EDIT15 SECTION "DNS" [2844-3116] -->
<!-- EDIT15 SECTION "DNS" [2969-3241] -->
<h2 class="sectionedit16" id="file_location">File location</h2>
<div class="level2">
<ul>
@ -273,7 +278,7 @@ Follow the <a href="start.html#configuration" class="wikilink1" title="documenta
</ul>
</div>
<!-- EDIT16 SECTION "File location" [3117-3653] -->
<!-- EDIT16 SECTION "File location" [3242-3778] -->
<h2 class="sectionedit17" id="build_your_packages">Build your packages</h2>
<div class="level2">
@ -285,6 +290,6 @@ cd lemonldap-ng-*
make debian-packages</pre>
</div>
<!-- EDIT17 SECTION "Build your packages" [3654-] --></div>
<!-- EDIT17 SECTION "Build your packages" [3779-] --></div>
</body>
</html>

View File

@ -48,7 +48,7 @@
<div class="level1">
<p>
Since version 2.0, a Node.js handler is available on <a href="https://github.com/LemonLDAPNG/node-lemonldap-ng-handler" class="urlextern" title="https://github.com/LemonLDAPNG/node-lemonldap-ng-handler" rel="nofollow">GitHub</a>.
Since version 2.0, an experimental Node.js handler is available on <a href="https://github.com/LemonLDAPNG/node-lemonldap-ng-handler" class="urlextern" title="https://github.com/LemonLDAPNG/node-lemonldap-ng-handler" rel="nofollow">GitHub</a>.
</p>
<p>

View File

@ -132,10 +132,16 @@ For Apache2, you can use all workers mpm-worker, mpm-prefork and mpm-event. Mpm-
</li>
<li class="level1"><div class="li"> Digest::SHA</div>
</li>
<li class="level1"><div class="li"> Email::Sender</div>
</li>
<li class="level1"><div class="li"> GD::SecurityImage</div>
</li>
<li class="level1"><div class="li"> <abbr title="HyperText Markup Language">HTML</abbr>::Template</div>
</li>
<li class="level1"><div class="li"> HTTP::Headers</div>
</li>
<li class="level1"><div class="li"> HTTP::Request</div>
</li>
<li class="level1"><div class="li"> IO::String</div>
</li>
<li class="level1"><div class="li"> JSON</div>
@ -158,18 +164,20 @@ For Apache2, you can use all workers mpm-worker, mpm-prefork and mpm-event. Mpm-
</li>
<li class="level1"><div class="li"> Regexp::Common</div>
</li>
<li class="level1"><div class="li"> SOAP::Lite</div>
<li class="level1"><div class="li"> SOAP::Lite <em>(optional)</em></div>
</li>
<li class="level1"><div class="li"> String::Random</div>
</li>
<li class="level1"><div class="li"> Unicode::String</div>
</li>
<li class="level1"><div class="li"> <abbr title="Uniform Resource Identifier">URI</abbr></div>
</li>
<li class="level1"><div class="li"> YAML</div>
<li class="level1"><div class="li"> <abbr title="Uniform Resource Identifier">URI</abbr>::Escape</div>
</li>
</ul>
</div>
<!-- EDIT4 SECTION "Core" [666-1194] -->
<!-- EDIT4 SECTION "Core" [666-1289] -->
<h3 class="sectionedit5" id="deprecated_features">Deprecated features</h3>
<div class="level3">
<ul>
@ -192,7 +200,7 @@ For Apache2, you can use all workers mpm-worker, mpm-prefork and mpm-event. Mpm-
</ul>
</div>
<!-- EDIT5 SECTION "Deprecated features" [1195-1363] -->
<!-- EDIT5 SECTION "Deprecated features" [1290-1458] -->
<h3 class="sectionedit6" id="saml2">SAML2</h3>
<div class="level3">
<ul>
@ -205,7 +213,7 @@ For Apache2, you can use all workers mpm-worker, mpm-prefork and mpm-event. Mpm-
</ul>
</div>
<!-- EDIT6 SECTION "SAML2" [1364-1449] -->
<!-- EDIT6 SECTION "SAML2" [1459-1544] -->
<h3 class="sectionedit7" id="specific_authentication_backends">Specific authentication backends</h3>
<div class="level3">
<ul>
@ -248,7 +256,7 @@ For Apache2, you can use all workers mpm-worker, mpm-prefork and mpm-event. Mpm-
</ul>
</div>
<!-- EDIT7 SECTION "Specific authentication backends" [1450-1678] -->
<!-- EDIT7 SECTION "Specific authentication backends" [1545-1773] -->
<h3 class="sectionedit8" id="smtpreset_password_by_mail">SMTP / Reset password by mail</h3>
<div class="level3">
<ul>
@ -259,7 +267,7 @@ For Apache2, you can use all workers mpm-worker, mpm-prefork and mpm-event. Mpm-
</ul>
</div>
<!-- EDIT8 SECTION "SMTP / Reset password by mail" [1679-1757] -->
<!-- EDIT8 SECTION "SMTP / Reset password by mail" [1774-1852] -->
<h3 class="sectionedit9" id="unit_tests">Unit tests</h3>
<div class="level3">
<ul>
@ -267,10 +275,12 @@ For Apache2, you can use all workers mpm-worker, mpm-prefork and mpm-event. Mpm-
</li>
<li class="level1"><div class="li"> Test::MockObject</div>
</li>
<li class="level1"><div class="li"> YAML</div>
</li>
</ul>
</div>
<!-- EDIT9 SECTION "Unit tests" [1758-1815] -->
<!-- EDIT9 SECTION "Unit tests" [1853-1919] -->
<h2 class="sectionedit10" id="other">Other</h2>
<div class="level2">
<ul>
@ -281,12 +291,12 @@ For Apache2, you can use all workers mpm-worker, mpm-prefork and mpm-event. Mpm-
</ul>
</div>
<!-- EDIT10 SECTION "Other" [1816-2032] -->
<!-- EDIT10 SECTION "Other" [1920-2136] -->
<h2 class="sectionedit11" id="install_dependencies_on_your_system">Install dependencies on your system</h2>
<div class="level2">
</div>
<!-- EDIT11 SECTION "Install dependencies on your system" [2033-2082] -->
<!-- EDIT11 SECTION "Install dependencies on your system" [2137-2186] -->
<h3 class="sectionedit12" id="apt-get">APT-GET</h3>
<div class="level3">
@ -306,7 +316,7 @@ For Nginx:
<pre class="code">apt install nginx nginx-extras</pre>
</div>
<!-- EDIT12 SECTION "APT-GET" [2083-2845] -->
<!-- EDIT12 SECTION "APT-GET" [2187-2949] -->
<h3 class="sectionedit13" id="yum">YUM</h3>
<div class="level3">
<div class="notetip">You need <a href="http://fedoraproject.org/wiki/EPEL/" class="urlextern" title="http://fedoraproject.org/wiki/EPEL/" rel="nofollow">EPEL</a> repository. See how you can activate this repository: <a href="http://fedoraproject.org/wiki/EPEL/FAQ#howtouse" class="urlextern" title="http://fedoraproject.org/wiki/EPEL/FAQ#howtouse" rel="nofollow">http://fedoraproject.org/wiki/EPEL/FAQ#howtouse</a>
@ -328,6 +338,6 @@ For Nginx:
<div class="noteimportant">As you need a recent version of Nginx, the best is to install <a href="https://www.nginx.com/resources/wiki/start/topics/tutorials/install/#official-red-hat-centos-packages" class="urlextern" title="https://www.nginx.com/resources/wiki/start/topics/tutorials/install/#official-red-hat-centos-packages" rel="nofollow">Nginx official packages</a>.
</div>
</div>
<!-- EDIT13 SECTION "YUM" [2846-] --></div>
<!-- EDIT13 SECTION "YUM" [2950-] --></div>
</body>
</html>

View File

@ -90,7 +90,7 @@
<form action="/start" accept-charset="utf-8" class="search" id="dw__search" method="get" role="search"><div class="no"><input type="hidden" name="do" value="search" /><input type="text" id="qsearch__in" accesskey="f" name="id" class="edit" title="[F]" /><input type="submit" value="Search" class="button" title="Search" /><div id="qsearch__out" class="ajax_qsearch JSpopup"></div></div></form>
<ul class="nav navbar-nav">
<li><a href="/documentation/2.0/restserverplugin?do=login&amp;sectok=d4fe5585dec923939be5e0ea38da2802" class="action login" rel="nofollow" title="Login"><i class="glyphicon glyphicon-log-in"></i> Login</a></li> </ul>
<li><a href="/documentation/2.0/restserverplugin?do=login&amp;sectok=fa0cc1a85fc0d1baf3a61bfee1cba736" class="action login" rel="nofollow" title="Login"><i class="glyphicon glyphicon-log-in"></i> Login</a></li> </ul>
</div>
@ -204,7 +204,7 @@ You&#039;ve followed a link to a topic that doesn&#039;t exist yet. If permissio
</div><!-- /site -->
<div class="no"><img src="/lib/exe/indexer.php?id=documentation%3A2.0%3Arestserverplugin&amp;1505393501" width="2" height="1" alt="" /></div>
<div class="no"><img src="/lib/exe/indexer.php?id=documentation%3A2.0%3Arestserverplugin&amp;1508842926" width="2" height="1" alt="" /></div>
<div id="screen__mode" class="no">
<span class="visible-xs"></span>
<span class="visible-sm"></span>

View File

@ -82,6 +82,7 @@
<li class="level1"><div class="li"><a href="#advanced_features">Advanced features</a></div></li>
<li class="level1"><div class="li"><a href="#mini_howtos">Mini howtos</a></div></li>
<li class="level1"><div class="li"><a href="#exploitation">Exploitation</a></div></li>
<li class="level1"><div class="li"><a href="#bug_report">Bug report</a></div></li>
<li class="level1"><div class="li"><a href="#developer_corner">Developer corner</a></div></li>
</ul>
</div>
@ -428,7 +429,7 @@ Handlers are software control agents to install on your web servers <em>(Nginx,
<td class="col0"> <a href="securetoken.html" class="wikilink1" title="documentation:2.0:securetoken">Secure Token</a> </td><td class="col1 centeralign"></td><td class="col2 centeralign"></td><td class="col3 leftalign"> </td><td class="col4"> Designed to secure dialog between a LLNG reverse-proxy and a remote app </td><td class="col5"></td>
</tr>
<tr class="row6 roweven">
<td class="col0"> <a href="servertoserver.html" class="wikilink1" title="documentation:2.0:servertoserver">Service Token</a> <em>(Server-to-Server)</em> <a href="new.png" class="media" title="documentation:2.0:new.png"><img src="new.edf565b3f89a0ad56df9a5e7a31a6de8.png" class="media" alt="" width="35" /></a> </td><td class="col1 centeralign"></td><td class="col2 centeralign"></td><td class="col3 leftalign"> </td><td class="col4"> Designed to permits underlying requests <em>(<abbr title="Application Programming Interface">API</abbr>-Based Infrastructure)</em> </td><td class="col5"></td>
<td class="col0"> <a href="servertoserver.html" class="wikilink1" title="documentation:2.0:servertoserver">Service Token</a> <a href="new.png" class="media" title="documentation:2.0:new.png"><img src="new.edf565b3f89a0ad56df9a5e7a31a6de8.png" class="media" alt="" width="35" /></a> <em>(Server-to-Server)</em> </td><td class="col1 centeralign"></td><td class="col2 centeralign"></td><td class="col3 leftalign"> </td><td class="col4"> Designed to permits underlying requests <em>(<abbr title="Application Programming Interface">API</abbr>-Based Infrastructure)</em> </td><td class="col5"></td>
</tr>
<tr class="row7 rowodd">
<td class="col0"> <a href="applications/zimbra.html" class="wikilink1" title="documentation:2.0:applications:zimbra">Zimbra PreAuth</a> </td><td class="col1 centeralign"></td><td class="col2 centeralign"></td><td class="col3 leftalign"> </td><td class="col4 leftalign"> </td>
@ -782,7 +783,16 @@ Sessions are stored using <a href="http://search.cpan.org/perldoc?Apache::Sessio
</div>
<!-- EDIT20 SECTION "Exploitation" [13962-14382] -->
<h2 class="sectionedit21" id="developer_corner">Developer corner</h2>
<h2 class="sectionedit21" id="bug_report">Bug report</h2>
<div class="level2">
<p>
See <a href="bugreport.html" class="wikilink1" title="bugreport">How to report a bug</a>.
</p>
</div>
<!-- EDIT21 SECTION "Bug report" [14383-14447] -->
<h2 class="sectionedit22" id="developer_corner">Developer corner</h2>
<div class="level2">
<p>
@ -846,6 +856,6 @@ To translate this doc (Manager help):
</ul>
</div>
<!-- EDIT21 SECTION "Developer corner" [14383-] --></div>
<!-- EDIT22 SECTION "Developer corner" [14448-] --></div>
</body>
</html>

View File

@ -4,7 +4,7 @@
<meta charset="utf-8" />
<title>documentation:2.0:upgrade</title>
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="noindex,nofollow"/>
<meta name="robots" content="index,follow"/>
<meta name="keywords" content="documentation,2.0,upgrade"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="upgrade.html"/>
@ -55,6 +55,7 @@
</ul>
</li>
<li class="level1"><div class="li"><a href="#configuration">Configuration</a></div></li>
<li class="level1"><div class="li"><a href="#kerberos_or_ssl_usage">Kerberos or SSL usage</a></div></li>
<li class="level1"><div class="li"><a href="#logs">Logs</a></div></li>
<li class="level1"><div class="li"><a href="#security">Security</a></div></li>
<li class="level1"><div class="li"><a href="#handlers">Handlers</a></div></li>
@ -111,7 +112,18 @@ To build Debian package with Wheezy, remove <code>debian/lemonldap-ng-doc.maints
</div>
</div>
<!-- EDIT4 SECTION "Configuration" [305-1090] -->
<h2 class="sectionedit5" id="logs">Logs</h2>
<h2 class="sectionedit5" id="kerberos_or_ssl_usage">Kerberos or SSL usage</h2>
<div class="level2">
<ul>
<li class="level1"><div class="li"> A new <a href="authkerberos.html" class="wikilink1" title="documentation:2.0:authkerberos">Kerberos</a> authentication backend has been added since 2.0. This module solves many Kerberos integration problems <em>(usage in conjunction with other backends, better error display,…)</em>. However, you can retain the old integration manner <em>(using <a href="authapache.html" class="wikilink1" title="documentation:2.0:authapache">Apache authentication module</a>)</em>.</div>
</li>
<li class="level1"><div class="li"> For <a href="authssl.html" class="wikilink1" title="documentation:2.0:authssl">SSL</a>, a new <a href="authssl.html#ssl_by_ajax" class="wikilink1" title="documentation:2.0:authssl">Ajax option</a> can be used in the same idea: so SSL can be used in conjunction with other backends.</div>
</li>
</ul>
</div>
<!-- EDIT5 SECTION "Kerberos or SSL usage" [1091-1599] -->
<h2 class="sectionedit6" id="logs">Logs</h2>
<div class="level2">
<ul>
<li class="level1"><div class="li"> <strong>Syslog</strong>: logs are now configured only in <code>lemonldap-ng.ini</code> file. If you use Syslog, you must reconfigure it. See <a href="logs.html" class="wikilink1" title="documentation:2.0:logs">logs</a> for more.</div>
@ -121,8 +133,8 @@ To build Debian package with Wheezy, remove <code>debian/lemonldap-ng-doc.maints
</ul>
</div>
<!-- EDIT5 SECTION "Logs" [1091-1502] -->
<h2 class="sectionedit6" id="security">Security</h2>
<!-- EDIT6 SECTION "Logs" [1600-2012] -->
<h2 class="sectionedit7" id="security">Security</h2>
<div class="level2">
<p>
@ -136,8 +148,8 @@ LLNG portal now embeds the following features:
</ul>
</div>
<!-- EDIT6 SECTION "Security" [1503-2070] -->
<h2 class="sectionedit7" id="handlers">Handlers</h2>
<!-- EDIT7 SECTION "Security" [2013-2580] -->
<h2 class="sectionedit8" id="handlers">Handlers</h2>
<div class="level2">
<ul>
<li class="level1"><div class="li"> <a href="cda.html" class="wikilink1" title="documentation:2.0:cda">CDA</a>, <a href="documentation/latest/applications/zimbra.html" class="wikilink1" title="documentation:latest:applications:zimbra">ZimbraPreAuth</a>, <a href="securetoken.html" class="wikilink1" title="documentation:2.0:securetoken">SecureToken</a> and <a href="handlerauthbasic.html" class="wikilink1" title="documentation:2.0:handlerauthbasic">AuthBasic</a> are now <a href="handlerarch.html" class="wikilink1" title="documentation:2.0:handlerarch">Handler Types</a>. So there is no more special file to load: you just have to choose “VirtualHost type” in the manager/VirtualHosts.</div>
@ -147,8 +159,8 @@ LLNG portal now embeds the following features:
</ul>
</div>
<!-- EDIT7 SECTION "Handlers" [2071-2731] -->
<h2 class="sectionedit8" id="rules_and_headers">Rules and headers</h2>
<!-- EDIT8 SECTION "Handlers" [2581-3242] -->
<h2 class="sectionedit9" id="rules_and_headers">Rules and headers</h2>
<div class="level2">
<ul>
<li class="level1"><div class="li"> hostname() and remote_ip() are no more provided to avoid some name conflicts <em>(replaced by $ENV{})</em></div>
@ -160,8 +172,8 @@ LLNG portal now embeds the following features:
</ul>
</div>
<!-- EDIT8 SECTION "Rules and headers" [2732-3050] -->
<h2 class="sectionedit9" id="supported_servers">Supported servers</h2>
<!-- EDIT9 SECTION "Rules and headers" [3243-3561] -->
<h2 class="sectionedit10" id="supported_servers">Supported servers</h2>
<div class="level2">
<ul>
<li class="level1"><div class="li"> Apache-1.3 files are not provided now. You can build them yourself by looking at Apache-2 configuration files</div>
@ -169,17 +181,17 @@ LLNG portal now embeds the following features:
</ul>
</div>
<!-- EDIT9 SECTION "Supported servers" [3051-3196] -->
<h2 class="sectionedit10" id="ajax_requests">Ajax requests</h2>
<!-- EDIT10 SECTION "Supported servers" [3562-3707] -->
<h2 class="sectionedit11" id="ajax_requests">Ajax requests</h2>
<div class="level2">
<p>
Before 2.0, an Ajax query that was launched after session timeout received a 302 code. Now a response 401 is given. The <code>WWW-Authenticate</code> header contains: <code><abbr title="Single Sign On">SSO</abbr> &lt;portal-<abbr title="Uniform Resource Locator">URL</abbr>&gt;</code>
Before 2.0, an Ajax query that was launched after session timeout received a 302 code. Now a 401 HTTP code is given in response. The <code>WWW-Authenticate</code> header contains: <code><abbr title="Single Sign On">SSO</abbr> &lt;portal-<abbr title="Uniform Resource Locator">URL</abbr>&gt;</code>
</p>
</div>
<!-- EDIT10 SECTION "Ajax requests" [3197-3403] -->
<h2 class="sectionedit11" id="soaprest_services">SOAP/REST services</h2>
<!-- EDIT11 SECTION "Ajax requests" [3708-3927] -->
<h2 class="sectionedit12" id="soaprest_services">SOAP/REST services</h2>
<div class="level2">
<ul>
<li class="level1"><div class="li"> SOAP server activation is now split in 2 parameters (configuration/sessions). You must set them else SOAP service will be disabled</div>
@ -194,13 +206,13 @@ Before 2.0, an Ajax query that was launched after session timeout received a 302
<div class="noteimportant"><a href="handlerauthbasic.html" class="wikilink1" title="documentation:2.0:handlerauthbasic">AuthBasic Handler</a> uses now REST services instead of SOAP.
</div>
</div>
<!-- EDIT11 SECTION "SOAP/REST services" [3404-4002] -->
<h2 class="sectionedit12" id="developer_corner">Developer corner</h2>
<!-- EDIT12 SECTION "SOAP/REST services" [3928-4526] -->
<h2 class="sectionedit13" id="developer_corner">Developer corner</h2>
<div class="level2">
</div>
<!-- EDIT12 SECTION "Developer corner" [4003-4032] -->
<h3 class="sectionedit13" id="apis">APIs</h3>
<!-- EDIT13 SECTION "Developer corner" [4527-4556] -->
<h3 class="sectionedit14" id="apis">APIs</h3>
<div class="level3">
<p>
@ -208,8 +220,8 @@ Portal has now many REST features and includes a plugin <abbr title="Application
</p>
</div>
<!-- EDIT13 SECTION "APIs" [4033-4190] -->
<h3 class="sectionedit14" id="portal_overview">Portal overview</h3>
<!-- EDIT14 SECTION "APIs" [4557-4714] -->
<h3 class="sectionedit15" id="portal_overview">Portal overview</h3>
<div class="level3">
<p>
@ -230,8 +242,8 @@ The request is a separated object based on Lemonldap::NG::Portal::Main::Request
</p>
</div>
<!-- EDIT14 SECTION "Portal overview" [4191-4638] -->
<h3 class="sectionedit15" id="handler">Handler</h3>
<!-- EDIT15 SECTION "Portal overview" [4715-5162] -->
<h3 class="sectionedit16" id="handler">Handler</h3>
<div class="level3">
<p>
@ -243,6 +255,6 @@ If you had auto protected CGI, you also need to rewrite them, see <a href="selfm
</p>
</div>
<!-- EDIT15 SECTION "Handler" [4639-] --></div>
<!-- EDIT16 SECTION "Handler" [5163-] --></div>
</body>
</html>

View File

@ -4,7 +4,7 @@
<meta charset="utf-8" />
<title>documentation:2.0:writingrulesand_headers</title>
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="index,follow"/>
<meta name="robots" content="noindex,nofollow"/>
<meta name="keywords" content="documentation,2.0,writingrulesand_headers"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="writingrulesand_headers.html"/>
@ -57,6 +57,7 @@
</li>
<li class="level1"><div class="li"><a href="#headers">Headers</a></div></li>
<li class="level1"><div class="li"><a href="#available_functions">Available functions</a></div></li>
<li class="level1"><div class="li"><a href="#wildcards_in_hostnames">Wildcards in hostnames</a></div></li>
</ul>
</div>
</div>
@ -272,6 +273,29 @@ In addition to macros and name, you can use some functions in rules and headers:
</ul>
</div>
<!-- EDIT9 SECTION "Available functions" [5743-] --></div>
<!-- EDIT9 SECTION "Available functions" [5743-5953] -->
<h2 class="sectionedit10" id="wildcards_in_hostnames">Wildcards in hostnames</h2>
<div class="level2">
<p>
<a href="new.png" class="media" title="documentation:2.0:new.png"><img src="new.edf565b3f89a0ad56df9a5e7a31a6de8.png" class="media" alt="" width="35" /></a> Since 2.0, a wildcard can be used in virtualhost name (not in aliases !): <code>*.example.com</code> matches all hostnames that belong to <code>example.com</code> domain.
</p>
<p>
Even if a wildcard exists, if a virtualhost is explicitly declared, this rule is applied. Example with precedence order:
</p>
<ol>
<li class="level1"><div class="li"> test.sub.example.com</div>
</li>
<li class="level1"><div class="li"> *.sub.example.com</div>
</li>
<li class="level1"><div class="li"> test.example.com</div>
</li>
<li class="level1"><div class="li"> *.example.com</div>
</li>
</ol>
</div>
<!-- EDIT10 SECTION "Wildcards in hostnames" [5954-] --></div>
</body>
</html>

View File

@ -1136,14 +1136,6 @@ chown www-data:www-data /var/lib/lemonldap-ng/sessions /var/lib/lemonldap-ng/ses
<seg>dbiUser</seg>
</tuv>
</tu>
<tu>
<tuv lang="EN-US">
<seg>apt-get update</seg>
</tuv>
<tuv lang="FR-FR" changedate="20120303T093609Z" changeid="xavier">
<seg>apt-get update</seg>
</tuv>
</tu>
<tu>
<tuv lang="EN-US">
<seg>Display: As Google Apps is not a protected application, set to On to always display it</seg>
@ -8266,14 +8258,6 @@ else {</seg>
<seg>chacune a 2 portails:</seg>
</tuv>
</tu>
<tu>
<tuv lang="EN-US">
<seg>aptitude install lemonldap-ng</seg>
</tuv>
<tuv lang="FR-FR" changedate="20120324T155910Z" changeid="xavier">
<seg>aptitude install lemonldap-ng</seg>
</tuv>
</tu>
<tu>
<tuv lang="EN-US">
<seg>Protected URLs: Regexp of URLs for which the secure token will be sent, separated by spaces</seg>
@ -20402,14 +20386,6 @@ $lemonldap_config = Array(</seg>
<seg>Domaines autorisés : liste blanche ou noire des domaines clients OpenID (voir ci-dessous).</seg>
</tuv>
</tu>
<tu>
<tuv lang="EN-US">
<seg>With aptitude</seg>
</tuv>
<tuv lang="FR-FR" changedate="20120324T155908Z" changeid="xavier">
<seg>Avec aptitude</seg>
</tuv>
</tu>
<tu>
<tuv lang="EN-US">
<seg>documentation:1.0:ldapconfbackend</seg>
@ -22340,14 +22316,6 @@ globalStorageOptions = { 'Directory' =&gt; '/var/lib/lemonldap-ng/sessions/', 'L
<seg>Active Directory</seg>
</tuv>
</tu>
<tu>
<tuv lang="EN-US">
<seg>An apache virtual host protected by LemonLDAP::NG Handler must be registered in LemonLDAP::NG configuration.</seg>
</tuv>
<tuv lang="FR-FR" changedate="20120225T073356Z" changeid="xavier">
<seg>Un hôte virtuel apache protégé par un agent LemonLDAP::NG doit être enregistré dans la configuration LemonLDAP::NG.</seg>
</tuv>
</tu>
<tu>
<tuv lang="EN-US">
<seg>Cache backend options</seg>
@ -28508,14 +28476,6 @@ chown www-data /usr/local/lemonldap-ng/notifications/</seg>
<seg>Donne l'uid (pour la traçabilité)</seg>
</tuv>
</tu>
<tu>
<tuv lang="EN-US">
<seg>apt-key add rpm-gpg-key-ow2</seg>
</tuv>
<tuv lang="FR-FR" changedate="20120620T042138Z" changeid="xavier">
<seg>apt-key add rpm-gpg-key-ow2</seg>
</tuv>
</tu>
<tu>
<tuv lang="EN-US">
<seg>Example</seg>

View File

@ -1136,14 +1136,6 @@ chown www-data:www-data /var/lib/lemonldap-ng/sessions /var/lib/lemonldap-ng/ses
<seg>dbiUser</seg>
</tuv>
</tu>
<tu>
<tuv xml:lang="EN-US">
<seg>apt-get update</seg>
</tuv>
<tuv xml:lang="FR-FR" changedate="20120303T093609Z" changeid="xavier">
<seg>apt-get update</seg>
</tuv>
</tu>
<tu>
<tuv xml:lang="EN-US">
<seg><bpt i='0' x='0'>&lt;s0&gt;</bpt>Display<ept i='0'>&lt;/s0&gt;</ept>: As Google Apps is not a protected application, set to <bpt i='1' x='1'>&lt;c1&gt;</bpt>On<ept i='1'>&lt;/c1&gt;</ept> to always display it</seg>
@ -8266,14 +8258,6 @@ DataSource -&gt; dbi:mysql:sessions;host=...</seg>
<seg>chacune a 2 portails:</seg>
</tuv>
</tu>
<tu>
<tuv xml:lang="EN-US">
<seg>aptitude install lemonldap-ng</seg>
</tuv>
<tuv xml:lang="FR-FR" changedate="20120324T155910Z" changeid="xavier">
<seg>aptitude install lemonldap-ng</seg>
</tuv>
</tu>
<tu>
<tuv xml:lang="EN-US">
<seg><bpt i='0' x='0'>&lt;s0&gt;</bpt>Protected URLs<ept i='0'>&lt;/s0&gt;</ept>: Regexp of URLs for which the secure token will be sent, separated by spaces</seg>
@ -20402,14 +20386,6 @@ a2ensite test-apache2.conf</seg>
<seg><bpt i='0' x='0'>&lt;s0&gt;</bpt>Domaines autorisés<ept i='0'>&lt;/s0&gt;</ept> : liste blanche ou noire des domaines clients OpenID (<bpt i='1' x='1'>&lt;s1&gt;</bpt><bpt i='2' x='2'>&lt;a2&gt;</bpt>voir ci-dessous<ept i='2'>&lt;/a2&gt;</ept><ept i='1'>&lt;/s1&gt;</ept>).</seg>
</tuv>
</tu>
<tu>
<tuv xml:lang="EN-US">
<seg>With aptitude</seg>
</tuv>
<tuv xml:lang="FR-FR" changedate="20120324T155908Z" changeid="xavier">
<seg>Avec aptitude</seg>
</tuv>
</tu>
<tu>
<tuv xml:lang="EN-US">
<seg>documentation:1.0:ldapconfbackend</seg>
@ -22340,14 +22316,6 @@ a2ensite test-apache2.conf</seg>
<seg>Active Directory</seg>
</tuv>
</tu>
<tu>
<tuv xml:lang="EN-US">
<seg>An apache virtual host protected by LemonLDAP::NG Handler must be registered in LemonLDAP::NG configuration.</seg>
</tuv>
<tuv xml:lang="FR-FR" changedate="20120225T073356Z" changeid="xavier">
<seg>Un hôte virtuel apache protégé par un agent LemonLDAP::NG doit être enregistré dans la configuration LemonLDAP::NG.</seg>
</tuv>
</tu>
<tu>
<tuv xml:lang="EN-US">
<seg>Cache backend options</seg>
@ -28508,14 +28476,6 @@ chown www-data /usr/local/lemonldap-ng/notifications/</seg>
<seg>Donne l'uid (pour la traçabilité)</seg>
</tuv>
</tu>
<tu>
<tuv xml:lang="EN-US">
<seg>apt-key add rpm-gpg-key-ow2</seg>
</tuv>
<tuv xml:lang="FR-FR" changedate="20120620T042138Z" changeid="xavier">
<seg>apt-key add rpm-gpg-key-ow2</seg>
</tuv>
</tu>
<tu>
<tuv xml:lang="EN-US">
<seg>Example</seg>

View File

@ -1136,14 +1136,6 @@ chown www-data:www-data /var/lib/lemonldap-ng/sessions /var/lib/lemonldap-ng/ses
<seg>dbiUser</seg>
</tuv>
</tu>
<tu>
<tuv lang="EN-US">
<seg>apt-get update</seg>
</tuv>
<tuv lang="FR-FR" changedate="20120303T093609Z" changeid="xavier">
<seg>apt-get update</seg>
</tuv>
</tu>
<tu>
<tuv lang="EN-US">
<seg>&lt;s0&gt;Display&lt;/s0&gt;: As Google Apps is not a protected application, set to &lt;c1&gt;On&lt;/c1&gt; to always display it</seg>
@ -8266,14 +8258,6 @@ DataSource -&gt; dbi:mysql:sessions;host=...</seg>
<seg>chacune a 2 portails:</seg>
</tuv>
</tu>
<tu>
<tuv lang="EN-US">
<seg>aptitude install lemonldap-ng</seg>
</tuv>
<tuv lang="FR-FR" changedate="20120324T155910Z" changeid="xavier">
<seg>aptitude install lemonldap-ng</seg>
</tuv>
</tu>
<tu>
<tuv lang="EN-US">
<seg>&lt;s0&gt;Protected URLs&lt;/s0&gt;: Regexp of URLs for which the secure token will be sent, separated by spaces</seg>
@ -20402,14 +20386,6 @@ a2ensite test-apache2.conf</seg>
<seg>&lt;s0&gt;Domaines autorisés&lt;/s0&gt; : liste blanche ou noire des domaines clients OpenID (&lt;s1&gt;&lt;a2&gt;voir ci-dessous&lt;/a2&gt;&lt;/s1&gt;).</seg>
</tuv>
</tu>
<tu>
<tuv lang="EN-US">
<seg>With aptitude</seg>
</tuv>
<tuv lang="FR-FR" changedate="20120324T155908Z" changeid="xavier">
<seg>Avec aptitude</seg>
</tuv>
</tu>
<tu>
<tuv lang="EN-US">
<seg>documentation:1.0:ldapconfbackend</seg>
@ -22340,14 +22316,6 @@ a2ensite test-apache2.conf</seg>
<seg>Active Directory</seg>
</tuv>
</tu>
<tu>
<tuv lang="EN-US">
<seg>An apache virtual host protected by LemonLDAP::NG Handler must be registered in LemonLDAP::NG configuration.</seg>
</tuv>
<tuv lang="FR-FR" changedate="20120225T073356Z" changeid="xavier">
<seg>Un hôte virtuel apache protégé par un agent LemonLDAP::NG doit être enregistré dans la configuration LemonLDAP::NG.</seg>
</tuv>
</tu>
<tu>
<tuv lang="EN-US">
<seg>Cache backend options</seg>
@ -28508,14 +28476,6 @@ chown www-data /usr/local/lemonldap-ng/notifications/</seg>
<seg>Donne l'uid (pour la traçabilité)</seg>
</tuv>
</tu>
<tu>
<tuv lang="EN-US">
<seg>apt-key add rpm-gpg-key-ow2</seg>
</tuv>
<tuv lang="FR-FR" changedate="20120620T042138Z" changeid="xavier">
<seg>apt-key add rpm-gpg-key-ow2</seg>
</tuv>
</tu>
<tu>
<tuv lang="EN-US">
<seg>Example</seg>

View File

@ -1,11 +1,11 @@
14/09/17 14:54
24/10/17 13:02
Données du projet
Segments Mots Caractères (sans espaces) Caractères (avec espaces)
Total : 16090 70293 488864 533659
Restants : 8509 32093 255745 271418
Segments uniques : 7783 50890 327691 367089
Segments uniques restants : 3911 21144 155165 169286
Total : 16149 70628 490916 535965
Restants : 8573 32459 257983 273935
Segments uniques : 7825 51192 329450 369099
Segments uniques restants : 3958 21472 157096 171487
Statistiques par fichiers :
@ -63,7 +63,7 @@ pages/documentation/current/authad.html
pages/documentation/current/authapache.html 85 32 42 19 378 88 291 59 2607 730 1855 477 2839 760 2075 505
pages/documentation/current/authcas.html 76 25 33 17 372 145 265 123 2422 910 1486 712 2682 1007 1704 809
pages/documentation/current/authchoice.html 55 13 30 5 252 37 210 17 1588 316 1228 146 1767 323 1401 153
pages/documentation/current/authcombination.html 183 136 119 108 984 837 850 775 5746 4769 4626 4227 6519 5443 5350 4888
pages/documentation/current/authcombination.html 187 140 123 112 1019 872 885 810 5963 4986 4843 4444 6768 5692 5599 5137
pages/documentation/current/authcustom.html 26 16 10 10 107 99 83 83 689 619 490 490 756 686 557 557
pages/documentation/current/authdbi.html 179 49 107 38 739 289 618 253 4728 1835 3733 1562 5229 2045 4208 1760
pages/documentation/current/authdemo.html 50 12 22 4 186 39 141 19 1165 304 803 130 1277 314 911 140
@ -94,9 +94,9 @@ pages/documentation/current/cda.html
pages/documentation/current/changeconfbackend.html 48 21 32 14 170 45 135 26 1234 484 1011 333 1323 486 1094 333
pages/documentation/current/configapache.html 34 19 25 13 194 65 173 49 1284 470 1125 339 1390 501 1231 370
pages/documentation/current/configlocation.html 456 253 334 175 2318 915 2025 754 16255 7892 13863 6344 18069 8480 15516 6854
pages/documentation/current/confignginx.html 46 32 24 17 261 194 205 149 1930 1531 1531 1196 2056 1613 1642 1263
pages/documentation/current/configvhost.html 247 145 107 60 985 409 603 205 7882 4432 4296 2120 8583 4650 4732 2218
pages/documentation/current/customfunctions.html 65 33 39 18 319 99 253 63 2366 973 1822 607 2568 1012 2006 644
pages/documentation/current/confignginx.html 46 32 24 17 260 193 204 148 1923 1524 1524 1189 2048 1605 1634 1255
pages/documentation/current/configvhost.html 248 147 108 62 1000 440 618 236 7971 4616 4385 2304 8686 4861 4835 2429
pages/documentation/current/customfunctions.html 71 41 46 25 372 156 307 117 2599 1232 2070 855 2841 1313 2294 932
pages/documentation/current/customhandlers.html 58 54 42 42 430 419 380 380 2693 2586 2349 2349 2980 2873 2619 2619
pages/documentation/current/devopshandler.html 76 70 39 39 325 305 242 242 2255 2132 1480 1480 2467 2328 1650 1650
pages/documentation/current/docker.html 33 19 19 10 166 80 131 53 1243 711 927 468 1319 733 1003 490
@ -133,7 +133,7 @@ pages/documentation/current/filesessionbackend.html
pages/documentation/current/formreplay.html 78 21 45 10 594 50 512 23 3225 510 2569 260 3704 517 3019 267
pages/documentation/current/handlerarch.html 46 41 31 29 149 137 119 111 1041 929 797 712 1112 1000 868 783
pages/documentation/current/handlerauthbasic.html 64 42 24 18 314 210 230 154 2222 1554 1359 965 2474 1719 1576 1112
pages/documentation/current/header_remote_user_conversion.html 41 23 20 8 233 72 182 36 1755 807 1217 381 1910 836 1364 402
pages/documentation/current/header_remote_user_conversion.html 47 27 23 11 275 112 221 75 2012 1050 1455 619 2202 1114 1637 675
pages/documentation/current/highavailability.html 27 13 15 7 135 35 105 19 1057 444 777 309 1129 444 849 309
pages/documentation/current/icons/access.png_documentation_2.0_start.html 38 34 9 8 87 81 26 24 659 626 219 203 668 635 225 209
pages/documentation/current/icons/colors.png_documentation_2.0_start.html 38 34 5 4 86 80 12 10 659 626 143 127 668 635 144 128
@ -149,8 +149,8 @@ pages/documentation/current/idpcas.html
pages/documentation/current/idpopenid.html 97 32 43 6 518 88 357 28 3290 774 2014 206 3613 791 2298 221
pages/documentation/current/idpopenidconnect.html 241 136 122 79 787 261 562 167 5527 2640 3817 1731 6028 2740 4254 1828
pages/documentation/current/idpsaml.html 167 64 44 11 875 237 477 118 5927 2190 2875 938 6494 2247 3246 993
pages/documentation/current/installdeb.html 133 39 96 30 579 138 491 113 3907 1094 3283 902 4270 1154 3617 960
pages/documentation/current/installrpm.html 143 41 55 12 676 166 346 84 4535 1318 2390 612 4962 1360 2626 636
pages/documentation/current/installdeb.html 135 47 98 37 594 171 506 144 3992 1297 3373 1098 4368 1382 3720 1180
pages/documentation/current/installrpm.html 143 41 56 12 676 166 352 84 4535 1318 2419 612 4962 1360 2660 636
pages/documentation/current/installsles.html 177 88 65 57 1171 676 718 611 8827 5662 5678 5031 9780 6230 6321 5583
pages/documentation/current/installtarball.html 115 29 79 13 588 92 495 50 3848 855 3200 507 4228 869 3549 519
pages/documentation/current/issuerdbget.html 51 37 25 25 327 273 236 236 2061 1753 1429 1429 2282 1937 1613 1613
@ -170,7 +170,7 @@ pages/documentation/current/mongodbsessionbackend.html
pages/documentation/current/monitoring.html 23 20 13 13 94 88 69 69 649 612 448 448 697 658 494 494
pages/documentation/current/mrtg.html 19 11 8 3 174 27 148 7 1450 211 1254 57 1544 211 1348 57
pages/documentation/current/mysqlminihowto.html 34 19 13 6 131 44 73 13 1029 526 525 179 1089 526 569 179
pages/documentation/current/nodehandler.html 16 14 7 7 51 48 28 28 429 414 228 228 443 428 242 242
pages/documentation/current/nodehandler.html 16 14 7 7 52 49 29 29 442 427 241 241 457 442 256 256
pages/documentation/current/nosqlsessionbackend.html 37 11 8 1 163 27 63 3 1223 295 419 37 1291 295 463 37
pages/documentation/current/notifications.html 190 69 131 50 1396 389 1249 343 8638 2661 7453 2226 9674 2909 8433 2465
pages/documentation/current/openidconnectclaims.html 80 45 4 4 102 61 10 10 813 577 117 117 820 579 119 119
@ -182,7 +182,7 @@ pages/documentation/current/portal.html
pages/documentation/current/portalcustom.html 138 70 99 55 980 503 888 470 5385 2874 4681 2585 6196 3269 5454 2976
pages/documentation/current/portalmenu.html 50 16 32 6 294 81 254 57 1855 589 1503 372 2069 636 1714 419
pages/documentation/current/portalservers.html 44 34 19 19 145 133 96 96 1025 926 619 619 1106 1007 690 690
pages/documentation/current/prereq.html 142 87 102 70 489 323 394 278 3765 2732 3072 2362 4010 2901 3291 2523
pages/documentation/current/prereq.html 148 91 105 73 503 332 401 285 3864 2792 3119 2409 4112 2962 3339 2571
pages/documentation/current/public_pages.html 38 33 21 21 196 187 138 138 1316 1254 874 874 1393 1329 949 949
pages/documentation/current/rbac.html 87 56 55 41 472 336 386 294 2881 2006 2250 1723 3195 2225 2532 1931
pages/documentation/current/redirections.html 49 20 30 12 476 213 426 193 2837 1376 2457 1200 3229 1530 2831 1354
@ -207,10 +207,10 @@ pages/documentation/current/soapsessionbackend.html
pages/documentation/current/sqlconfbackend.html 69 32 44 20 319 122 258 92 2082 915 1574 639 2299 976 1776 695
pages/documentation/current/sqlsessionbackend.html 136 44 65 24 601 197 392 137 4037 1290 2385 801 4368 1415 2663 907
pages/documentation/current/ssocookie.html 60 17 32 4 436 67 364 36 2393 502 1871 238 2740 530 2195 266
pages/documentation/current/start.html 813 506 180 123 1914 1330 834 542 16768 12768 5704 3943 17454 13102 6246 4257
pages/documentation/current/start.html 819 512 185 128 1927 1343 845 553 16839 12839 5766 4005 17533 13181 6315 4326
pages/documentation/current/status.html 62 21 30 7 312 71 248 41 2008 539 1486 300 2182 565 1654 324
pages/documentation/current/u2f.html 55 47 29 29 352 337 291 291 2186 2063 1680 1680 2441 2312 1925 1925
pages/documentation/current/upgrade.html 152 134 74 74 779 745 603 603 5052 4768 3425 3425 5603 5310 3933 3933
pages/documentation/current/upgrade.html 167 149 81 81 869 835 674 674 5622 5338 3825 3825 6239 5946 4396 4396
pages/documentation/current/variables.html 174 53 97 32 524 136 402 91 3315 1013 2342 612 3640 1072 2642 667
pages/documentation/current/writingrulesand_headers.html 170 92 90 44 858 500 692 394 5591 3470 4015 2333 6200 3817 4594 2672
pages/documentation/current/writingrulesand_headers.html 183 105 99 53 916 558 741 443 6016 3895 4348 2666 6668 4285 4968 3046
pages/documentation/current/yamlconfbackend.html 18 14 4 4 76 51 27 27 570 431 191 191 609 450 210 210

View File

@ -90,7 +90,7 @@
<form action="/start" accept-charset="utf-8" class="search" id="dw__search" method="get" role="search"><div class="no"><input type="hidden" name="do" value="search" /><input type="text" id="qsearch__in" accesskey="f" name="id" class="edit" title="[F]" /><input type="submit" value="Search" class="button" title="Search" /><div id="qsearch__out" class="ajax_qsearch JSpopup"></div></div></form>
<ul class="nav navbar-nav">
<li><a href="/documentation/2.0/applications/img/icons.png?do=login&amp;sectok=d4fe5585dec923939be5e0ea38da2802" class="action login" rel="nofollow" title="Login"><i class="glyphicon glyphicon-log-in"></i> Login</a></li> </ul>
<li><a href="/documentation/2.0/applications/img/icons.png?do=login&amp;sectok=fa0cc1a85fc0d1baf3a61bfee1cba736" class="action login" rel="nofollow" title="Login"><i class="glyphicon glyphicon-log-in"></i> Login</a></li> </ul>
</div>
@ -204,7 +204,7 @@ You&#039;ve followed a link to a topic that doesn&#039;t exist yet. If permissio
</div><!-- /site -->
<div class="no"><img src="/lib/exe/indexer.php?id=documentation%3A2.0%3Aapplications%3Aimg%3Aicons.png&amp;1505393484" width="2" height="1" alt="" /></div>
<div class="no"><img src="/lib/exe/indexer.php?id=documentation%3A2.0%3Aapplications%3Aimg%3Aicons.png&amp;1508842909" width="2" height="1" alt="" /></div>
<div id="screen__mode" class="no">
<span class="visible-xs"></span>
<span class="visible-sm"></span>

View File

@ -90,7 +90,7 @@
<form action="/start" accept-charset="utf-8" class="search" id="dw__search" method="get" role="search"><div class="no"><input type="hidden" name="do" value="search" /><input type="text" id="qsearch__in" accesskey="f" name="id" class="edit" title="[F]" /><input type="submit" value="Search" class="button" title="Search" /><div id="qsearch__out" class="ajax_qsearch JSpopup"></div></div></form>
<ul class="nav navbar-nav">
<li><a href="/documentation/2.0/applications/img/loader.gif?do=login&amp;sectok=d4fe5585dec923939be5e0ea38da2802" class="action login" rel="nofollow" title="Login"><i class="glyphicon glyphicon-log-in"></i> Login</a></li> </ul>
<li><a href="/documentation/2.0/applications/img/loader.gif?do=login&amp;sectok=fa0cc1a85fc0d1baf3a61bfee1cba736" class="action login" rel="nofollow" title="Login"><i class="glyphicon glyphicon-log-in"></i> Login</a></li> </ul>
</div>
@ -204,7 +204,7 @@ You&#039;ve followed a link to a topic that doesn&#039;t exist yet. If permissio
</div><!-- /site -->
<div class="no"><img src="/lib/exe/indexer.php?id=documentation%3A2.0%3Aapplications%3Aimg%3Aloader.gif&amp;1505393484" width="2" height="1" alt="" /></div>
<div class="no"><img src="/lib/exe/indexer.php?id=documentation%3A2.0%3Aapplications%3Aimg%3Aloader.gif&amp;1508842909" width="2" height="1" alt="" /></div>
<div id="screen__mode" class="no">
<span class="visible-xs"></span>
<span class="visible-sm"></span>

View File

@ -142,6 +142,8 @@ Each module that will be used in combination rule must be declared. You must set
</li>
</ul>
</li>
<li class="level1"><div class="li"> overwritten parameters: you can redefine any LLNG string parameter. For example, if you use 2 different LDAP, the first can use normal configuration and for the second, overwritten parameter can redefine ldapServer,…</div>
</li>
</ul>
<p>
@ -150,16 +152,16 @@ Par exemple :
<div class="table sectionedit6"><table class="inline table table-bordered table-striped">
<thead>
<tr class="row0 roweven">
<th class="col0"> Nom </th><th class="col1"> Type </th><th class="col2"> Scope </th>
<th class="col0"> Nom </th><th class="col1"> Type </th><th class="col2"> Scope </th><th class="col3"> Parameters </th>
</tr>
</thead>
<tr class="row1 rowodd">
<td class="col0"> DB1 </td><td class="col1"> <abbr title="Database Interface">DBI</abbr> </td><td class="col2"> Auth only </td>
<td class="col0"> DB1 </td><td class="col1"> <abbr title="Database Interface">DBI</abbr> </td><td class="col2"> Auth only </td><td class="col3"> </td>
</tr>
<tr class="row2 roweven">
<td class="col0"> DB2 </td><td class="col1"> <abbr title="Database Interface">DBI</abbr> </td><td class="col2"> User DB only </td>
<td class="col0"> DB2 </td><td class="col1"> <abbr title="Database Interface">DBI</abbr> </td><td class="col2"> User DB only </td><td class="col3"> dbiAuthChain ⇒ “mysql:…” </td>
</tr>
</table></div><!-- EDIT6 TABLE [811-889] -->
</table></div><!-- EDIT6 TABLE [1034-1157] -->
<p>
@ -167,7 +169,7 @@ Usually, you can't declare two modules of the same type if they don't have the s
</p>
</div><!-- EDIT5 SECTION "Modules declaration" [516-1303] -->
</div><!-- EDIT5 SECTION "Modules declaration" [516-1571] -->
<h3 class="sectionedit7" id="rule_chain">Rule chain</h3>
<div class="level3">
@ -220,7 +222,7 @@ Remember that schemes in rules are the names declared above.
<tr class="row4 roweven">
<td class="col0 leftalign"> <code>[mySSL and myLDAP, myLDAP ]</code> </td><td class="col1"> Use mySSL and myLDAP to authentify, myLDAP to get user </td>
</tr>
</table></div><!-- EDIT8 TABLE [1757-2188] -->
</table></div><!-- EDIT8 TABLE [2025-2456] -->
<div class="noteimportant">Note that “or” can't be used inside a scheme.
If you think to “[mySSL or myLDAP, myLDAP]”, you must write <code>[mySSL, myLDAP] or [myLDAP, myLDAP]</code>
@ -236,7 +238,7 @@ If you think to “[mySSL or myLDAP, myLDAP]”, you must write <code>[mySSL, my
<tr class="row2 roweven">
<td class="col0"> <code>[myDBI1] and [myDBI2] or [myLDAP] and [myDBI2]</code> </td><td class="col1"> Try myDBI1 and myDBI2, if it fails, try myLDAP and myDBI2 </td>
</tr>
</table></div><!-- EDIT9 TABLE [2361-2605] -->
</table></div><!-- EDIT9 TABLE [2629-2873] -->
<div class="noteimportant">You can't use brackets in a boolean expression and “and” has precedence on “or”.
<p>
@ -267,7 +269,7 @@ Test can use only the <code>$env</code> variable. It contains the FastCGI enviro
<tr class="row2 roweven">
<td class="col0"> <code>if($env→{REMOTE_ADDR} =~ /^10\./) then [myLDAP] else if($env→{REMOTE_ADDR} =~ /^192/) then [myDBI1] else [myDBI2]</code> </td><td class="col1"> Chain tests </td>
</tr>
</table></div><!-- EDIT10 TABLE [2941-3263] -->
</table></div><!-- EDIT10 TABLE [3209-3531] -->
<div class="noteimportant">Note that brackets can't be used except to enclose test.
<p>
@ -291,7 +293,7 @@ The following rule is valid:
<code>if($env→{REMOTE_ADDR} =~ /^192\./) then [mySSL, myLDAP] or [myLDAP] else [myLDAP and myDBI, myLDAP]</code>
</p>
</div><!-- EDIT7 SECTION "Rule chain" [1304-3610] -->
</div><!-- EDIT7 SECTION "Rule chain" [1572-3878] -->
<h3 class="sectionedit11" id="combine_second_factor">Combine second factor</h3>
<div class="level3">
@ -320,7 +322,7 @@ Now if you want to authenticate users either by LDAP or LDAP+U2F <em>(to have 2
</li>
</ul>
</div><!-- EDIT11 SECTION "Combine second factor" [3611-4260] -->
</div><!-- EDIT11 SECTION "Combine second factor" [3879-4528] -->
<h3 class="sectionedit12" id="display_multiple_forms">Display multiple forms</h3>
<div class="level3">
@ -331,12 +333,12 @@ Combination module returns the form corresponding to the first authentication sc
<pre class="code :ini"><span class="re0"><span class="br0">[</span>portal<span class="br0">]</span></span>
<span class="re1">combinationForms</span> <span class="sy0">=</span><span class="re2"> standardform, openidform</span></pre>
</div><!-- EDIT12 SECTION "Display multiple forms" [4261-4589] -->
</div><!-- EDIT12 SECTION "Display multiple forms" [4529-4857] -->
<h2 class="sectionedit13" id="known_problems">Problèmes connus</h2>
<div class="level2">
</div><!-- EDIT13 SECTION "Known problems" [4590-4617] -->
</div><!-- EDIT13 SECTION "Known problems" [4858-4885] -->
<h3 class="sectionedit14" id="federation_protocols">Federation protocols</h3>
<div class="level3">
@ -357,9 +359,9 @@ Combination module returns the form corresponding to the first authentication sc
<tr class="row2 roweven">
<td class="col0"> <em><code>[<abbr title="Security Assertion Markup Language">SAML</abbr>] and [LDAP] or [LDAP]</code></em> </td><td class="col1"> <code>[<abbr title="Security Assertion Markup Language">SAML</abbr>, <abbr title="Security Assertion Markup Language">SAML</abbr> and LDAP] or [LDAP]</code> </td><td class="col2"> Authentication is done by <abbr title="Security Assertion Markup Language">SAML</abbr> or LDAP but user must match an LDAP entry </td>
</tr>
</table></div><!-- EDIT15 TABLE [4917-5249] -->
</table></div><!-- EDIT15 TABLE [5185-5517] -->
</div><!-- EDIT14 SECTION "Federation protocols" [4618-5250] -->
</div><!-- EDIT14 SECTION "Federation protocols" [4886-5518] -->
<h3 class="sectionedit16" id="authapache_authentication">Auth::Apache authentication</h3>
<div class="level3">
@ -379,7 +381,7 @@ Example: <code>[ Apache and LDAP, LDAP ]</code>
Pour outrepasser ceci, suivre la documentation du <a href="authapache.html" class="wikilink1" title="documentation:2.0:authapache">module AuthApache</a>
</p>
</div><!-- EDIT16 SECTION "Auth::Apache authentication" [5251-5862] -->
</div><!-- EDIT16 SECTION "Auth::Apache authentication" [5519-6130] -->
<h3 class="sectionedit17" id="ssl_authentication">Authentification SSL</h3>
<div class="level3">
@ -388,7 +390,7 @@ Pour outrepasser ceci, suivre la documentation du <a href="authapache.html" clas
Pour chaîner SSL, il est nécessaire de mettre “SSLRequire optional” dans le fichier de configuration Apache, sinon les utilisateurs ne seront authentifiés que par SSL.
</p>
</div><!-- EDIT17 SECTION "SSL authentication" [5863-] -->
</div><!-- EDIT17 SECTION "SSL authentication" [6131-] -->
</div>
</body>
</html>

View File

@ -11,7 +11,7 @@
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.min.css" />
//else --><!-- //endif -->
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="noindex,nofollow"/>
<meta name="robots" content="index,follow"/>
<meta name="keywords" content="documentation,2.0,configlocation"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="configlocation.html"/>

View File

@ -76,11 +76,11 @@
<p>
To use Nginx, you must install LemonLDAP::NG FastCGI server, which is not installed by default lemonldap-ng metapackage.
To use Nginx, you must install LemonLDAP::NG FastCGI server, which is not installed by lemonldap-ng metapackage.
</p>
</div><!-- EDIT2 SECTION "FastCGI server" [43-192] -->
</div><!-- EDIT2 SECTION "FastCGI server" [43-184] -->
<h3 class="sectionedit3" id="debianubuntu">Debian/Ubuntu</h3>
<div class="level3">
@ -94,7 +94,7 @@ Enable and start the service :
<pre class="code">systemctl enable llng-fastcgi-server
systemctl start llng-fastcgi-server</pre>
</div><!-- EDIT3 SECTION "Debian/Ubuntu" [193-393] -->
</div><!-- EDIT3 SECTION "Debian/Ubuntu" [185-385] -->
<h3 class="sectionedit4" id="red_hatcentos">Red Hat/CentOS</h3>
<div class="level3">
@ -108,7 +108,7 @@ Enable and start the service :
<pre class="code">systemctl enable llng-fastcgi-server
systemctl start llng-fastcgi-server</pre>
</div><!-- EDIT4 SECTION "Red Hat/CentOS" [394-595] -->
</div><!-- EDIT4 SECTION "Red Hat/CentOS" [386-587] -->
<h2 class="sectionedit5" id="files">Fichiers</h2>
<div class="level2">
@ -121,7 +121,7 @@ Depuis une installation par les sources, les fichiers de configuration de Nginx
Il faut les inclure dans la configuration de Nginx, par exemple :
</p>
</div><!-- EDIT5 SECTION "Files" [596-818] -->
</div><!-- EDIT5 SECTION "Files" [588-810] -->
<h3 class="sectionedit6" id="debianubuntu1">Debian/Ubuntu</h3>
<div class="level3">
@ -142,7 +142,7 @@ ln -s /etc/nginx/sites-available/manager-nginx.conf /etc/nginx/sites-enabled/
ln -s /etc/nginx/sites-available/portal-nginx.conf /etc/nginx/sites-enabled/
ln -s /etc/nginx/sites-available/test-nginx.conf /etc/nginx/sites-enabled/</pre>
</div><!-- EDIT6 SECTION "Debian/Ubuntu" [819-1577] -->
</div><!-- EDIT6 SECTION "Debian/Ubuntu" [811-1569] -->
<h3 class="sectionedit7" id="red_hatcentos1">Red Hat/CentOS</h3>
<div class="level3">
@ -155,7 +155,7 @@ ln -s /etc/lemonldap-ng/manager-nginx.conf /etc/nginx/conf.d/
ln -s /etc/lemonldap-ng/portal-nginx.conf /etc/nginx/conf.d/
ln -s /etc/lemonldap-ng/test-nginx.conf /etc/nginx/conf.d/</pre>
</div><!-- EDIT7 SECTION "Red Hat/CentOS" [1578-] -->
</div><!-- EDIT7 SECTION "Red Hat/CentOS" [1570-] -->
</div>
</body>
</html>

View File

@ -11,7 +11,7 @@
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.min.css" />
//else --><!-- //endif -->
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="index,follow"/>
<meta name="robots" content="noindex,nofollow"/>
<meta name="keywords" content="documentation,2.0,configvhost"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="configvhost.html"/>
@ -370,11 +370,13 @@ server {
<div class="level2">
<p>
Un hôte virtuel apache protégé par un agent LemonLDAP::NG doit être enregistré dans la configuration LemonLDAP::NG.
A virtual host protected by LemonLDAP::NG Handler must be registered in LemonLDAP::NG configuration.
</p>
<p>
Pour ce faire, utiliser le manager, et aller dans la branche <code>Virtual Hosts</code>. Il est possible d'ajouter, effacer ou modifier un hôte virtuel ici.
Pour ce faire, utiliser le manager, et aller dans la branche <code>Virtual Hosts</code>. Il est possible d'ajouter, effacer ou modifier un hôte virtuel ici. Enter the exact virtual host name (for example <code>test.example.com</code>) or use a wildcard (for example <code>*.example.com</code>).
</p>
<p>
@ -391,7 +393,7 @@ Un hôte vituel contient :
</li>
</ul>
</div><!-- EDIT9 SECTION "LemonLDAP::NG configuration" [7862-8349] -->
</div><!-- EDIT9 SECTION "LemonLDAP::NG configuration" [7862-8461] -->
<h3 class="sectionedit10" id="access_rules_and_http_headers">Règles d'accès et en-têtes HTTP</h3>
<div class="level3">
@ -400,7 +402,7 @@ Un hôte vituel contient :
Voir <strong><a href="writingrulesand_headers.html" class="wikilink1" title="documentation:2.0:writingrulesand_headers">Écrire des règles et des en-têtes</a></strong> pour savoir comment configurer le contrôle d'accès et les en-têtes HTTP transmis à l'application par <abbr title="LemonLDAP::NG">LL::NG</abbr>.
</p>
</div><!-- EDIT10 SECTION "Access rules and HTTP headers" [8350-8542] -->
</div><!-- EDIT10 SECTION "Access rules and HTTP headers" [8462-8654] -->
<h3 class="sectionedit11" id="post_data">Données POST</h3>
<div class="level3">
@ -409,7 +411,7 @@ Voir <strong><a href="writingrulesand_headers.html" class="wikilink1" title="doc
Voir <strong><a href="formreplay.html" class="wikilink1" title="documentation:2.0:formreplay">Rejeu des formulaires</a></strong> pour savoir comment configurer le rejeu des formulaires pour poster des données à une applications protégée.
</p>
</div><!-- EDIT11 SECTION "POST data" [8543-8677] -->
</div><!-- EDIT11 SECTION "POST data" [8655-8789] -->
<h3 class="sectionedit12" id="options">Options</h3>
<div class="level3">
@ -430,7 +432,7 @@ Quelques options sont disponibles :
Ces options sont utilisées dans la construction des <abbr title="Uniform Resource Locator">URL</abbr> de redirection (lorsque l'utilisateur n'est pas connecté ou pour les requêtes <abbr title="Authentification inter-domaines">CDA</abbr>). Sauf modification, les valeurs par défaut sont utilisées. Ces options ne sont à utiliser que pour surcharger les valeurs par défaut.
</p>
</div><!-- EDIT12 SECTION "Options" [8678-] -->
</div><!-- EDIT12 SECTION "Options" [8790-] -->
</div>
</body>
</html>

View File

@ -55,8 +55,8 @@
<ul class="toc">
<li class="level2"><div class="li"><a href="#declare_module_in_handler_server">Declarer le module dans le serveur « handler »</a></div>
<ul class="toc">
<li class="level3"><div class="li"><a href="#apache">Apache</a></div></li>
<li class="level3"><div class="li"><a href="#fastcgi_server_nginx">Serveur FastCGI (Nginx)</a></div></li>
<li class="level3"><div class="li"><a href="#new_method">New method</a></div></li>
<li class="level3"><div class="li"><a href="#old_method">Old method</a></div></li>
</ul>
</li>
<li class="level2"><div class="li"><a href="#declare_custom_functions">Declarer les fonctions personnalisées</a></div></li>
@ -109,9 +109,31 @@ Créer un module Perl avec des fonctions personnalisées. Le module peut être a
</div>
<h4 id="apache">Apache</h4>
<h4 id="new_method">New method</h4>
<div class="level4">
<p>
Just declare files or Perl module that must be loaded:
</p>
<pre class="code file :ini"><span class="re0"><span class="br0">[</span>all<span class="br0">]</span></span>
<span class="re1">require</span> <span class="sy0">=</span><span class="re2"> /path/to/functions.pl, /path/to/func2.pm</span>
# OR
<span class="re1">require</span> <span class="sy0">=</span><span class="re2"> My::Func1, My::Func2</span></pre>
</div>
<h4 id="old_method">Old method</h4>
<div class="level4">
<div class="notewarning">This method is available but unusable by Portal under Apache. So if your rule may be used by the menu, use the new method.
</div>
</div>
<h5 id="apache">Apache</h5>
<div class="level5">
<p>
Le module doit être chargé par Apache (par exemple après le chargement de l'agent) :
</p>
@ -122,8 +144,8 @@ PerlOptions +GlobalRequest</pre>
</div>
<h4 id="fastcgi_server_nginx">Serveur FastCGI (Nginx)</h4>
<div class="level4">
<h5 id="fastcgi_server_nginx">Serveur FastCGI (Nginx)</h5>
<div class="level5">
<p>
Il faut indiquer au <a href="fastcgiserver.html" class="wikilink1" title="documentation:2.0:fastcgiserver">serveur FastCGI de LLNG</a> le fichier à lire en utilisant l'option <code>-f</code> ou la variable d'environnement <code>CUSTOM_FUNCTIONS_FILE</code>. En utilisant les packages, il suffit de modifier le fichier <code>/etc/default/llng-fastcgi-server</code> (ou <code>/etc/default/lemonldap-ng-fastcgi-server</code>) :
@ -144,7 +166,7 @@ GROUP=www-data
# Fichier éventuel de fonctions personnalisées
CUSTOM_FUNCTIONS_FILE=/root/SSOExtensions.pm</pre>
</div><!-- EDIT4 SECTION "Declare module in handler server" [609-1543] -->
</div><!-- EDIT4 SECTION "Declare module in handler server" [609-1892] -->
<h3 class="sectionedit5" id="declare_custom_functions">Declarer les fonctions personnalisées</h3>
<div class="level3">
@ -155,7 +177,7 @@ Aller dans le manager, <code>Paramètres généraux</code> » <code>Paramètres
<pre class="code">SSOExtensions::function1</pre>
<div class="noteimportant">Si la fonction n'est pas compatible avec la <a href="safejail.html" class="wikilink1" title="documentation:2.0:safejail">cage saine</a>, il faut désactiver la mise en cage.
</div>
</div><!-- EDIT5 SECTION "Declare custom functions" [1544-1840] -->
</div><!-- EDIT5 SECTION "Declare custom functions" [1893-2189] -->
<h2 class="sectionedit6" id="use_it">Les utiliser</h2>
<div class="level2">
@ -165,7 +187,7 @@ Les fonctions peuvent être utilisées dans une macro, un en-tête ou une règle
</p>
<pre class="code">Custom-Header =&gt; function1( $uid, $ENV{REMOTE_ADDR} )</pre>
</div><!-- EDIT6 SECTION "Use it" [1841-] -->
</div><!-- EDIT6 SECTION "Use it" [2190-] -->
</div>
</body>
</html>

View File

@ -48,6 +48,11 @@
<h1 class="sectionedit1" id="convert_http_header_into_environment_variable">Convertir les en-têtes HTTP en variables d'environnement</h1>
<div class="level1">
</div><!-- EDIT1 SECTION "Convert HTTP header into environment variable" [1-61] -->
<h2 class="sectionedit2" id="apache">Apache</h2>
<div class="level2">
<p>
Lorsque <abbr title="LemonLDAP::NG">LL::NG</abbr> est utilisé en mode reverse-proxy, la variable d'environnement <code>REMOTE_USER</code> n'est pas renseignée. Toutefois, cette variable est renseignée par l'agent dans le serveur physique l'hébergeant mais pas dans les autres serveurs sans agents.
</p>
@ -95,7 +100,18 @@ Bien sûr, il faut <a href="passwordstore.html" class="wikilink1" title="documen
</p>
</div>
</div>
</div><!-- EDIT2 SECTION "Apache" [62-1756] -->
<h2 class="sectionedit3" id="nginx">Nginx</h2>
<div class="level2">
<p>
Nginx doesn't launch directly PHP pages (or other languages): it dials with FastCGI servers (like php-fpm). As you can see in examples, it's easy to map a LLNG header to a fastcgi param. Exemple :
</p>
<pre class="code file nginx">auth_request_set $authuser $upstream_http_auth_user;
fastcgi_param HTTP_MYVAR $authuser;</pre>
</div><!-- EDIT3 SECTION "Nginx" [1757-] -->
</div>
</body>
</html>

View File

@ -61,7 +61,7 @@
<li class="level1"><div class="li"><a href="#package_gpg_signature">Signature GPG des paquets</a></div></li>
<li class="level1"><div class="li"><a href="#install_packages">Installer les paquets</a></div>
<ul class="toc">
<li class="level2"><div class="li"><a href="#with_aptitude">Avec aptitude</a></div></li>
<li class="level2"><div class="li"><a href="#with_apt">With apt</a></div></li>
<li class="level2"><div class="li"><a href="#with_dpkg">Avec dpkg</a></div></li>
</ul>
</li>
@ -149,11 +149,13 @@ deb-src https://lemonldap-ng.org/deb stable main</pre>
</div>
<p>
Lancer ceci pour rafraîchir le cache :
</p>
<pre class="code">apt-get update</pre>
</div><!-- EDIT5 SECTION "LL::NG repository" [1000-1595] -->
You may need to install this package to access HTTPS repositories:
</p>
<pre class="code">apt install apt-transport-https</pre>
</div><!-- EDIT5 SECTION "LL::NG repository" [1000-1644] -->
<h3 class="sectionedit6" id="manual_download">Téléchargement manuel</h3>
<div class="level3">
@ -162,7 +164,7 @@ Lancer ceci pour rafraîchir le cache :
Les paquets sont disponibles sur la <a href="download.html" class="wikilink1" title="Téléchargement">page de téléchargement</a>.
</p>
</div><!-- EDIT6 SECTION "Manual download" [1596-1682] -->
</div><!-- EDIT6 SECTION "Manual download" [1645-1731] -->
<h2 class="sectionedit7" id="package_gpg_signature">Signature GPG des paquets</h2>
<div class="level2">
@ -174,20 +176,27 @@ La clef GPG peut être téléchargée ici : <a href="rpm-gpg-key-ow2" class="med
<p>
L'installer pour certifier les paquets :
</p>
<pre class="code">apt-key add rpm-gpg-key-ow2</pre>
<pre class="code">wget -O - https://lemonldap-ng.org/_media/rpm-gpg-key-ow2 | apt-key add -</pre>
</div><!-- EDIT7 SECTION "Package GPG signature" [1683-1851] -->
<p>
Update cache:
</p>
<pre class="code">apt update</pre>
</div><!-- EDIT7 SECTION "Package GPG signature" [1732-1986] -->
<h2 class="sectionedit8" id="install_packages">Installer les paquets</h2>
<div class="level2">
</div><!-- EDIT8 SECTION "Install packages" [1852-1881] -->
</div><!-- EDIT8 SECTION "Install packages" [1987-2016] -->
<h3 class="sectionedit9" id="with_aptitude">Avec aptitude</h3>
<h3 class="sectionedit9" id="with_apt">With apt</h3>
<div class="level3">
<pre class="code">aptitude install lemonldap-ng</pre>
<pre class="code">apt install lemonldap-ng</pre>
</div><!-- EDIT9 SECTION "With aptitude" [1882-1952] -->
</div><!-- EDIT9 SECTION "With apt" [2017-2077] -->
<h3 class="sectionedit10" id="with_dpkg">Avec dpkg</h3>
<div class="level3">
@ -201,12 +210,12 @@ Ensuite :
</p>
<pre class="code">dpkg -i liblemonldap-ng-* lemonldap-ng*</pre>
</div><!-- EDIT10 SECTION "With dpkg" [1953-2101] -->
</div><!-- EDIT10 SECTION "With dpkg" [2078-2226] -->
<h2 class="sectionedit11" id="first_configuration_steps">Premiers pas de configuration</h2>
<div class="level2">
</div><!-- EDIT11 SECTION "First configuration steps" [2102-2140] -->
</div><!-- EDIT11 SECTION "First configuration steps" [2227-2265] -->
<h3 class="sectionedit12" id="change_default_dns_domain">Changer le domaine DNS par défaut</h3>
<div class="level3">
@ -216,7 +225,7 @@ Par défaut, le domaine <abbr title="Domain Name System">DNS</abbr> est <code>ex
</p>
<pre class="code shell">sed -i 's/example\.com/ow2.org/g' /etc/lemonldap-ng/* /var/lib/lemonldap-ng/conf/lmConf-1.json /var/lib/lemonldap-ng/test/index.pl</pre>
</div><!-- EDIT12 SECTION "Change default DNS domain" [2141-2460] -->
</div><!-- EDIT12 SECTION "Change default DNS domain" [2266-2585] -->
<h3 class="sectionedit13" id="reload_virtual_host">Recharger l'hôte virtuel</h3>
<div class="level3">
@ -227,7 +236,7 @@ Pour autoriser le manager à recharger la configuration, enregistrer le nom d'h
<pre class="code shell">echo "127.0.0.1 reload.example.com" &gt;&gt; /etc/hosts</pre>
<div class="notetip">Adapter le nom d'hôte virtuel de rechargement au domaine configuré.
</div>
</div><!-- EDIT13 SECTION "Reload virtual host" [2461-2762] -->
</div><!-- EDIT13 SECTION "Reload virtual host" [2586-2887] -->
<h3 class="sectionedit14" id="upgrade">Mise à jour</h3>
<div class="level3">
@ -236,7 +245,7 @@ Pour autoriser le manager à recharger la configuration, enregistrer le nom d'h
Pour mettre à jour <abbr title="LemonLDAP::NG">LL::NG</abbr>, lisez toutes les <a href="upgrade.html" class="wikilink1" title="documentation:2.0:upgrade">notes de mise à jour</a>.
</p>
</div><!-- EDIT14 SECTION "Upgrade" [2763-2843] -->
</div><!-- EDIT14 SECTION "Upgrade" [2888-2968] -->
<h3 class="sectionedit15" id="dns">DNS</h3>
<div class="level3">
@ -252,7 +261,7 @@ Configurer le serveur <abbr title="Domain Name System">DNS</abbr> pour résoudre
Suivre les <a href="start.html#configuration" class="wikilink1" title="documentation:2.0:start">étapes suivantes</a>
</p>
</div><!-- EDIT15 SECTION "DNS" [2844-3116] -->
</div><!-- EDIT15 SECTION "DNS" [2969-3241] -->
<h2 class="sectionedit16" id="file_location">Emplacement du fichier</h2>
<div class="level2">
@ -273,7 +282,7 @@ Suivre les <a href="start.html#configuration" class="wikilink1" title="documenta
</li>
</ul>
</div><!-- EDIT16 SECTION "File location" [3117-3653] -->
</div><!-- EDIT16 SECTION "File location" [3242-3778] -->
<h2 class="sectionedit17" id="build_your_packages">Construire les paquets</h2>
<div class="level2">
@ -285,7 +294,7 @@ On peut également construire les paquets à partir de l'<a href="download.html"
cd lemonldap-ng-*
make debian-packages</pre>
</div><!-- EDIT17 SECTION "Build your packages" [3654-] -->
</div><!-- EDIT17 SECTION "Build your packages" [3779-] -->
</div>
</body>
</html>

View File

@ -50,7 +50,7 @@
<p>
Since version 2.0, a Node.js handler is available on <a href="https://github.com/LemonLDAPNG/node-lemonldap-ng-handler" class="urlextern" title="https://github.com/LemonLDAPNG/node-lemonldap-ng-handler" rel="nofollow">GitHub</a>.
Since version 2.0, an experimental Node.js handler is available on <a href="https://github.com/LemonLDAPNG/node-lemonldap-ng-handler" class="urlextern" title="https://github.com/LemonLDAPNG/node-lemonldap-ng-handler" rel="nofollow">GitHub</a>.
</p>

View File

@ -135,10 +135,16 @@ For Apache2, you can use all workers mpm-worker, mpm-prefork and mpm-event. Mpm-
</li>
<li class="level1"><div class="li"> Digest::SHA</div>
</li>
<li class="level1"><div class="li"> Email::Sender</div>
</li>
<li class="level1"><div class="li"> GD::SecurityImage</div>
</li>
<li class="level1"><div class="li"> <abbr title="HyperText Markup Language">HTML</abbr>::Template</div>
</li>
<li class="level1"><div class="li"> HTTP::Headers</div>
</li>
<li class="level1"><div class="li"> HTTP::Request</div>
</li>
<li class="level1"><div class="li"> IO::String</div>
</li>
<li class="level1"><div class="li"> JSON</div>
@ -161,17 +167,19 @@ For Apache2, you can use all workers mpm-worker, mpm-prefork and mpm-event. Mpm-
</li>
<li class="level1"><div class="li"> Regexp::Common</div>
</li>
<li class="level1"><div class="li"> SOAP::Lite</div>
<li class="level1"><div class="li"> SOAP::Lite <em>(optional)</em></div>
</li>
<li class="level1"><div class="li"> String::Random</div>
</li>
<li class="level1"><div class="li"> Unicode::String</div>
</li>
<li class="level1"><div class="li"> <abbr title="Uniform Resource Identifier">URI</abbr></div>
</li>
<li class="level1"><div class="li"> YAML</div>
<li class="level1"><div class="li"> <abbr title="Uniform Resource Identifier">URI</abbr>::Escape</div>
</li>
</ul>
</div><!-- EDIT4 SECTION "Core" [666-1194] -->
</div><!-- EDIT4 SECTION "Core" [666-1289] -->
<h3 class="sectionedit5" id="deprecated_features">Deprecated features</h3>
<div class="level3">
@ -194,7 +202,7 @@ For Apache2, you can use all workers mpm-worker, mpm-prefork and mpm-event. Mpm-
</li>
</ul>
</div><!-- EDIT5 SECTION "Deprecated features" [1195-1363] -->
</div><!-- EDIT5 SECTION "Deprecated features" [1290-1458] -->
<h3 class="sectionedit6" id="saml2">SAML2</h3>
<div class="level3">
@ -207,7 +215,7 @@ For Apache2, you can use all workers mpm-worker, mpm-prefork and mpm-event. Mpm-
</li>
</ul>
</div><!-- EDIT6 SECTION "SAML2" [1364-1449] -->
</div><!-- EDIT6 SECTION "SAML2" [1459-1544] -->
<h3 class="sectionedit7" id="specific_authentication_backends">Specific authentication backends</h3>
<div class="level3">
@ -250,7 +258,7 @@ For Apache2, you can use all workers mpm-worker, mpm-prefork and mpm-event. Mpm-
</li>
</ul>
</div><!-- EDIT7 SECTION "Specific authentication backends" [1450-1678] -->
</div><!-- EDIT7 SECTION "Specific authentication backends" [1545-1773] -->
<h3 class="sectionedit8" id="smtpreset_password_by_mail">SMTP / réinitialisation de mot-de-passe par courriel</h3>
<div class="level3">
@ -261,7 +269,7 @@ For Apache2, you can use all workers mpm-worker, mpm-prefork and mpm-event. Mpm-
</li>
</ul>
</div><!-- EDIT8 SECTION "SMTP / Reset password by mail" [1679-1757] -->
</div><!-- EDIT8 SECTION "SMTP / Reset password by mail" [1774-1852] -->
<h3 class="sectionedit9" id="unit_tests">Unit tests</h3>
<div class="level3">
@ -270,9 +278,11 @@ For Apache2, you can use all workers mpm-worker, mpm-prefork and mpm-event. Mpm-
</li>
<li class="level1"><div class="li"> Test::MockObject</div>
</li>
<li class="level1"><div class="li"> YAML</div>
</li>
</ul>
</div><!-- EDIT9 SECTION "Unit tests" [1758-1815] -->
</div><!-- EDIT9 SECTION "Unit tests" [1853-1919] -->
<h2 class="sectionedit10" id="other">Autres</h2>
<div class="level2">
@ -283,12 +293,12 @@ For Apache2, you can use all workers mpm-worker, mpm-prefork and mpm-event. Mpm-
</li>
</ul>
</div><!-- EDIT10 SECTION "Other" [1816-2032] -->
</div><!-- EDIT10 SECTION "Other" [1920-2136] -->
<h2 class="sectionedit11" id="install_dependencies_on_your_system">Installer les dépendances sur le système</h2>
<div class="level2">
</div><!-- EDIT11 SECTION "Install dependencies on your system" [2033-2082] -->
</div><!-- EDIT11 SECTION "Install dependencies on your system" [2137-2186] -->
<h3 class="sectionedit12" id="apt-get">APT-GET</h3>
<div class="level3">
@ -310,7 +320,7 @@ Pour Nginx:
</p>
<pre class="code">apt install nginx nginx-extras</pre>
</div><!-- EDIT12 SECTION "APT-GET" [2083-2845] -->
</div><!-- EDIT12 SECTION "APT-GET" [2187-2949] -->
<h3 class="sectionedit13" id="yum">YUM</h3>
<div class="level3">
@ -335,7 +345,7 @@ Pour Nginx:
<div class="noteimportant">As you need a recent version of Nginx, the best is to install <a href="https://www.nginx.com/resources/wiki/start/topics/tutorials/install/#official-red-hat-centos-packages" class="urlextern" title="https://www.nginx.com/resources/wiki/start/topics/tutorials/install/#official-red-hat-centos-packages" rel="nofollow">Nginx official packages</a>.
</div>
</div><!-- EDIT13 SECTION "YUM" [2846-] -->
</div><!-- EDIT13 SECTION "YUM" [2950-] -->
</div>
</body>
</html>

View File

@ -90,7 +90,7 @@
<form action="/start" accept-charset="utf-8" class="search" id="dw__search" method="get" role="search"><div class="no"><input type="hidden" name="do" value="search" /><input type="text" id="qsearch__in" accesskey="f" name="id" class="edit" title="[F]" /><input type="submit" value="Search" class="button" title="Search" /><div id="qsearch__out" class="ajax_qsearch JSpopup"></div></div></form>
<ul class="nav navbar-nav">
<li><a href="/documentation/2.0/restserverplugin?do=login&amp;sectok=d4fe5585dec923939be5e0ea38da2802" class="action login" rel="nofollow" title="Login"><i class="glyphicon glyphicon-log-in"></i> Login</a></li> </ul>
<li><a href="/documentation/2.0/restserverplugin?do=login&amp;sectok=fa0cc1a85fc0d1baf3a61bfee1cba736" class="action login" rel="nofollow" title="Login"><i class="glyphicon glyphicon-log-in"></i> Login</a></li> </ul>
</div>
@ -204,7 +204,7 @@ You&#039;ve followed a link to a topic that doesn&#039;t exist yet. If permissio
</div><!-- /site -->
<div class="no"><img src="/lib/exe/indexer.php?id=documentation%3A2.0%3Arestserverplugin&amp;1505393501" width="2" height="1" alt="" /></div>
<div class="no"><img src="/lib/exe/indexer.php?id=documentation%3A2.0%3Arestserverplugin&amp;1508842926" width="2" height="1" alt="" /></div>
<div id="screen__mode" class="no">
<span class="visible-xs"></span>
<span class="visible-sm"></span>

View File

@ -83,6 +83,7 @@
<li class="level1"><div class="li"><a href="#advanced_features">Fonctionnalités avancées</a></div></li>
<li class="level1"><div class="li"><a href="#mini_howtos">Mini howtos</a></div></li>
<li class="level1"><div class="li"><a href="#exploitation">Exploitation</a></div></li>
<li class="level1"><div class="li"><a href="#bug_report">Bug report</a></div></li>
<li class="level1"><div class="li"><a href="#developer_corner">Developer corner</a></div></li>
</ul>
</div>
@ -431,7 +432,7 @@ Handlers are software control agents to install on your web servers <em>(Nginx,
<td class="col0"> <a href="securetoken.html" class="wikilink1" title="documentation:2.0:securetoken">Secure Token</a> </td><td class="col1 centeralign"></td><td class="col2 centeralign"></td><td class="col3 leftalign"> </td><td class="col4"> Designed to secure dialog between a LLNG reverse-proxy and a remote app </td><td class="col5"></td>
</tr>
<tr class="row6 roweven">
<td class="col0"> <a href="servertoserver.html" class="wikilink1" title="documentation:2.0:servertoserver">Service Token</a> <em>(Server-to-Server)</em> <a href="new.png" class="media" title="documentation:2.0:new.png"><img src="new.edf565b3f89a0ad56df9a5e7a31a6de8.png" class="media" alt="" width="35" /></a> </td><td class="col1 centeralign"></td><td class="col2 centeralign"></td><td class="col3 leftalign"> </td><td class="col4"> Designed to permits underlying requests <em>(<abbr title="Interface de programmation">API</abbr>-Based Infrastructure)</em> </td><td class="col5"></td>
<td class="col0"> <a href="servertoserver.html" class="wikilink1" title="documentation:2.0:servertoserver">Service Token</a> <a href="new.png" class="media" title="documentation:2.0:new.png"><img src="new.edf565b3f89a0ad56df9a5e7a31a6de8.png" class="media" alt="" width="35" /></a> <em>(Server-to-Server)</em> </td><td class="col1 centeralign"></td><td class="col2 centeralign"></td><td class="col3 leftalign"> </td><td class="col4"> Designed to permits underlying requests <em>(<abbr title="Interface de programmation">API</abbr>-Based Infrastructure)</em> </td><td class="col5"></td>
</tr>
<tr class="row7 rowodd">
<td class="col0"> <a href="applications/zimbra.html" class="wikilink1" title="documentation:2.0:applications:zimbra">Zimbra PreAuth</a> </td><td class="col1 centeralign"></td><td class="col2 centeralign"></td><td class="col3 leftalign"> </td><td class="col4 leftalign"> </td>
@ -786,7 +787,18 @@ Les sessions sont stockées en utilisant les modules de la famille <a href="http
</div><!-- EDIT20 SECTION "Exploitation" [13962-14382] -->
<h2 class="sectionedit21" id="developer_corner">Developer corner</h2>
<h2 class="sectionedit21" id="bug_report">Bug report</h2>
<div class="level2">
<p>
See <a href="bugreport.html" class="wikilink1" title="bugreport">How to report a bug</a>.
</p>
</div><!-- EDIT21 SECTION "Bug report" [14383-14447] -->
<h2 class="sectionedit22" id="developer_corner">Developer corner</h2>
<div class="level2">
<p>
@ -859,7 +871,7 @@ To translate this doc (Manager help):
</li>
</ul>
</div><!-- EDIT21 SECTION "Developer corner" [14383-] -->
</div><!-- EDIT22 SECTION "Developer corner" [14448-] -->
</div>
</body>
</html>

View File

@ -11,7 +11,7 @@
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.min.css" />
//else --><!-- //endif -->
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="noindex,nofollow"/>
<meta name="robots" content="index,follow"/>
<meta name="keywords" content="documentation,2.0,upgrade"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="upgrade.html"/>
@ -56,6 +56,7 @@
</ul>
</li>
<li class="level1"><div class="li"><a href="#configuration">Configuration</a></div></li>
<li class="level1"><div class="li"><a href="#kerberos_or_ssl_usage">Kerberos or SSL usage</a></div></li>
<li class="level1"><div class="li"><a href="#logs">Journaux</a></div></li>
<li class="level1"><div class="li"><a href="#security">Sécurité</a></div></li>
<li class="level1"><div class="li"><a href="#handlers">Handlers</a></div></li>
@ -117,7 +118,18 @@ To build Debian package with Wheezy, remove <code>debian/lemonldap-ng-doc.maints
</div>
</div><!-- EDIT4 SECTION "Configuration" [305-1090] -->
<h2 class="sectionedit5" id="logs">Journaux</h2>
<h2 class="sectionedit5" id="kerberos_or_ssl_usage">Kerberos or SSL usage</h2>
<div class="level2">
<ul>
<li class="level1"><div class="li"> A new <a href="authkerberos.html" class="wikilink1" title="documentation:2.0:authkerberos">Kerberos</a> authentication backend has been added since 2.0. This module solves many Kerberos integration problems <em>(usage in conjunction with other backends, better error display,…)</em>. However, you can retain the old integration manner <em>(using <a href="authapache.html" class="wikilink1" title="documentation:2.0:authapache">Apache authentication module</a>)</em>.</div>
</li>
<li class="level1"><div class="li"> For <a href="authssl.html" class="wikilink1" title="documentation:2.0:authssl">SSL</a>, a new <a href="authssl.html#ssl_by_ajax" class="wikilink1" title="documentation:2.0:authssl">Ajax option</a> can be used in the same idea: so SSL can be used in conjunction with other backends.</div>
</li>
</ul>
</div><!-- EDIT5 SECTION "Kerberos or SSL usage" [1091-1599] -->
<h2 class="sectionedit6" id="logs">Journaux</h2>
<div class="level2">
<ul>
<li class="level1"><div class="li"> <strong>Syslog</strong>: logs are now configured only in <code>lemonldap-ng.ini</code> file. If you use Syslog, you must reconfigure it. See <a href="logs.html" class="wikilink1" title="documentation:2.0:logs">logs</a> for more.</div>
@ -126,9 +138,9 @@ To build Debian package with Wheezy, remove <code>debian/lemonldap-ng-doc.maints
</li>
</ul>
</div><!-- EDIT5 SECTION "Logs" [1091-1502] -->
</div><!-- EDIT6 SECTION "Logs" [1600-2012] -->
<h2 class="sectionedit6" id="security">Sécurité</h2>
<h2 class="sectionedit7" id="security">Sécurité</h2>
<div class="level2">
<p>
@ -143,9 +155,9 @@ LLNG portal now embeds the following features:
</li>
</ul>
</div><!-- EDIT6 SECTION "Security" [1503-2070] -->
</div><!-- EDIT7 SECTION "Security" [2013-2580] -->
<h2 class="sectionedit7" id="handlers">Handlers</h2>
<h2 class="sectionedit8" id="handlers">Handlers</h2>
<div class="level2">
<ul>
<li class="level1"><div class="li"> <a href="cda.html" class="wikilink1" title="documentation:2.0:cda">CDA</a>, <a href="documentation/latest/applications/zimbra.html" class="wikilink1" title="documentation:latest:applications:zimbra">ZimbraPreAuth</a>, <a href="securetoken.html" class="wikilink1" title="documentation:2.0:securetoken">SecureToken</a> and <a href="handlerauthbasic.html" class="wikilink1" title="documentation:2.0:handlerauthbasic">AuthBasic</a> are now <a href="handlerarch.html" class="wikilink1" title="documentation:2.0:handlerarch">Handler Types</a>. So there is no more special file to load: you just have to choose “VirtualHost type” in the manager/VirtualHosts.</div>
@ -154,9 +166,9 @@ LLNG portal now embeds the following features:
</li>
</ul>
</div><!-- EDIT7 SECTION "Handlers" [2071-2731] -->
</div><!-- EDIT8 SECTION "Handlers" [2581-3242] -->
<h2 class="sectionedit8" id="rules_and_headers">Rules and headers</h2>
<h2 class="sectionedit9" id="rules_and_headers">Rules and headers</h2>
<div class="level2">
<ul>
<li class="level1"><div class="li"> hostname() and remote_ip() are no more provided to avoid some name conflicts <em>(replaced by $ENV{})</em></div>
@ -167,28 +179,28 @@ LLNG portal now embeds the following features:
</li>
</ul>
</div><!-- EDIT8 SECTION "Rules and headers" [2732-3050] -->
</div><!-- EDIT9 SECTION "Rules and headers" [3243-3561] -->
<h2 class="sectionedit9" id="supported_servers">Supported servers</h2>
<h2 class="sectionedit10" id="supported_servers">Supported servers</h2>
<div class="level2">
<ul>
<li class="level1"><div class="li"> Apache-1.3 files are not provided now. You can build them yourself by looking at Apache-2 configuration files</div>
</li>
</ul>
</div><!-- EDIT9 SECTION "Supported servers" [3051-3196] -->
</div><!-- EDIT10 SECTION "Supported servers" [3562-3707] -->
<h2 class="sectionedit10" id="ajax_requests">Ajax requests</h2>
<h2 class="sectionedit11" id="ajax_requests">Ajax requests</h2>
<div class="level2">
<p>
Before 2.0, an Ajax query that was launched after session timeout received a 302 code. Now a response 401 is given. The <code>WWW-Authenticate</code> header contains: <code><abbr title="Authentification unique (Single Sign On)">SSO</abbr> &lt;portal-<abbr title="Uniform Resource Locator">URL</abbr>&gt;</code>
Before 2.0, an Ajax query that was launched after session timeout received a 302 code. Now a 401 HTTP code is given in response. The <code>WWW-Authenticate</code> header contains: <code><abbr title="Authentification unique (Single Sign On)">SSO</abbr> &lt;portal-<abbr title="Uniform Resource Locator">URL</abbr>&gt;</code>
</p>
</div><!-- EDIT10 SECTION "Ajax requests" [3197-3403] -->
</div><!-- EDIT11 SECTION "Ajax requests" [3708-3927] -->
<h2 class="sectionedit11" id="soaprest_services">SOAP/REST services</h2>
<h2 class="sectionedit12" id="soaprest_services">SOAP/REST services</h2>
<div class="level2">
<ul>
<li class="level1"><div class="li"> SOAP server activation is now split in 2 parameters (configuration/sessions). You must set them else SOAP service will be disabled</div>
@ -203,14 +215,14 @@ Before 2.0, an Ajax query that was launched after session timeout received a 302
<div class="noteimportant"><a href="handlerauthbasic.html" class="wikilink1" title="documentation:2.0:handlerauthbasic">AuthBasic Handler</a> uses now REST services instead of SOAP.
</div>
</div><!-- EDIT11 SECTION "SOAP/REST services" [3404-4002] -->
</div><!-- EDIT12 SECTION "SOAP/REST services" [3928-4526] -->
<h2 class="sectionedit12" id="developer_corner">Developer corner</h2>
<h2 class="sectionedit13" id="developer_corner">Developer corner</h2>
<div class="level2">
</div><!-- EDIT12 SECTION "Developer corner" [4003-4032] -->
</div><!-- EDIT13 SECTION "Developer corner" [4527-4556] -->
<h3 class="sectionedit13" id="apis">APIs</h3>
<h3 class="sectionedit14" id="apis">APIs</h3>
<div class="level3">
<p>
@ -219,9 +231,9 @@ Portal has now many REST features and includes a plugin <abbr title="Interface d
</p>
</div><!-- EDIT13 SECTION "APIs" [4033-4190] -->
</div><!-- EDIT14 SECTION "APIs" [4557-4714] -->
<h3 class="sectionedit14" id="portal_overview">Portal overview</h3>
<h3 class="sectionedit15" id="portal_overview">Portal overview</h3>
<div class="level3">
<p>
@ -245,9 +257,9 @@ The request is a separated object based on Lemonldap::NG::Portal::Main::Request
</p>
</div><!-- EDIT14 SECTION "Portal overview" [4191-4638] -->
</div><!-- EDIT15 SECTION "Portal overview" [4715-5162] -->
<h3 class="sectionedit15" id="handler">Agent (Handler)</h3>
<h3 class="sectionedit16" id="handler">Agent (Handler)</h3>
<div class="level3">
<p>
@ -262,7 +274,7 @@ If you had auto protected CGI, you also need to rewrite them, see <a href="selfm
</p>
</div><!-- EDIT15 SECTION "Handler" [4639-] -->
</div><!-- EDIT16 SECTION "Handler" [5163-] -->
</div>
</body>
</html>

View File

@ -11,7 +11,7 @@
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.min.css" />
//else --><!-- //endif -->
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="index,follow"/>
<meta name="robots" content="noindex,nofollow"/>
<meta name="keywords" content="documentation,2.0,writingrulesand_headers"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="writingrulesand_headers.html"/>
@ -58,6 +58,7 @@
</li>
<li class="level1"><div class="li"><a href="#headers">En-têtes</a></div></li>
<li class="level1"><div class="li"><a href="#available_functions">Available functions</a></div></li>
<li class="level1"><div class="li"><a href="#wildcards_in_hostnames">Wildcards in hostnames</a></div></li>
</ul>
</div>
</div><!-- TOC END -->
@ -287,7 +288,33 @@ In addition to macros and name, you can use some functions in rules and headers:
</li>
</ul>
</div><!-- EDIT9 SECTION "Available functions" [5743-] -->
</div><!-- EDIT9 SECTION "Available functions" [5743-5953] -->
<h2 class="sectionedit10" id="wildcards_in_hostnames">Wildcards in hostnames</h2>
<div class="level2">
<p>
<a href="new.png" class="media" title="documentation:2.0:new.png"><img src="new.edf565b3f89a0ad56df9a5e7a31a6de8.png" class="media" alt="" width="35" /></a> Since 2.0, a wildcard can be used in virtualhost name (not in aliases !): <code>*.example.com</code> matches all hostnames that belong to <code>example.com</code> domain.
</p>
<p>
Even if a wildcard exists, if a virtualhost is explicitly declared, this rule is applied. Example with precedence order:
</p>
<ol>
<li class="level1"><div class="li"> test.sub.example.com</div>
</li>
<li class="level1"><div class="li"> *.sub.example.com</div>
</li>
<li class="level1"><div class="li"> test.example.com</div>
</li>
<li class="level1"><div class="li"> *.example.com</div>
</li>
</ol>
</div><!-- EDIT10 SECTION "Wildcards in hostnames" [5954-] -->
</div>
</body>
</html>