Commit f5a23974 authored by Xavier Guimard's avatar Xavier Guimard

Update doc

parent 52599c5e
......@@ -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=0b96dfdde10e54bc7b60aeaed5a35886" 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=e9b6452ada37d1a15efef5e85fe4e450" 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;1521571149" width="2" height="1" alt="" /></div>
<div class="no"><img src="/lib/exe/indexer.php?id=documentation%3A2.0%3Aapplications%3Aimg%3Aicons.png&amp;1521784158" width="2" height="1" alt="" /></div>
<div id="screen__mode" class="no">
<span class="visible-xs"></span>
<span class="visible-sm"></span>
......
......@@ -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=0b96dfdde10e54bc7b60aeaed5a35886" 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=e9b6452ada37d1a15efef5e85fe4e450" 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;1521571149" width="2" height="1" alt="" /></div>
<div class="no"><img src="/lib/exe/indexer.php?id=documentation%3A2.0%3Aapplications%3Aimg%3Aloader.gif&amp;1521784158" width="2" height="1" alt="" /></div>
<div id="screen__mode" class="no">
<span class="visible-xs"></span>
<span class="visible-sm"></span>
......
......@@ -4,7 +4,7 @@
<meta charset="utf-8" />
<title>documentation:2.0:confignginx</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,confignginx"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="confignginx.html"/>
......@@ -74,11 +74,11 @@
<div class="level2">
<p>
To use Nginx, you must install LemonLDAP::NG FastCGI server, which is not installed by lemonldap-ng metapackage.
To use Nginx, you must install LemonLDAP::NG FastCGI server or use <code>llngapp.psgi</code> <em>(provided in examples)</em> with a PSGI server. See <a href="psgi.html" class="wikilink1" title="documentation:2.0:psgi">Advanced PSGI usage</a>.
</p>
</div>
<!-- EDIT2 SECTION "FastCGI server" [43-184] -->
<!-- EDIT2 SECTION "FastCGI server" [43-236] -->
<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" [185-385] -->
<!-- EDIT3 SECTION "Debian/Ubuntu" [237-437] -->
<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" [386-587] -->
<!-- EDIT4 SECTION "Red Hat/CentOS" [438-639] -->
<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" [588-810] -->
<!-- EDIT5 SECTION "Files" [640-862] -->
<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" [811-1569] -->
<!-- EDIT6 SECTION "Debian/Ubuntu" [863-1621] -->
<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" [1570-] --></div>
<!-- EDIT7 SECTION "Red Hat/CentOS" [1622-] --></div>
</body>
</html>
......@@ -48,11 +48,11 @@
<div class="level1">
<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.
<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.
</p>
</div>
<!-- EDIT1 SECTION "Deploy LemonLDAP::NG on a Plack server" [1-295] -->
<!-- EDIT1 SECTION "Deploy LemonLDAP::NG on a Plack server" [1-377] -->
<h2 class="sectionedit2" id="complete_example">Complete example</h2>
<div class="level2">
<dl class="file">
......@@ -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>
</div>
<!-- EDIT2 SECTION "Complete example" [296-] --></div>
<!-- EDIT2 SECTION "Complete example" [378-] --></div>
</body>
</html>
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8" />
<title>documentation:2.0:highperfnginxhandler</title>
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="noindex,nofollow"/>
<meta name="keywords" content="documentation,2.0,highperfnginxhandler"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="highperfnginxhandler.html"/>
<link rel="contents" href="highperfnginxhandler.html" title="Sitemap"/>
<link rel="stylesheet" type="text/css" href="lib/exe/css.php.t.bootstrap3.css"/>
<!-- //if:usedebianlibs
<link rel="stylesheet" type="text/css" href="/javascript/bootstrap/css/bootstrap.min.css" />
//elsif:useexternallibs
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"></script>
//elsif:cssminified
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.min.css" />
//else -->
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.css" />
<!-- //endif -->
<script type="text/javascript">/*<![CDATA[*/var NS='documentation:2.0';var JSINFO = {"id":"documentation:2.0:highperfnginxhandler","namespace":"documentation:2.0"};
/*!]]>*/</script>
<script type="text/javascript" charset="utf-8" src="lib/exe/js.php.t.bootstrap3.js"></script>
<!-- //if:usedebianlibs
<script type="text/javascript" src="/javascript/jquery/jquery.min.js"></script>
//elsif:useexternallibs
<script type="text/javascript" src="http://code.jquery.com/jquery-2.2.0.min.js"></script>
//elsif:jsminified
<script type="text/javascript" src="/static/bwr/jquery/dist/jquery.min.js"></script>
//else -->
<script type="text/javascript" src="/static/bwr/jquery/dist/jquery.js"></script>
<!-- //endif -->
<!-- //if:usedebianlibs
<script type="text/javascript" src="/javascript/jquery-ui/jquery-ui.min.js"></script>
//elsif:useexternallibs
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.4/jquery-ui.min.js"></script>
//elsif:jsminified
<script type="text/javascript" src="/static/bwr/jquery-ui/jquery-ui.min.js"></script>
//else -->
<script type="text/javascript" src="/static/bwr/jquery-ui/jquery-ui.js"></script>
<!-- //endif -->
</head>
<body>
<div class="dokuwiki export container">
<h1 class="sectionedit1" id="high_performance_handler_for_nginx">High performance handler for Nginx</h1>
<div class="level1">
<p>
By default, LLNG-FastCGI-Server provides a FastCGI server that handles all LLNG services using a FastCGI socket.
</p>
<p>
To increase handler performances, It can be replaced by any Plack family server using for examle this simple app:
</p>
<dl class="file">
<dt><a href="_export/code/documentation/2.0/highperfnginxhandler/codeblock.0.code" title="Download Snippet" class="mediafile mf_psgi">app.psgi</a></dt>
<dd><pre class="code file perl"><a href="http://perldoc.perl.org/functions/require.html"><span class="kw3">require</span></a> Lemonldap<span class="sy0">::</span><span class="me2">NG</span><span class="sy0">::</span><span class="me2">Handler</span><span class="sy0">::</span><span class="me2">Server</span><span class="sy0">::</span><span class="me2">Nginx</span><span class="sy0">;</span>
Lemonldap<span class="sy0">::</span><span class="me2">NG</span><span class="sy0">::</span><span class="me2">Handler</span><span class="sy0">::</span><span class="me2">Server</span><span class="sy0">::</span><span class="me2">Nginx</span><span class="sy0">-&gt;</span><span class="me1">run</span><span class="br0">&#40;</span> <span class="br0">&#123;</span><span class="br0">&#125;</span> <span class="br0">&#41;</span><span class="sy0">;</span></pre>
</dd></dl>
<p>
Example to launch it:
</p>
<ul>
<li class="level1"><div class="li"> <a href="http://uwsgi-docs.readthedocs.io/en/latest/Perl.html" class="urlextern" title="http://uwsgi-docs.readthedocs.io/en/latest/Perl.html" rel="nofollow">uWSGI</a> <em>(probably the fastest)</em>: <strong>see below</strong></div>
</li>
<li class="level1"><div class="li"> <a href="https://metacpan.org/pod/distribution/Starman/script/starman" class="urlextern" title="https://metacpan.org/pod/distribution/Starman/script/starman" rel="nofollow">Starman</a> <em>(“Prefork” server)</em>: <code>plackup -s Starman –listen 127.0.0.1:9090 app.psgi</code></div>
</li>
<li class="level1"><div class="li"> <a href="https://metacpan.org/pod/twiggy" class="urlextern" title="https://metacpan.org/pod/twiggy" rel="nofollow">Twiggy</a> <em>(“Event” server)</em>: <code>plackup -s Twiggy –listen 127.0.0.1:9090 app.psgi</code></div>
</li>
<li class="level1"><div class="li"> <a href="https://metacpan.org/pod/Twiggy::Prefork" class="urlextern" title="https://metacpan.org/pod/Twiggy::Prefork" rel="nofollow">Twiggy::Prefork</a> <em>(“Event+Prefork” server)</em>: <code>plackup -s Twiggy::Prefork –listen 127.0.0.1:9090 app.psgi</code></div>
</li>
</ul>
<p>
You must so remplace <code>lmauth</code> configuration in Nginx configuration file:
</p>
<pre class="code file nginx"> location = /lmauth {
internal;
proxy_pass http://127.0.0.1:9090/;
&nbsp;
# Drop post datas
proxy_pass_request_body off;
proxy_set_header Content-Length &quot;&quot;;
&nbsp;
# Keep original hostname
proxy_set_header Host $http_host;
&nbsp;
# Keep original request (LLNG server will received /llauth)
proxy_set_header X-Original_Uri $request_uri;
}
...</pre>
</div>
<!-- EDIT1 SECTION "High performance handler for Nginx" [1-1440] -->
<h2 class="sectionedit2" id="using_uwsgi">Using uWSGI</h2>
<div class="level2">
<p>
This configuration requires uWSGI, uWSGI PSGI plugin and Nginx uwsgi module.
</p>
<pre class="code bash"><span class="co4">$ </span>uwsgi <span class="re5">--plugins</span> psgi <span class="re5">--socket</span> :<span class="nu0">5000</span> <span class="re5">--psgi</span> llng-server.psgi</pre>
<p>
Nginx configuration:
</p>
<pre class="code file nginx">upstream uwsgi-test {
server 127.0.0.1:5000;
}
&nbsp;
server {
location = /lmauth {
internal;
include uwsgi_params;
uwsgi_pass_request_body off;
uwsgi_param CONTENT_LENGTH &quot;&quot;;
uwsgi_param HOST $http_host;
uwsgi_param X_ORIGINAL_URI $request_uri;
uwsgi_modifier1 5;
uwsgi_pass uwsgi-test;
}
...
}</pre>
</div>
<!-- EDIT2 SECTION "Using uWSGI" [1441-] --></div>
</body>
</html>
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8" />
<title>documentation:2.0:managertests</title>
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="noindex,nofollow"/>
<meta name="keywords" content="documentation,2.0,managertests"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="managertests.html"/>
<link rel="contents" href="managertests.html" title="Sitemap"/>
<link rel="stylesheet" type="text/css" href="lib/exe/css.php.t.bootstrap3.css"/>
<!-- //if:usedebianlibs
<link rel="stylesheet" type="text/css" href="/javascript/bootstrap/css/bootstrap.min.css" />
//elsif:useexternallibs
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"></script>
//elsif:cssminified
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.min.css" />
//else -->
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.css" />
<!-- //endif -->
<script type="text/javascript">/*<![CDATA[*/var NS='documentation:2.0';var JSINFO = {"id":"documentation:2.0:managertests","namespace":"documentation:2.0"};
/*!]]>*/</script>
<script type="text/javascript" charset="utf-8" src="lib/exe/js.php.t.bootstrap3.js"></script>
<!-- //if:usedebianlibs
<script type="text/javascript" src="/javascript/jquery/jquery.min.js"></script>
//elsif:useexternallibs
<script type="text/javascript" src="http://code.jquery.com/jquery-2.2.0.min.js"></script>
//elsif:jsminified
<script type="text/javascript" src="/static/bwr/jquery/dist/jquery.min.js"></script>
//else -->
<script type="text/javascript" src="/static/bwr/jquery/dist/jquery.js"></script>
<!-- //endif -->
<!-- //if:usedebianlibs
<script type="text/javascript" src="/javascript/jquery-ui/jquery-ui.min.js"></script>
//elsif:useexternallibs
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.4/jquery-ui.min.js"></script>
//elsif:jsminified
<script type="text/javascript" src="/static/bwr/jquery-ui/jquery-ui.min.js"></script>
//else -->
<script type="text/javascript" src="/static/bwr/jquery-ui/jquery-ui.js"></script>
<!-- //endif -->
</head>
<body>
<div class="dokuwiki export container">
<h1 class="sectionedit1" id="ignore_some_manager_tests">Ignore some manager tests</h1>
<div class="level1">
<p>
Each time you save a configuration, Manager launch a lot of tests:
</p>
<ul>
<li class="level1"><div class="li"> unit tests for each key: they are declared in Lemonldap::NG::Manager::Attributes <em>(source Lemonldap::NG::Manager::Build::Attributes)</em></div>
</li>
<li class="level1"><div class="li"> more advanced tests declared in Lemonldap::NG::Manager::Conf::Tests</div>
</li>
</ul>
<p>
In some case <em>(conf overridden in INI file,…)</em>, you may have to ignore some of them. You just have to list them <em>(space separated)</em> in a special key in <code>lemonldap-ng.ini</code>, section <code>[Manager]</code>:
</p>
<ul>
<li class="level1"><div class="li"> <code>skippedUnitTests</code> for unit tests</div>
</li>
<li class="level1"><div class="li"> <code>skippedGlobalTests</code> for global tests</div>
</li>
</ul>
<p>
Example:
</p>
<pre class="code file ini"><span class="re0"><span class="br0">&#91;</span>Manager<span class="br0">&#93;</span></span>
<span class="re1">skippedUnitTests</span> <span class="sy0">=</span><span class="re2"> grantSessionRules portalSkinRules</span>
<span class="re1">skippedGlobalTests</span> <span class="sy0">=</span><span class="re2"> testApacheSession</span></pre>
</div>
</div>
</body>
</html>
......@@ -4,7 +4,7 @@
<meta charset="utf-8" />
<title>documentation:2.0:performances</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,performances"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="performances.html"/>
......@@ -110,6 +110,10 @@ To bypass this, you can:
<h2 class="sectionedit3" id="handler_performance">Handler performance</h2>
<div class="level2">
<p>
For Nginx, you can use another auth server instead of llng-fastcgi-server. See: <a href="highperfnginxhandler.html" class="wikilink1" title="documentation:2.0:highperfnginxhandler">High performance handler for Nginx</a>.
</p>
<p>
To increase handler performance, you can disable “Sessions activity timeout” To prevent it from writing to the session database.
</p>
......@@ -119,7 +123,7 @@ Handlers check rights and calculate headers for each HTTP hit. So to improve per
</p>
</div>
<!-- EDIT3 SECTION "Handler performance" [659-986] -->
<!-- EDIT3 SECTION "Handler performance" [659-1128] -->
<h3 class="sectionedit4" id="macros_and_groups">Macros and groups</h3>
<div class="level3">
......@@ -180,7 +184,7 @@ admin <span class="sy0">-&gt;</span> <span class="re0">$uid</span> <span class="
</div><div class="noteimportant">Macros and groups are computed in alphanumeric order, that is, in the order they are displayed in the manager. For example, macro “macro1” will be computed before macro “macro2”: so, expression of macro2 may involve value of macro1. As same for groups: a group rule may involve another, previously computed group.
</div>
</div>
<!-- EDIT4 SECTION "Macros and groups" [987-3081] -->
<!-- EDIT4 SECTION "Macros and groups" [1129-3223] -->
<h3 class="sectionedit5" id="local_macros">Local macros</h3>
<div class="level3">
......@@ -194,12 +198,12 @@ Display<span class="sy0">-</span>Name <span class="sy0">-&gt;</span> <span class
<div class="notetip">Note that this feature is interesting only for the Lemonldap::NG systems protecting a high number of applications
</div>
</div>
<!-- EDIT5 SECTION "Local macros" [3082-3743] -->
<!-- EDIT5 SECTION "Local macros" [3224-3885] -->
<h2 class="sectionedit6" id="portal_performances">Portal performances</h2>
<div class="level2">
</div>
<!-- EDIT6 SECTION "Portal performances" [3744-3776] -->
<!-- EDIT6 SECTION "Portal performances" [3886-3918] -->
<h3 class="sectionedit7" id="general_performances">General performances</h3>
<div class="level3">
......@@ -222,7 +226,7 @@ By default it uses local storage to store its tokens. If you have more than 1 po
</div>
</div>
<!-- EDIT7 SECTION "General performances" [3777-4643] -->
<!-- EDIT7 SECTION "General performances" [3919-4785] -->
<h3 class="sectionedit8" id="apachesession_performances">Apache::Session performances</h3>
<div class="level3">
......@@ -334,7 +338,7 @@ This test isn&#039;t a “only-backend” test but embed some LLNG methods, so r
<td class="col0 centeralign" colspan="8"> <em>The source of this test is available in sources: e2e-tests/sbperf.pl</em> </td>
</tr>
</table></div>
<!-- EDIT9 TABLE [7534-9437] --><ul>
<!-- EDIT9 TABLE [7676-9579] --><ul>
<li class="level1"><div class="li"> <em><strong>(1) :</strong> “purge” test is done with Apache::Session::Browseable-1.2.5 and LLG-2.0. Earlier results are not so good.</em></div>
</li>
<li class="level1"><div class="li"> <em><strong>(2) :</strong> “purge” test is done with Apache::Session::Browseable-1.2.6 and LLG-2.0.</em></div>
......@@ -358,7 +362,7 @@ Analysis:
</ul>
</div>
<!-- EDIT8 SECTION "Apache::Session performances" [4644-10215] -->
<!-- EDIT8 SECTION "Apache::Session performances" [4786-10357] -->
<h3 class="sectionedit10" id="ldap_performances">LDAP performances</h3>
<div class="level3">
......@@ -395,12 +399,12 @@ Now ldapgroups contains “admin su”
</div>
</div>
<!-- EDIT10 SECTION "LDAP performances" [10216-11345] -->
<!-- EDIT10 SECTION "LDAP performances" [10358-11487] -->
<h2 class="sectionedit11" id="manager_performances">Manager performances</h2>
<div class="level2">
</div>
<!-- EDIT11 SECTION "Manager performances" [11346-11379] -->
<!-- EDIT11 SECTION "Manager performances" [11488-11521] -->
<h3 class="sectionedit12" id="disable_unused_modules">Disable unused modules</h3>
<div class="level3">
......@@ -411,7 +415,7 @@ In lemonldap-ng.ini, set only modules that you will use. By default, configurati
<span class="re1">enabledModules</span> <span class="sy0">=</span><span class="re2"> conf, sessions</span></pre>
</div>
<!-- EDIT12 SECTION "Disable unused modules" [11380-11626] -->
<!-- EDIT12 SECTION "Disable unused modules" [11522-11768] -->
<h3 class="sectionedit13" id="use_static_html_files">Use static HTML files</h3>
<div class="level3">
......@@ -438,6 +442,6 @@ So manager <abbr title="HyperText Markup Language">HTML</abbr> templates will be
</p>
</div>
<!-- EDIT13 SECTION "Use static HTML files" [11627-] --></div>
<!-- EDIT13 SECTION "Use static HTML files" [11769-] --></div>
</body>
</html>
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8" />
<title>documentation:2.0:psgi</title>
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="noindex,nofollow"/>
<meta name="keywords" content="documentation,2.0,psgi"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="psgi.html"/>
<link rel="contents" href="psgi.html" title="Sitemap"/>
<link rel="stylesheet" type="text/css" href="lib/exe/css.php.t.bootstrap3.css"/>
<!-- //if:usedebianlibs
<link rel="stylesheet" type="text/css" href="/javascript/bootstrap/css/bootstrap.min.css" />
//elsif:useexternallibs
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"></script>
//elsif:cssminified
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.min.css" />
//else -->
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.css" />
<!-- //endif -->
<script type="text/javascript">/*<![CDATA[*/var NS='documentation:2.0';var JSINFO = {"id":"documentation:2.0:psgi","namespace":"documentation:2.0"};
/*!]]>*/</script>
<script type="text/javascript" charset="utf-8" src="lib/exe/js.php.t.bootstrap3.js"></script>
<!-- //if:usedebianlibs
<script type="text/javascript" src="/javascript/jquery/jquery.min.js"></script>
//elsif:useexternallibs
<script type="text/javascript" src="http://code.jquery.com/jquery-2.2.0.min.js"></script>
//elsif:jsminified
<script type="text/javascript" src="/static/bwr/jquery/dist/jquery.min.js"></script>
//else -->
<script type="text/javascript" src="/static/bwr/jquery/dist/jquery.js"></script>
<!-- //endif -->
<!-- //if:usedebianlibs
<script type="text/javascript" src="/javascript/jquery-ui/jquery-ui.min.js"></script>
//elsif:useexternallibs
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.4/jquery-ui.min.js"></script>
//elsif:jsminified
<script type="text/javascript" src="/static/bwr/jquery-ui/jquery-ui.min.js"></script>
//else -->
<script type="text/javascript" src="/static/bwr/jquery-ui/jquery-ui.js"></script>
<!-- //endif -->
</head>
<body>
<div class="dokuwiki export container">
<h1 class="sectionedit1" id="advanced_psgi_usage">Advanced PSGI usage</h1>
<div class="level1">
<p>
LLNG is build on <a href="http://plackperl.org/" class="urlextern" title="http://plackperl.org/" rel="nofollow">Plack</a>, so it can be used with any compatible server:
</p>
<ul>
<li class="level1"><div class="li"> <a href="https://metacpan.org/pod/starman" class="urlextern" title="https://metacpan.org/pod/starman" rel="nofollow">Starman</a></div>
</li>
<li class="level1"><div class="li"> <a href="https://metacpan.org/pod/twiggy" class="urlextern" title="https://metacpan.org/pod/twiggy" rel="nofollow">Twiggy</a></div>
</li>
<li class="level1"><div class="li"> <a href="https://metacpan.org/pod/Twiggy::Prefork" class="urlextern" title="https://metacpan.org/pod/Twiggy::Prefork" rel="nofollow">Twiggy::Prefork</a></div>
</li>
<li class="level1"><div class="li"> <a href="https://metacpan.org/pod/feersum" class="urlextern" title="https://metacpan.org/pod/feersum" rel="nofollow">Starman</a></div>
</li>
<li class="level1"><div class="li"> uWSGI using <a href="http://uwsgi-docs.readthedocs.io/en/latest/Perl.html" class="urlextern" title="http://uwsgi-docs.readthedocs.io/en/latest/Perl.html" rel="nofollow">uWSGI PSGI plugin</a></div>
</li>
</ul>
<p>
uWSGI may provide the highest performance.
</p>
</div>
<!-- EDIT1 SECTION "Advanced PSGI usage" [1-477] -->
<h2 class="sectionedit2" id="fastcgi_server_replacement">FastCGI server replacement</h2>
<div class="level2">
<p>
A <code>llng-server.psgi</code> is provided in example directory. It is designed to replace exactly FastCGI server. You can use it :
</p>
<ul>
<li class="level1"><div class="li"> with a FCGI Plack server, but you just have to change llng-fastcgi-server engine <em>(in /etc/default/llng-fastcgi-server)</em> to have the same result</div>
</li>
<li class="level1"><div class="li"> with a HTTP Plack server, not yet tested</div>
</li>
<li class="level1"><div class="li"> with uWSGI <em><strong>(see below)</strong></em></div>
</li>
</ul>
<div class="noteimportant">Starman, Twiggy,… are HTTP servers, not FCGI ones !
</div>
<p>
You can also replace only a part of it to create a specialized FastCGI server (portal,…). Look at <code>llng-server.psgi</code> example and take the part you want to use.
</p>
<p>
There are also some other psgi files in examples directory.
</p>
<p>
See also <a href="highperfnginxhandler.html" class="wikilink1" title="documentation:2.0:highperfnginxhandler">High performance handler for Nginx</a>
</p>
</div>
<!-- EDIT2 SECTION "FastCGI server replacement" [478-1265] -->
<h3 class="sectionedit3" id="using_uwsgi">Using uWSGI</h3>
<div class="level3">
<p>
You must install uWSGI PSGI plugin. Then for example, launch llng-server.psgi <em>(simple example)</em>:
</p>
<pre class="code">uwsgi --plugins psgi --socket :5000 --psgi e2e-tests/llng-server.psgi</pre>
<p>
You will find in LLNG Nginx configuration files some comments that explain how to configure Nginx to use uWSGI instead of LLNG FastCGI server.
</p>
</div>
<!-- EDIT3 SECTION "Using uWSGI" [1266-] --></div>
</body>
</html>
......@@ -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=0b96dfdde10e54bc7b60aeaed5a35886" 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=e9b6452ada37d1a15efef5e85fe4e450" 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;1521571168" width="2" height="1" alt="" /></div>
<div class="no"><img src="/lib/exe/indexer.php?id=documentation%3A2.0%3Arestserverplugin&amp;1521784179" width="2" height="1" alt="" /></div>
<div id="screen__mode" class="no">
<span class="visible-xs"></span>
<span class="visible-sm"></span>
......
......@@ -743,6 +743,10 @@ Sessions are stored using <a href="http://search.cpan.org/perldoc?Apache::Sessio
</li>
<li class="level1"><div class="li"> <a href="fastcgi.html" class="wikilink1" title="documentation:2.0:fastcgi">Fast CGI support</a></div>
</li>
<li class="level1"><div class="li"> <a href="psgi.html" class="wikilink1" title="documentation:2.0:psgi">Advanced PSGI usage</a></div>
</li>
<li class="level1"><div class="li"> <a href="managertests.html" class="wikilink1" title="documentation:2.0:managertests">Ignore some manager tests</a></div>
</li>
<li class="level1"><div class="li"> <a href="parameterlist.html" class="wikilink1" title="documentation:2.0:parameterlist">See full parameters list</a></div>
</li>
</ul>
......@@ -752,7 +756,7 @@ Sessions are stored using <a href="http://search.cpan.org/perldoc?Apache::Sessio
</p>
</div>
<!-- EDIT18 SECTION "Advanced features" [13144-14205] -->
<!-- EDIT18 SECTION "Advanced features" [13144-14285] -->
<h2 class="sectionedit19" id="mini_howtos">Mini howtos</h2>
<div class="level2">
......@@ -783,7 +787,7 @@ Sessions are stored using <a href="http://search.cpan.org/perldoc?Apache::Sessio
</p>
</div>
<!-- EDIT19 SECTION "Mini howtos" [14206-14875] -->
<!-- EDIT19 SECTION "Mini howtos" [14286-14955] -->
<h2 class="sectionedit20" id="exploitation">Exploitation</h2>
<div class="level2">
......@@ -816,7 +820,7 @@ Sessions are stored using <a href="http://search.cpan.org/perldoc?Apache::Sessio
</p>
</div>
<!-- EDIT20 SECTION "Exploitation" [14876-15296] -->
<!-- EDIT20 SECTION "Exploitation" [14956-15376] -->
<h2 class="sectionedit21" id="bug_report">Bug report</h2>
<div class="level2">
......@@ -825,7 +829,7 @@ See <a href="bugreport.html" class="wikilink1" title="bugreport">How to report a
</p>
</div>
<!-- EDIT21 SECTION "Bug report" [15297-15361] -->
<!-- EDIT21 SECTION "Bug report" [15377-15441] -->
<h2 class="sectionedit22" id="developer_corner">Developer corner</h2>
<div class="level2">
......@@ -896,6 +900,6 @@ To translate this doc (Manager help):
</ul>
</div>
<!-- EDIT22 SECTION "Developer corner" [15362-] --></div>
<!-- EDIT22 SECTION "Developer corner" [15442-] --></div>
</body>
</html>
......@@ -4,7 +4,7 @@
<meta charset="utf-8" />
<title>documentation:2.0:status</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,status"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="status.html"/>
......@@ -49,25 +49,63 @@
<div>
<ul class="toc">
<li class="level1"><div class="li"><a href="#presentation">Presentation</a></div></li>
<li class="level1"><div class="li"><a href="#configuration">Configuration</a></div>
<li class="level1"><div class="li"><a href="#portal_status_experimental">Portal Status (experimental)</a></div>
<ul class="toc">
<li class="level2"><div class="li"><a href="#apache">Apache</a></div></li>
<li class="level2"><div class="li"><a href="#lemonldapng">LemonLDAP::NG</a></div></li>
<li class="level2"><div class="li"><a href="#configuration">Configuration</a></div></li>
</ul>
</li>
<li class="level1"><div class="li"><a href="#handler_status">Handler Status</a></div>
<ul class="toc">
<li class="level2"><div class="li"><a href="#presentation">Presentation</a></div></li>
<li class="level2"><div class="li"><a href="#configuration1">Configuration</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="#nginx">Nginx</a></div></li>
<li class="level3"><div class="li"><a href="#lemonldapng">LemonLDAP::NG</a></div></li>
</ul></li>
</ul></li>
</ul>
</div>
</div>
<!-- TOC END -->
<h1 class="sectionedit1" id="handler_status">Handler Status</h1>
<h1 class="sectionedit1" id="status_pages">Status pages</h1>
<div class="level1">
</div>
<!-- EDIT1 SECTION "Handler Status" [1-30] -->
<h2 class="sectionedit2" id="presentation">Presentation</h2>
<!-- EDIT1 SECTION "Status pages" [1-28] -->
<h2 class="sectionedit2" id="portal_status_experimental">Portal Status (experimental)</h2>
<div class="level2">
<p>
The portal displays in JSON format its activity. Unlike handler, this is not the full activity of the server, but for now just the activity of 1 thread. This can give a view to all returned codes.
</p>
</div>
<!-- EDIT2 SECTION "Portal Status (experimental)" [29-268] -->
<h3 class="sectionedit3" id="configuration">Configuration</h3>
<div class="level3">
<p>
* Set <code>portalStatus = 1</code> in lemonldap-ng.ini file (section <code>[Portal]</code>)
* Protect <a href="http://portal/portalStatus" class="urlextern" title="http://portal/portalStatus" rel="nofollow">http://portal/portalStatus</a> using your webserver configuration
</p>
<p>
Status is displayed by calling this <abbr title="Uniform Resource Locator">URL</abbr>.
</p>
</div>
<!-- EDIT3 SECTION "Configuration" [269-485] -->
<h2 class="sectionedit4" id="handler_status">Handler Status</h2>
<div class="level2">