Commit d2acdd3e authored by Xavier Guimard's avatar Xavier Guimard

Update documentation

parent 772a69d9
Pipeline #1919 passed with stages
in 6 minutes and 14 seconds
...@@ -90,7 +90,7 @@ ...@@ -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> <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"> <ul class="nav navbar-nav">
<li><a href="/documentation/2.0/applications/img/icons.png?do=login&amp;sectok=5e53528a309f1afd578fccb6a5f04cf7" 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=a8e117edbbbe45106ea023b3c5ef2ae5" class="action login" rel="nofollow" title="Login"><i class="glyphicon glyphicon-log-in"></i> Login</a></li> </ul>
</div> </div>
...@@ -220,7 +220,7 @@ You&#039;ve followed a link to a topic that doesn&#039;t exist yet. If permissio ...@@ -220,7 +220,7 @@ You&#039;ve followed a link to a topic that doesn&#039;t exist yet. If permissio
</div><!-- /site --> </div><!-- /site -->
<div class="no"><img src="/lib/exe/indexer.php?id=documentation%3A2.0%3Aapplications%3Aimg%3Aicons.png&amp;1526585770" width="2" height="1" alt="" /></div> <div class="no"><img src="/lib/exe/indexer.php?id=documentation%3A2.0%3Aapplications%3Aimg%3Aicons.png&amp;1528371119" width="2" height="1" alt="" /></div>
<div id="screen__mode" class="no"> <div id="screen__mode" class="no">
<span class="visible-xs"></span> <span class="visible-xs"></span>
<span class="visible-sm"></span> <span class="visible-sm"></span>
......
...@@ -90,7 +90,7 @@ ...@@ -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> <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"> <ul class="nav navbar-nav">
<li><a href="/documentation/2.0/applications/img/loader.gif?do=login&amp;sectok=5e53528a309f1afd578fccb6a5f04cf7" 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=a8e117edbbbe45106ea023b3c5ef2ae5" class="action login" rel="nofollow" title="Login"><i class="glyphicon glyphicon-log-in"></i> Login</a></li> </ul>
</div> </div>
...@@ -220,7 +220,7 @@ You&#039;ve followed a link to a topic that doesn&#039;t exist yet. If permissio ...@@ -220,7 +220,7 @@ You&#039;ve followed a link to a topic that doesn&#039;t exist yet. If permissio
</div><!-- /site --> </div><!-- /site -->
<div class="no"><img src="/lib/exe/indexer.php?id=documentation%3A2.0%3Aapplications%3Aimg%3Aloader.gif&amp;1526585770" width="2" height="1" alt="" /></div> <div class="no"><img src="/lib/exe/indexer.php?id=documentation%3A2.0%3Aapplications%3Aimg%3Aloader.gif&amp;1528371119" width="2" height="1" alt="" /></div>
<div id="screen__mode" class="no"> <div id="screen__mode" class="no">
<span class="visible-xs"></span> <span class="visible-xs"></span>
<span class="visible-sm"></span> <span class="visible-sm"></span>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<meta charset="utf-8" /> <meta charset="utf-8" />
<title>documentation:2.0:authkerberos</title> <title>documentation:2.0:authkerberos</title>
<meta name="generator" content="DokuWiki"/> <meta name="generator" content="DokuWiki"/>
<meta name="robots" content="noindex,nofollow"/> <meta name="robots" content="index,follow"/>
<meta name="keywords" content="documentation,2.0,authkerberos"/> <meta name="keywords" content="documentation,2.0,authkerberos"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/> <link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="authkerberos.html"/> <link rel="start" href="authkerberos.html"/>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<meta charset="utf-8" /> <meta charset="utf-8" />
<title>documentation:2.0:authrest</title> <title>documentation:2.0:authrest</title>
<meta name="generator" content="DokuWiki"/> <meta name="generator" content="DokuWiki"/>
<meta name="robots" content="index,follow"/> <meta name="robots" content="noindex,nofollow"/>
<meta name="keywords" content="documentation,2.0,authrest"/> <meta name="keywords" content="documentation,2.0,authrest"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/> <link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="authrest.html"/> <link rel="start" href="authrest.html"/>
...@@ -117,7 +117,7 @@ Then you just have to set REST <abbr title="Uniform Resource Locator">URL</abbr> ...@@ -117,7 +117,7 @@ Then you just have to set REST <abbr title="Uniform Resource Locator">URL</abbr>
<div class="level2"> <div class="level2">
<p> <p>
REST web services just have to respond with a “result” key in a JSON file. Auth/UserDB can add a “info” array to will be copied is session data (without reading “Exported variables”). REST web services just have to respond with a “result” key in a JSON file. Auth/UserDB can add an “info” array that will be stored in session data (without reading “Exported variables”).
</p> </p>
<div class="table sectionedit7"><table class="inline table table-bordered table-striped"> <div class="table sectionedit7"><table class="inline table table-bordered table-striped">
<thead> <thead>
...@@ -138,7 +138,7 @@ REST web services just have to respond with a “result” key in a JSON file. A ...@@ -138,7 +138,7 @@ REST web services just have to respond with a “result” key in a JSON file. A
<td class="col0 centeralign"> Password change <abbr title="Uniform Resource Locator">URL</abbr> </td><td class="col1"> JSON file: <code>{“user”:$user,“password”:$password}</code> </td><td class="col2"> JSON file: <code>{“result”:true/false}</code> </td> <td class="col0 centeralign"> Password change <abbr title="Uniform Resource Locator">URL</abbr> </td><td class="col1"> JSON file: <code>{“user”:$user,“password”:$password}</code> </td><td class="col2"> JSON file: <code>{“result”:true/false}</code> </td>
</tr> </tr>
</table></div> </table></div>
<!-- EDIT7 TABLE [824-1345] --><div class="notetip">To have only one call, you can set only REST authentication, set datas in “info” key response and set Null as User Database. <!-- EDIT7 TABLE [827-1348] --><div class="notetip">To have just one call, you can only set REST authentication, set datas in “info” key response and set Null as User Database.
</div> </div>
</div> </div>
<!-- EDIT6 SECTION "REST Dialog" [614-] --></div> <!-- EDIT6 SECTION "REST Dialog" [614-] --></div>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<meta charset="utf-8" /> <meta charset="utf-8" />
<title>documentation:2.0:checkstate</title> <title>documentation:2.0:checkstate</title>
<meta name="generator" content="DokuWiki"/> <meta name="generator" content="DokuWiki"/>
<meta name="robots" content="noindex,nofollow"/> <meta name="robots" content="index,follow"/>
<meta name="keywords" content="documentation,2.0,checkstate"/> <meta name="keywords" content="documentation,2.0,checkstate"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/> <link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="checkstate.html"/> <link rel="start" href="checkstate.html"/>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<meta charset="utf-8" /> <meta charset="utf-8" />
<title>documentation:2.0:cli_examples</title> <title>documentation:2.0:cli_examples</title>
<meta name="generator" content="DokuWiki"/> <meta name="generator" content="DokuWiki"/>
<meta name="robots" content="noindex,nofollow"/> <meta name="robots" content="index,follow"/>
<meta name="keywords" content="documentation,2.0,cli_examples"/> <meta name="keywords" content="documentation,2.0,cli_examples"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/> <link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="cli_examples.html"/> <link rel="start" href="cli_examples.html"/>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<meta charset="utf-8" /> <meta charset="utf-8" />
<title>documentation:2.0:configapache</title> <title>documentation:2.0:configapache</title>
<meta name="generator" content="DokuWiki"/> <meta name="generator" content="DokuWiki"/>
<meta name="robots" content="noindex,nofollow"/> <meta name="robots" content="index,follow"/>
<meta name="keywords" content="documentation,2.0,configapache"/> <meta name="keywords" content="documentation,2.0,configapache"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/> <link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="configapache.html"/> <link rel="start" href="configapache.html"/>
......
...@@ -48,11 +48,11 @@ ...@@ -48,11 +48,11 @@
<div class="level1"> <div class="level1">
<p> <p>
<a href="https://metacpan.org/release/Plack" class="urlextern" title="https://metacpan.org/release/Plack" rel="nofollow">Plack</a> is a powerful engine that powers many very fast <a href="http://plackperl.org/#servers" class="urlextern" title="http://plackperl.org/#servers" rel="nofollow">servers</a>. LLNG uses some Plack libraries to run as FastCGI server. It can so easily be launched on these servers. See also <a href="psgi.html" class="wikilink1" title="documentation:2.0:psgi">Advanced PSGI usage</a> if you want to replace LLNG FastCGI server. <a href="https://metacpan.org/release/Plack" class="urlextern" title="https://metacpan.org/release/Plack" rel="nofollow">Plack</a> is a powerful engine that powers many very fast <a href="http://plackperl.org/#servers" class="urlextern" title="http://plackperl.org/#servers" rel="nofollow">servers</a>. LLNG uses some Plack libraries to run as FastCGI server. So, It can be easily run on these servers. See also <a href="psgi.html" class="wikilink1" title="documentation:2.0:psgi">Advanced PSGI usage</a> if you want to replace LLNG FastCGI server.
</p> </p>
</div> </div>
<!-- EDIT1 SECTION "Deploy LemonLDAP::NG on a Plack server" [1-377] --> <!-- EDIT1 SECTION "Deploy LemonLDAP::NG on a Plack server" [1-373] -->
<h2 class="sectionedit2" id="complete_example">Complete example</h2> <h2 class="sectionedit2" id="complete_example">Complete example</h2>
<div class="level2"> <div class="level2">
<dl class="file"> <dl class="file">
...@@ -116,6 +116,6 @@ Launch it with <a href="https://github.com/miyagawa/Starman" class="urlextern" t ...@@ -116,6 +116,6 @@ Launch it with <a href="https://github.com/miyagawa/Starman" class="urlextern" t
<pre class="code :bash"><span class="co4">$ </span>starman <span class="re5">--port</span> <span class="nu0">80</span> <span class="re5">--workers</span> <span class="nu0">32</span> llapp.psgi</pre> <pre class="code :bash"><span class="co4">$ </span>starman <span class="re5">--port</span> <span class="nu0">80</span> <span class="re5">--workers</span> <span class="nu0">32</span> llapp.psgi</pre>
</div> </div>
<!-- EDIT2 SECTION "Complete example" [378-] --></div> <!-- EDIT2 SECTION "Complete example" [374-] --></div>
</body> </body>
</html> </html>
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<meta charset="utf-8" /> <meta charset="utf-8" />
<title>documentation:2.0:configvhost</title> <title>documentation:2.0:configvhost</title>
<meta name="generator" content="DokuWiki"/> <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"/> <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="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="configvhost.html"/> <link rel="start" href="configvhost.html"/>
...@@ -206,7 +206,7 @@ Then you can take any virtual host and modify it: ...@@ -206,7 +206,7 @@ Then you can take any virtual host and modify it:
# Keep original hostname # Keep original hostname
fastcgi_param HOST $http_host; fastcgi_param HOST $http_host;
&nbsp; &nbsp;
# Keep original request (LLNG server will received /llauth) # Keep original request (LLNG server will receive /lmauth)
fastcgi_param X_ORIGINAL_URI $request_uri; fastcgi_param X_ORIGINAL_URI $request_uri;
}</pre> }</pre>
<ul> <ul>
...@@ -253,7 +253,7 @@ Then you can take any virtual host and modify it: ...@@ -253,7 +253,7 @@ Then you can take any virtual host and modify it:
}</pre> }</pre>
</div> </div>
<!-- EDIT6 SECTION "Nginx configuration" [3049-4936] --> <!-- EDIT6 SECTION "Nginx configuration" [3049-4935] -->
<h3 class="sectionedit7" id="hosted_application1">Hosted application</h3> <h3 class="sectionedit7" id="hosted_application1">Hosted application</h3>
<div class="level3"> <div class="level3">
...@@ -312,7 +312,7 @@ server { ...@@ -312,7 +312,7 @@ server {
}</pre> }</pre>
</div> </div>
<!-- EDIT7 SECTION "Hosted application" [4937-6566] --> <!-- EDIT7 SECTION "Hosted application" [4936-6565] -->
<h3 class="sectionedit8" id="reverse_proxy1">Reverse proxy</h3> <h3 class="sectionedit8" id="reverse_proxy1">Reverse proxy</h3>
<div class="level3"> <div class="level3">
...@@ -363,7 +363,7 @@ server { ...@@ -363,7 +363,7 @@ server {
}</pre> }</pre>
</div> </div>
<!-- EDIT8 SECTION "Reverse proxy" [6567-7861] --> <!-- EDIT8 SECTION "Reverse proxy" [6566-7860] -->
<h2 class="sectionedit9" id="lemonldapng_configuration">LemonLDAP::NG configuration</h2> <h2 class="sectionedit9" id="lemonldapng_configuration">LemonLDAP::NG configuration</h2>
<div class="level2"> <div class="level2">
...@@ -390,7 +390,7 @@ A virtual host contains: ...@@ -390,7 +390,7 @@ A virtual host contains:
</ul> </ul>
</div> </div>
<!-- EDIT9 SECTION "LemonLDAP::NG configuration" [7862-8461] --> <!-- EDIT9 SECTION "LemonLDAP::NG configuration" [7861-8460] -->
<h3 class="sectionedit10" id="access_rules_and_http_headers">Access rules and HTTP headers</h3> <h3 class="sectionedit10" id="access_rules_and_http_headers">Access rules and HTTP headers</h3>
<div class="level3"> <div class="level3">
...@@ -399,7 +399,7 @@ See <strong><a href="writingrulesand_headers.html" class="wikilink1" title="docu ...@@ -399,7 +399,7 @@ See <strong><a href="writingrulesand_headers.html" class="wikilink1" title="docu
</p> </p>
</div> </div>
<!-- EDIT10 SECTION "Access rules and HTTP headers" [8462-8654] --> <!-- EDIT10 SECTION "Access rules and HTTP headers" [8461-8653] -->
<h3 class="sectionedit11" id="post_data">POST data</h3> <h3 class="sectionedit11" id="post_data">POST data</h3>
<div class="level3"> <div class="level3">
...@@ -408,7 +408,7 @@ See <strong><a href="formreplay.html" class="wikilink1" title="documentation:2.0 ...@@ -408,7 +408,7 @@ See <strong><a href="formreplay.html" class="wikilink1" title="documentation:2.0
</p> </p>
</div> </div>
<!-- EDIT11 SECTION "POST data" [8655-8789] --> <!-- EDIT11 SECTION "POST data" [8654-8788] -->
<h3 class="sectionedit12" id="options">Options</h3> <h3 class="sectionedit12" id="options">Options</h3>
<div class="level3"> <div class="level3">
...@@ -435,6 +435,6 @@ Some options are available: ...@@ -435,6 +435,6 @@ Some options are available:
</p> </p>
</div> </div>
<!-- EDIT12 SECTION "Options" [8790-] --></div> <!-- EDIT12 SECTION "Options" [8789-] --></div>
</body> </body>
</html> </html>
...@@ -48,7 +48,7 @@ ...@@ -48,7 +48,7 @@
<div class="level1"> <div class="level1">
<p> <p>
The goal of this handler is to read vhost configuration from the website itself and not in LLNG configuration. Rules and headers are set in a <strong>rules.json</strong> file available at the root of the website (ie <a href="http://website/rules.json" class="urlextern" title="http://website/rules.json" rel="nofollow">http://website/rules.json</a>). This file looks like: This handler is designed to read vhost configuration from the website itself not from LL:NG configuration. Rules and headers are set in a <strong>rules.json</strong> file stored at the website root directory (ie <code>http://website/rules.json</code>). This file looks like:
</p> </p>
<dl class="file"> <dl class="file">
<dt><a href="_export/code/documentation/2.0/devopshandler/codeblock.0.code" title="Download Snippet" class="mediafile mf_json">rules.json</a></dt> <dt><a href="_export/code/documentation/2.0/devopshandler/codeblock.0.code" title="Download Snippet" class="mediafile mf_json">rules.json</a></dt>
...@@ -64,16 +64,16 @@ The goal of this handler is to read vhost configuration from the website itself ...@@ -64,16 +64,16 @@ The goal of this handler is to read vhost configuration from the website itself
</dd></dl> </dd></dl>
<p> <p>
If this file is not found, a default rule is applied (accept) and 1 header is sent (Auth-User ⇒ $uid) If this file is not found, the default rule “accept” is applied and just “Auth-User” header is sent (Auth-User ⇒ $uid).
</p> </p>
<p> <p>
There is nothing to configure to use it except that: No specific configuration is required except that:
</p> </p>
<ul> <ul>
<li class="level1"><div class="li"> you have to choose this handler <em>(directly using VHOSTTYPE environment variable [see below] or using manager if your websites are declared)</em></div> <li class="level1"><div class="li"> you have to choose this specific handler <em>(directly by using <code>VHOSTTYPE</code> environment variable)</em></div>
</li> </li>
<li class="level1"><div class="li"> you can set the loopback <abbr title="Uniform Resource Locator">URL</abbr> needed by the DevOps handler to get /rules.json. Default to <a href="http://127.0.0.1" class="urlextern" title="http://127.0.0.1" rel="nofollow">http://127.0.0.1</a>:&lt;server-port&gt;</div> <li class="level1"><div class="li"> you can set the loopback <abbr title="Uniform Resource Locator">URL</abbr> needed by the DevOps handler to get <code>/rules.json</code> or use <code>RULES_<abbr title="Uniform Resource Locator">URL</abbr></code> parameter to set JSON file path <em>(see <a href="ssoaas.html" class="wikilink1" title="documentation:2.0:ssoaas">SSO as a Service</a>)</em>. Default to <code>http://127.0.0.1:&lt;server-port&gt;</code></div>
</li> </li>
</ul> </ul>
<div class="noteimportant">Note that DevOps handler will refuse to compile rules.json if <a href="safejail.html" class="wikilink1" title="documentation:2.0:safejail">Safe Jail</a> isn&#039;t enabled. <div class="noteimportant">Note that DevOps handler will refuse to compile rules.json if <a href="safejail.html" class="wikilink1" title="documentation:2.0:safejail">Safe Jail</a> isn&#039;t enabled.
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<meta charset="utf-8" /> <meta charset="utf-8" />
<title>documentation:2.0:handlerarch</title> <title>documentation:2.0:handlerarch</title>
<meta name="generator" content="DokuWiki"/> <meta name="generator" content="DokuWiki"/>
<meta name="robots" content="noindex,nofollow"/> <meta name="robots" content="index,follow"/>
<meta name="keywords" content="documentation,2.0,handlerarch"/> <meta name="keywords" content="documentation,2.0,handlerarch"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/> <link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="handlerarch.html"/> <link rel="start" href="handlerarch.html"/>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<meta charset="utf-8" /> <meta charset="utf-8" />
<title>documentation:2.0:handlerauthbasic</title> <title>documentation:2.0:handlerauthbasic</title>
<meta name="generator" content="DokuWiki"/> <meta name="generator" content="DokuWiki"/>
<meta name="robots" content="noindex,nofollow"/> <meta name="robots" content="index,follow"/>
<meta name="keywords" content="documentation,2.0,handlerauthbasic"/> <meta name="keywords" content="documentation,2.0,handlerauthbasic"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/> <link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="handlerauthbasic.html"/> <link rel="start" href="handlerauthbasic.html"/>
...@@ -127,7 +127,7 @@ Since 1.9.6, LLNG FastCGI server can handle AuthBasic handler. To call it, you j ...@@ -127,7 +127,7 @@ Since 1.9.6, LLNG FastCGI server can handle AuthBasic handler. To call it, you j
# Keep original hostname # Keep original hostname
fastcgi_param HOST $http_host; fastcgi_param HOST $http_host;
# Keep original request (LLNG server will received /llauth) # Keep original request (LLNG server will receive /lmauth)
fastcgi_param X_ORIGINAL_URI $request_uri; fastcgi_param X_ORIGINAL_URI $request_uri;
} }
location / { location / {
...@@ -144,7 +144,7 @@ location / { ...@@ -144,7 +144,7 @@ location / {
}</pre> }</pre>
</div> </div>
<!-- EDIT5 SECTION "Nginx" [1091-2114] --> <!-- EDIT5 SECTION "Nginx" [1091-2113] -->
<h3 class="sectionedit6" id="handler_parameters">Handler parameters</h3> <h3 class="sectionedit6" id="handler_parameters">Handler parameters</h3>
<div class="level3"> <div class="level3">
...@@ -153,6 +153,6 @@ No parameters needed. But you have to allow sessions web services, see <a href=" ...@@ -153,6 +153,6 @@ No parameters needed. But you have to allow sessions web services, see <a href="
</p> </p>
</div> </div>
<!-- EDIT6 SECTION "Handler parameters" [2115-] --></div> <!-- EDIT6 SECTION "Handler parameters" [2114-] --></div>
</body> </body>
</html> </html>
...@@ -142,7 +142,7 @@ handler.<span class="me1">nginxServer</span><span class="br0">&#40;</span><span ...@@ -142,7 +142,7 @@ handler.<span class="me1">nginxServer</span><span class="br0">&#40;</span><span
# Keep original hostname # Keep original hostname
fastcgi_param HOST $http_host; fastcgi_param HOST $http_host;
&nbsp; &nbsp;
# Keep original request (LLNG server will received /lmauth) # Keep original request (LLNG server will receive /lmauth)
fastcgi_param X_ORIGINAL_URI $request_uri; fastcgi_param X_ORIGINAL_URI $request_uri;
} }
&nbsp; &nbsp;
...@@ -158,7 +158,7 @@ handler.<span class="me1">nginxServer</span><span class="br0">&#40;</span><span ...@@ -158,7 +158,7 @@ handler.<span class="me1">nginxServer</span><span class="br0">&#40;</span><span
</dd></dl> </dd></dl>
</div> </div>
<!-- EDIT3 SECTION "Use it as FastCGI server (application protection only)" [732-1913] --> <!-- EDIT3 SECTION "Use it as FastCGI server (application protection only)" [732-1912] -->
<h3 class="sectionedit4" id="use_it_to_protect_an_express_app">Use it to protect an express app</h3> <h3 class="sectionedit4" id="use_it_to_protect_an_express_app">Use it to protect an express app</h3>
<div class="level3"> <div class="level3">
<dl class="file"> <dl class="file">
...@@ -188,6 +188,6 @@ app.<span class="me1">listen</span><span class="br0">&#40;</span><span class="nu ...@@ -188,6 +188,6 @@ app.<span class="me1">listen</span><span class="br0">&#40;</span><span class="nu
</dd></dl> </dd></dl>
</div> </div>
<!-- EDIT4 SECTION "Use it to protect an express app" [1914-] --></div> <!-- EDIT4 SECTION "Use it to protect an express app" [1913-] --></div>
</body> </body>
</html> </html>
...@@ -183,7 +183,7 @@ Natively, Nginx supportes FastCGI and uWSGI protocoles. ...@@ -183,7 +183,7 @@ Natively, Nginx supportes FastCGI and uWSGI protocoles.
<p> <p>
Therefore, LLNG services can be provided by compatible external servers. Therefore, LLNG services can be provided by compatible external servers.
</p> </p>
<div class="notetip">FastCGI or uWSGI server(s) can be installed on separate hosts. Also you can imagine a global cloud-FastCGI/uWSGI-service for all your Nginx servers. See <a href="ssoaas.html" class="wikilink1" title="documentation:2.0:ssoaas">SSO as a service (SSOaaS)</a> for more. <div class="notetip">FastCGI or uWSGI server(s) can be installed on separate hosts. Also you can imagine a global cloud-FastCGI/uWSGI-service for all your Nginx servers. See more at <a href="ssoaas.html" class="wikilink1" title="documentation:2.0:ssoaas">SSO as a service (SSOaaS)</a>.
</div> </div>
</div> </div>
...@@ -191,7 +191,7 @@ Therefore, LLNG services can be provided by compatible external servers. ...@@ -191,7 +191,7 @@ Therefore, LLNG services can be provided by compatible external servers.
<div class="level4"> <div class="level4">
<p> <p>
By default, LLNG provides a Plack based FastCGI server able to afford all LLNG services using <a href="https://metacpan.org/pod/Plack::Handler::FCGI" class="urlextern" title="https://metacpan.org/pod/Plack::Handler::FCGI" rel="nofollow">FCGI</a> engine <strong>(default)</strong>. By default, LLNG provides a Plack based FastCGI server able to afford all LLNG services using <a href="https://metacpan.org/pod/Plack::Handler::FCGI" class="urlextern" title="https://metacpan.org/pod/Plack::Handler::FCGI" rel="nofollow">FCGI</a> engine.
</p> </p>
<p> <p>
...@@ -211,7 +211,7 @@ However, you can use some other FastCGI server engines: ...@@ -211,7 +211,7 @@ However, you can use some other FastCGI server engines:
<li class="level1"><div class="li"> <a href="https://github.com/LemonLDAPNG/node-lemonldap-ng-handler#nginx-authorization-server" class="urlextern" title="https://github.com/LemonLDAPNG/node-lemonldap-ng-handler#nginx-authorization-server" rel="nofollow">LLNG FastCGI server for Node.js</a>(*)</div> <li class="level1"><div class="li"> <a href="https://github.com/LemonLDAPNG/node-lemonldap-ng-handler#nginx-authorization-server" class="urlextern" title="https://github.com/LemonLDAPNG/node-lemonldap-ng-handler#nginx-authorization-server" rel="nofollow">LLNG FastCGI server for Node.js</a>(*)</div>
</li> </li>
</ul> </ul>
<div class="notewarning">(*) LLNG Node.js handler can be used only as Nginx `auth_request` server, not to serve Portal or Manager <div class="notewarning">(*) LLNG Node.js handler can only be used as Nginx `auth_request` server, not to serve Portal or Manager
</div> </div>
</div> </div>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<meta charset="utf-8" /> <meta charset="utf-8" />
<title>documentation:2.0:portal</title> <title>documentation:2.0:portal</title>
<meta name="generator" content="DokuWiki"/> <meta name="generator" content="DokuWiki"/>
<meta name="robots" content="index,follow"/> <meta name="robots" content="noindex,nofollow"/>
<meta name="keywords" content="documentation,2.0,portal"/> <meta name="keywords" content="documentation,2.0,portal"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/> <link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="portal.html"/> <link rel="start" href="portal.html"/>
...@@ -57,7 +57,7 @@ The portal is the main component of <abbr title="LemonLDAP::NG">LL::NG</abbr>. I ...@@ -57,7 +57,7 @@ The portal is the main component of <abbr title="LemonLDAP::NG">LL::NG</abbr>. I
<ul> <ul>
<li class="level3"><div class="li"> using own database (<a href="authldap.html" class="wikilink1" title="documentation:2.0:authldap">LDAP</a>, <a href="authdbi.html" class="wikilink1" title="documentation:2.0:authdbi">SQL</a>, …)</div> <li class="level3"><div class="li"> using own database (<a href="authldap.html" class="wikilink1" title="documentation:2.0:authldap">LDAP</a>, <a href="authdbi.html" class="wikilink1" title="documentation:2.0:authdbi">SQL</a>, …)</div>
</li> </li>
<li class="level3"><div class="li"> using Apache authentication system (used for <a href="authssl.html" class="wikilink1" title="documentation:2.0:authssl">SSL</a>, <a href="authapache.html" class="wikilink1" title="documentation:2.0:authapache">Kerberos</a>, <a href="authapache.html" class="wikilink1" title="documentation:2.0:authapache">HTTP basic authentication</a>, …)</div> <li class="level3"><div class="li"> using web server authentication system (used for <a href="authssl.html" class="wikilink1" title="documentation:2.0:authssl">SSL</a>, <a href="authapache.html" class="wikilink1" title="documentation:2.0:authapache">Kerberos</a>, <a href="authapache.html" class="wikilink1" title="documentation:2.0:authapache">HTTP basic authentication</a>, …)</div>
</li> </li>
<li class="level3"><div class="li"> using external identity provider (<a href="authsaml.html" class="wikilink1" title="documentation:2.0:authsaml">SAML</a>, <a href="authopenid.html" class="wikilink1" title="documentation:2.0:authopenid">OpenID</a>, <a href="authcas.html" class="wikilink1" title="documentation:2.0:authcas">CAS</a>, <a href="authtwitter.html" class="wikilink1" title="documentation:2.0:authtwitter">Twitter</a>, other <abbr title="LemonLDAP::NG">LL::NG</abbr> system, …)</div> <li class="level3"><div class="li"> using external identity provider (<a href="authsaml.html" class="wikilink1" title="documentation:2.0:authsaml">SAML</a>, <a href="authopenid.html" class="wikilink1" title="documentation:2.0:authopenid">OpenID</a>, <a href="authcas.html" class="wikilink1" title="documentation:2.0:authcas">CAS</a>, <a href="authtwitter.html" class="wikilink1" title="documentation:2.0:authtwitter">Twitter</a>, other <abbr title="LemonLDAP::NG">LL::NG</abbr> system, …)</div>
</li> </li>
...@@ -102,7 +102,7 @@ The portal is the main component of <abbr title="LemonLDAP::NG">LL::NG</abbr>. I ...@@ -102,7 +102,7 @@ The portal is the main component of <abbr title="LemonLDAP::NG">LL::NG</abbr>. I
</ul> </ul>
</div> </div>
<!-- EDIT1 SECTION "The portal" [1-1812] --> <!-- EDIT1 SECTION "The portal" [1-1816] -->
<h2 class="sectionedit2" id="functioning">Functioning</h2> <h2 class="sectionedit2" id="functioning">Functioning</h2>
<div class="level2"> <div class="level2">
...@@ -122,7 +122,7 @@ The portal is the main component of <abbr title="LemonLDAP::NG">LL::NG</abbr>. I ...@@ -122,7 +122,7 @@ The portal is the main component of <abbr title="LemonLDAP::NG">LL::NG</abbr>. I
<div class="notetip">Each module can be disabled using the <code>Null</code> backend. <div class="notetip">Each module can be disabled using the <code>Null</code> backend.
</div> </div>
</div> </div>
<!-- EDIT2 SECTION "Functioning" [1813-2359] --> <!-- EDIT2 SECTION "Functioning" [1817-2363] -->
<h2 class="sectionedit3" id="kinematics">Kinematics</h2> <h2 class="sectionedit3" id="kinematics">Kinematics</h2>
<div class="level2"> <div class="level2">
<ol> <ol>
...@@ -130,13 +130,13 @@ The portal is the main component of <abbr title="LemonLDAP::NG">LL::NG</abbr>. I ...@@ -130,13 +130,13 @@ The portal is the main component of <abbr title="LemonLDAP::NG">LL::NG</abbr>. I
</li> </li>
<li class="level1"><div class="li"> Check if user is already authenticated</div> <li class="level1"><div class="li"> Check if user is already authenticated</div>
<ul> <ul>
<li class="level2"><div class="li"> If not authenticated (or authentication is forced) try to find it (userDB module) and to authenticate it (auth module), create session, calculate groups and macros and store them. In 1.3, <abbr title="LemonLDAP::NG">LL::NG</abbr> have a captcha feature which is used in this case.</div> <li class="level2"><div class="li"> If not authenticated (or authentication is forced) try to find it (userDB module) and to authenticate it (auth module), create session, ask for second factor if required, calculate groups and macros and store them. In 1.3, <abbr title="LemonLDAP::NG">LL::NG</abbr> has got a captcha feature which is used in this case.</div>
</li> </li>
</ul> </ul>
</li> </li>
<li class="level1"><div class="li"> Modify password if asked</div> <li class="level1"><div class="li"> Modify password if asked (password module)</div>
</li> </li>
<li class="level1"><div class="li"> Provides identity if asked</div> <li class="level1"><div class="li"> Provides identity if asked (IdP module)</div>
</li> </li>
<li class="level1"><div class="li"> Build <a href="ssocookie.html" class="wikilink1" title="documentation:2.0:ssocookie">cookie(s)</a></div> <li class="level1"><div class="li"> Build <a href="ssocookie.html" class="wikilink1" title="documentation:2.0:ssocookie">cookie(s)</a></div>
</li> </li>
...@@ -146,6 +146,6 @@ The portal is the main component of <abbr title="LemonLDAP::NG">LL::NG</abbr>. I ...@@ -146,6 +146,6 @@ The portal is the main component of <abbr title="LemonLDAP::NG">LL::NG</abbr>. I
<div class="noteclassic">See also <a href="documentation/presentation.html#kinematics" class="wikilink1" title="documentation:presentation">general kinematics presentation</a>. <div class="noteclassic">See also <a href="documentation/presentation.html#kinematics" class="wikilink1" title="documentation:presentation">general kinematics presentation</a>.
</div> </div>
</div> </div>
<!-- EDIT3 SECTION "Kinematics" [2360-] --></div> <!-- EDIT3 SECTION "Kinematics" [2364-] --></div>
</body> </body>
</html> </html>
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<meta charset="utf-8" /> <meta charset="utf-8" />
<title>documentation:2.0:prereq</title> <title>documentation:2.0:prereq</title>
<meta name="generator" content="DokuWiki"/> <meta name="generator" content="DokuWiki"/>
<meta name="robots" content="index,follow"/> <meta name="robots" content="noindex,nofollow"/>
<meta name="keywords" content="documentation,2.0,prereq"/> <meta name="keywords" content="documentation,2.0,prereq"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/> <link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="prereq.html"/> <link rel="start" href="prereq.html"/>
...@@ -103,10 +103,10 @@ For Apache2, you can use all workers mpm-worker, mpm-prefork and mpm-event. Mpm- ...@@ -103,10 +103,10 @@ For Apache2, you can use all workers mpm-worker, mpm-prefork and mpm-event. Mpm-
<!-- EDIT2 SECTION "Web Server" [48-610] --> <!-- EDIT2 SECTION "Web Server" [48-610] -->
<h2 class="sectionedit3" id="perl">Perl</h2> <h2 class="sectionedit3" id="perl">Perl</h2>
<div class="level2"> <div class="level2">
<div class="noteclassic">Here is the list of Perl modules used in LemonLDAP::NG. Core modules must be installed on the system. Other modules must be installed only if you planned to use the related feature. <div class="noteclassic">Here the list of Perl modules used in LemonLDAP::NG. Core modules must be installed on the system. Other modules must be installed only if you planned to use the related feature.
</div> </div>
</div> </div>
<!-- EDIT3 SECTION "Perl" [611-824] --> <!-- EDIT3 SECTION "Perl" [611-821] -->
<h3 class="sectionedit4" id="core">Core</h3> <h3 class="sectionedit4" id="core">Core</h3>
<div class="level3"> <div class="level3">
<ul> <ul>
...@@ -181,7 +181,7 @@ For Apache2, you can use all workers mpm-worker, mpm-prefork and mpm-event. Mpm- ...@@ -181,7 +181,7 @@ For Apache2, you can use all workers mpm-worker, mpm-prefork and mpm-event. Mpm-
</ul> </ul>
</div> </div>
<!-- EDIT4 SECTION "Core" [825-1448] --> <!-- EDIT4 SECTION "Core" [822-1445] -->
<h3 class="sectionedit5" id="deprecated_features">Deprecated features</h3> <h3 class="sectionedit5" id="deprecated_features">Deprecated features</h3>
<div class="level3"> <div class="level3">
<ul> <ul>
...@@ -204,7 +204,7 @@ For Apache2, you can use all workers mpm-worker, mpm-prefork and mpm-event. Mpm- ...@@ -204,7 +204,7 @@ For Apache2, you can use all workers mpm-worker, mpm-prefork and mpm-event. Mpm-
</ul> </ul>
</div> </div>
<!-- EDIT5 SECTION "Deprecated features" [1449-1617] --> <!-- EDIT5 SECTION "Deprecated features" [1446-1614] -->
<h3 class="sectionedit6" id="saml2">SAML2</h3> <h3 class="sectionedit6" id="saml2">SAML2</h3>
<div class="level3"> <div class="level3">
<ul> <ul>
...@@ -217,7 +217,7 @@ For Apache2, you can use all workers mpm-worker, mpm-prefork and mpm-event. Mpm- ...@@ -217,7 +217,7 @@ For Apache2, you can use all workers mpm-worker, mpm-prefork and mpm-event. Mpm-
</ul> </ul>
</div> </div>
<!-- EDIT6 SECTION "SAML2" [1618-1703] --> <!-- EDIT6 SECTION "SAML2" [1615-1700] -->
<h3 class="sectionedit7" id="specific_authentication_backends">Specific authentication backends</h3> <h3 class="sectionedit7" id="specific_authentication_backends">Specific authentication backends</h3>
<div class="level3"> <div class="level3">
<ul> <ul>
...@@ -260,7 +260,7 @@ For Apache2, you can use all workers mpm-worker, mpm-prefork and mpm-event. Mpm- ...@@ -260,7 +260,7 @@ For Apache2, you can use all workers mpm-worker, mpm-prefork and mpm-event. Mpm-
</ul> </ul>
</div> </div>
<!-- EDIT7 SECTION "Specific authentication backends" [1704-1932] --> <!-- EDIT7 SECTION "Specific authentication backends" [1701-1929] -->
<h3 class="sectionedit8" id="smtpreset_password_by_mail">SMTP / Reset password by mail</h3> <h3 class="sectionedit8" id="smtpreset_password_by_mail">SMTP / Reset password by mail</h3>
<div class="level3"> <div class="level3">
<ul> <ul>
...@@ -271,7 +271,7 @@ For Apache2, you can use all workers mpm-worker, mpm-prefork and mpm-event. Mpm- ...@@ -271,7 +271,7 @@ For Apache2, you can use all workers mpm-worker, mpm-prefork and mpm-event. Mpm-
</ul> </ul>
</div> </div>
<!-- EDIT8 SECTION "SMTP / Reset password by mail" [1933-2011] --> <!-- EDIT8 SECTION "SMTP / Reset password by mail" [1930-2008] -->
<h3 class="sectionedit9" id="unit_tests">Unit tests</h3> <h3 class="sectionedit9" id="unit_tests">Unit tests</h3>
<div class="level3"> <div class="level3">
<ul> <ul>
...@@ -284,7 +284,7 @@ For Apache2, you can use all workers mpm-worker, mpm-prefork and mpm-event. Mpm- ...@@ -284,7 +284,7 @@ For Apache2, you can use all workers mpm-worker, mpm-prefork and mpm-event. Mpm-
</ul> </ul>
</div> </div>
<!-- EDIT9 SECTION "Unit tests" [2012-2078] -->