2016-10-15 19:57:04 +02:00
<!DOCTYPE html>
< html lang = "en" dir = "ltr" >
< head >
< meta charset = "utf-8" / >
< title > documentation:2.0:prereq< / title >
< meta name = "generator" content = "DokuWiki" / >
2018-06-25 23:17:51 +02:00
< meta name = "robots" content = "index,follow" / >
2016-10-15 19:57:04 +02:00
< 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 = "start" href = "prereq.html" / >
< link rel = "contents" href = "prereq.html" title = "Sitemap" / >
< link rel = "stylesheet" type = "text/css" href = "lib/exe/css.php.t.bootstrap3.css" / >
2017-02-07 17:35:26 +01:00
<!-- //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 -->
2016-10-15 19:57:04 +02:00
< script type = "text/javascript" > / * < ! [ C D A T A [ * / v a r N S = ' d o c u m e n t a t i o n : 2 . 0 ' ; v a r J S I N F O = { " i d " : " d o c u m e n t a t i o n : 2 . 0 : p r e r e q " , " n a m e s p a c e " : " d o c u m e n t a t i o n : 2 . 0 " } ;
/*!]]>*/< / script >
< script type = "text/javascript" charset = "utf-8" src = "lib/exe/js.php.t.bootstrap3.js" > < / script >
2017-02-07 17:35:26 +01:00
<!-- //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
2018-03-08 13:29:31 +01:00
< script type = "text/javascript" src = "/static/bwr/jquery-ui/jquery-ui.min.js" > < / script >
2017-02-07 17:35:26 +01:00
//else -->
2018-03-08 13:29:31 +01:00
< script type = "text/javascript" src = "/static/bwr/jquery-ui/jquery-ui.js" > < / script >
2017-02-07 17:35:26 +01:00
<!-- //endif -->
2016-10-15 19:57:04 +02:00
< / head >
< body >
< div class = "dokuwiki export container" >
<!-- TOC START -->
< div id = "dw__toc" >
< h3 class = "toggle" > Table of Contents< / h3 >
< div >
< ul class = "toc" >
< li class = "level1" > < div class = "li" > < a href = "#web_server" > Web Server< / a > < / div > < / li >
< li class = "level1" > < div class = "li" > < a href = "#perl" > Perl< / a > < / div >
< ul class = "toc" >
< li class = "level2" > < div class = "li" > < a href = "#core" > Core< / a > < / div > < / li >
2017-08-30 18:47:22 +02:00
< li class = "level2" > < div class = "li" > < a href = "#deprecated_features" > Deprecated features< / a > < / div > < / li >
2016-10-15 19:57:04 +02:00
< li class = "level2" > < div class = "li" > < a href = "#saml2" > SAML2< / a > < / div > < / li >
2017-08-30 18:47:22 +02:00
< li class = "level2" > < div class = "li" > < a href = "#specific_authentication_backends" > Specific authentication backends< / a > < / div > < / li >
2016-10-15 19:57:04 +02:00
< li class = "level2" > < div class = "li" > < a href = "#smtpreset_password_by_mail" > SMTP / Reset password by mail< / a > < / div > < / li >
2017-08-30 18:47:22 +02:00
< li class = "level2" > < div class = "li" > < a href = "#unit_tests" > Unit tests< / a > < / div > < / li >
2016-10-15 19:57:04 +02:00
< / ul >
< / li >
< li class = "level1" > < div class = "li" > < a href = "#other" > Other< / a > < / div > < / li >
< li class = "level1" > < div class = "li" > < a href = "#install_dependencies_on_your_system" > Install dependencies on your system< / a > < / div >
< ul class = "toc" >
< li class = "level2" > < div class = "li" > < a href = "#apt-get" > APT-GET< / a > < / div > < / li >
< li class = "level2" > < div class = "li" > < a href = "#yum" > YUM< / a > < / div > < / li >
< / ul > < / li >
< / ul >
< / div >
< / div >
<!-- TOC END -->
< h1 class = "sectionedit1" id = "prerequisites_and_dependencies" > Prerequisites and dependencies< / h1 >
< div class = "level1" >
< / div >
<!-- EDIT1 SECTION "Prerequisites and dependencies" [1 - 47] -->
< h2 class = "sectionedit2" id = "web_server" > Web Server< / h2 >
< div class = "level2" >
< p >
To use LemonLDAP::NG, you have the choice of the Web Server :
< / p >
< ul >
2017-08-30 18:47:22 +02:00
< li class = "level1" > < div class = "li" > Nginx< / div >
< / li >
2018-04-17 10:33:26 +02:00
< li class = "level1" > < div class = "li" > Apache 2< / div >
< / li >
< li class = "level1" > < div class = "li" > Any FastCGI or uWSGI compatible Web Server < em > (< strong > Portal and manager only< / strong > )< / em > < / div >
2016-10-15 19:57:04 +02:00
< / li >
< / ul >
< p >
2018-04-17 10:33:26 +02:00
For Apache2, you can use all workers mpm-worker, mpm-prefork and mpm-event. Mpm-worker works faster and LemonLDAP::NG use the thread system for best performance < strong > but since Apache-2.4, mod_perl seems unstable in this configuration< / strong > . If you have to use mpm-prefork (for example if you use PHP), LemonLDAP::NG will work anyway.
< / p >
< p >
< a href = "llng_deps.png_documentation_2.0_prereq.html" class = "media" title = "documentation:2.0:llng_deps.png" > < img src = "llng_deps.480eb0864712527af24b7886eca761d1.png" class = "mediacenter" alt = "" width = "600" / > < / a >
2016-10-15 19:57:04 +02:00
< / p >
< / div >
2018-04-17 10:33:26 +02:00
<!-- EDIT2 SECTION "Web Server" [48 - 610] -->
2016-10-15 19:57:04 +02:00
< h2 class = "sectionedit3" id = "perl" > Perl< / h2 >
< div class = "level2" >
2018-06-07 13:48:21 +02:00
< 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.
2016-10-15 19:57:04 +02:00
< / div >
< / div >
2018-06-07 13:48:21 +02:00
<!-- EDIT3 SECTION "Perl" [611 - 821] -->
2016-10-15 19:57:04 +02:00
< h3 class = "sectionedit4" id = "core" > Core< / h3 >
< div class = "level3" >
< ul >
< li class = "level1" > < div class = "li" > Apache::Session< / div >
< / li >
2017-04-13 19:00:28 +02:00
< li class = "level1" > < div class = "li" > Cache::Cache< / div >
2016-10-15 19:57:04 +02:00
< / li >
2017-04-13 19:00:28 +02:00
< li class = "level1" > < div class = "li" > Clone< / div >
2016-10-15 19:57:04 +02:00
< / li >
2017-04-13 19:00:28 +02:00
< li class = "level1" > < div class = "li" > Config::IniFiles< / div >
2016-10-15 19:57:04 +02:00
< / li >
2017-04-13 19:00:28 +02:00
< li class = "level1" > < div class = "li" > Convert::PEM< / div >
2016-10-15 19:57:04 +02:00
< / li >
2017-04-13 19:00:28 +02:00
< li class = "level1" > < div class = "li" > Crypt::OpenSSL::Bignum< / div >
2016-10-15 19:57:04 +02:00
< / li >
2017-04-13 19:00:28 +02:00
< li class = "level1" > < div class = "li" > Crypt::OpenSSL::RSA< / div >
2016-10-15 19:57:04 +02:00
< / li >
2017-04-13 19:00:28 +02:00
< li class = "level1" > < div class = "li" > Crypt::OpenSSL::X509< / div >
2016-10-15 19:57:04 +02:00
< / li >
< li class = "level1" > < div class = "li" > Crypt::Rijndael< / div >
< / li >
2017-04-13 19:00:28 +02:00
< li class = "level1" > < div class = "li" > < abbr title = "Database Interface" > DBI< / abbr > < / div >
2016-10-15 19:57:04 +02:00
< / li >
2017-08-30 18:47:22 +02:00
< li class = "level1" > < div class = "li" > Digest::HMAC_SHA1< / div >
2016-10-15 19:57:04 +02:00
< / li >
2017-08-30 18:47:22 +02:00
< li class = "level1" > < div class = "li" > Digest::MD5< / div >
2016-10-15 19:57:04 +02:00
< / li >
2017-08-30 18:47:22 +02:00
< li class = "level1" > < div class = "li" > Digest::SHA< / div >
2016-10-15 19:57:04 +02:00
< / li >
2017-10-24 13:04:03 +02:00
< li class = "level1" > < div class = "li" > Email::Sender< / div >
< / li >
2017-04-13 19:00:28 +02:00
< li class = "level1" > < div class = "li" > GD::SecurityImage< / div >
2016-10-15 19:57:04 +02:00
< / li >
2017-04-13 19:00:28 +02:00
< li class = "level1" > < div class = "li" > < abbr title = "HyperText Markup Language" > HTML< / abbr > ::Template< / div >
2016-10-15 19:57:04 +02:00
< / li >
2017-10-24 13:04:03 +02:00
< li class = "level1" > < div class = "li" > HTTP::Headers< / div >
< / li >
< li class = "level1" > < div class = "li" > HTTP::Request< / div >
< / li >
2017-04-13 19:00:28 +02:00
< li class = "level1" > < div class = "li" > IO::String< / div >
2016-10-15 19:57:04 +02:00
< / li >
2017-04-13 19:00:28 +02:00
< li class = "level1" > < div class = "li" > JSON< / div >
2016-10-15 19:57:04 +02:00
< / li >
2017-04-13 19:00:28 +02:00
< li class = "level1" > < div class = "li" > LWP::UserAgent< / div >
2016-10-15 19:57:04 +02:00
< / li >
2017-04-13 19:00:28 +02:00
< li class = "level1" > < div class = "li" > LWP::Protocol::https< / div >
2016-10-15 19:57:04 +02:00
< / li >
2017-04-13 19:00:28 +02:00
< li class = "level1" > < div class = "li" > MIME::Base64< / div >
2016-10-15 19:57:04 +02:00
< / li >
2017-04-13 19:00:28 +02:00
< li class = "level1" > < div class = "li" > MIME::Entity< / div >
2016-10-15 19:57:04 +02:00
< / li >
2017-04-13 19:00:28 +02:00
< li class = "level1" > < div class = "li" > Mouse< / div >
2016-10-15 19:57:04 +02:00
< / li >
2017-04-13 19:00:28 +02:00
< li class = "level1" > < div class = "li" > Net::LDAP< / div >
2016-10-15 19:57:04 +02:00
< / li >
2017-03-07 19:03:53 +01:00
< li class = "level1" > < div class = "li" > Plack< / div >
2016-10-15 19:57:04 +02:00
< / li >
2017-04-13 19:00:28 +02:00
< li class = "level1" > < div class = "li" > Regexp::Assemble< / div >
< / li >
< li class = "level1" > < div class = "li" > Regexp::Common< / div >
< / li >
2017-10-24 13:04:03 +02:00
< li class = "level1" > < div class = "li" > SOAP::Lite < em > (optional)< / em > < / div >
< / li >
< li class = "level1" > < div class = "li" > String::Random< / div >
2017-04-13 19:00:28 +02:00
< / 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 >
2016-10-15 19:57:04 +02:00
< / li >
2017-10-24 13:04:03 +02:00
< li class = "level1" > < div class = "li" > < abbr title = "Uniform Resource Identifier" > URI< / abbr > ::Escape< / div >
2017-08-30 18:47:22 +02:00
< / li >
2016-10-15 19:57:04 +02:00
< / ul >
< / div >
2018-06-07 13:48:21 +02:00
<!-- EDIT4 SECTION "Core" [822 - 1445] -->
2017-08-30 18:47:22 +02:00
< h3 class = "sectionedit5" id = "deprecated_features" > Deprecated features< / h3 >
2017-03-07 19:03:53 +01:00
< div class = "level3" >
< ul >
2017-08-30 18:47:22 +02:00
< li class = "level1" > < div class = "li" > Old notifications format:< / div >
< ul >
< li class = "level2" > < div class = "li" > XML::LibXML< / div >
< / li >
< li class = "level2" > < div class = "li" > XML::LibXSLT< / div >
< / li >
< / ul >
< / li >
< li class = "level1" > < div class = "li" > OpenID 2.0:< / div >
< ul >
< li class = "level2" > < div class = "li" > Net::OpenID::Server< / div >
2017-03-07 19:03:53 +01:00
< / li >
2017-08-30 18:47:22 +02:00
< li class = "level2" > < div class = "li" > Net::OpenID::Consumer< / div >
< / li >
< / ul >
2017-03-07 19:03:53 +01:00
< / li >
< / ul >
< / div >
2018-06-07 13:48:21 +02:00
<!-- EDIT5 SECTION "Deprecated features" [1446 - 1614] -->
2017-03-07 19:03:53 +01:00
< h3 class = "sectionedit6" id = "saml2" > SAML2< / h3 >
2016-10-15 19:57:04 +02:00
< div class = "level3" >
< ul >
< li class = "level1" > < div class = "li" > < a href = "http://lasso.entrouvert.org/" class = "urlextern" title = "http://lasso.entrouvert.org/" rel = "nofollow" > Lasso< / a > < / div >
< / li >
< li class = "level1" > < div class = "li" > GLib< / div >
< / li >
2017-03-07 19:03:53 +01:00
< li class = "level1" > < div class = "li" > XML::Simple< / div >
< / li >
2016-10-15 19:57:04 +02:00
< / ul >
< / div >
2018-06-07 13:48:21 +02:00
<!-- EDIT6 SECTION "SAML2" [1615 - 1700] -->
2017-08-30 18:47:22 +02:00
< h3 class = "sectionedit7" id = "specific_authentication_backends" > Specific authentication backends< / h3 >
2016-10-15 19:57:04 +02:00
< div class = "level3" >
< ul >
2017-08-30 18:47:22 +02:00
< li class = "level1" > < div class = "li" > Facebook:< / div >
< ul >
< li class = "level2" > < div class = "li" > Net::Facebook::Oauth2< / div >
2016-10-15 19:57:04 +02:00
< / li >
< / ul >
2017-08-30 18:47:22 +02:00
< / li >
< li class = "level1" > < div class = "li" > Kerberos:< / div >
< ul >
< li class = "level2" > < div class = "li" > GSSAPI< / div >
< / li >
< / ul >
< / li >
< li class = "level1" > < div class = "li" > PAM:< / div >
2016-10-15 19:57:04 +02:00
< ul >
2017-08-30 18:47:22 +02:00
< li class = "level2" > < div class = "li" > Authen::PAM< / div >
< / li >
< / ul >
2016-10-15 19:57:04 +02:00
< / li >
2017-08-30 18:47:22 +02:00
< li class = "level1" > < div class = "li" > Radius:< / div >
< ul >
< li class = "level2" > < div class = "li" > Authen::Radius< / div >
2016-10-15 19:57:04 +02:00
< / li >
< / ul >
2017-08-30 18:47:22 +02:00
< / li >
< li class = "level1" > < div class = "li" > Twitter:< / div >
2016-10-15 19:57:04 +02:00
< ul >
2017-08-30 18:47:22 +02:00
< li class = "level2" > < div class = "li" > Net::OAuth< / div >
2016-10-15 19:57:04 +02:00
< / li >
< / ul >
2017-08-30 18:47:22 +02:00
< / li >
< li class = "level1" > < div class = "li" > WebID:< / div >
2016-10-15 19:57:04 +02:00
< ul >
2017-08-30 18:47:22 +02:00
< li class = "level2" > < div class = "li" > Web::ID< / div >
2016-10-15 19:57:04 +02:00
< / li >
2017-08-30 18:47:22 +02:00
< / ul >
2016-10-15 19:57:04 +02:00
< / li >
< / ul >
< / div >
2018-06-07 13:48:21 +02:00
<!-- EDIT7 SECTION "Specific authentication backends" [1701 - 1929] -->
2017-08-30 18:47:22 +02:00
< h3 class = "sectionedit8" id = "smtpreset_password_by_mail" > SMTP / Reset password by mail< / h3 >
2016-10-15 19:57:04 +02:00
< div class = "level3" >
< ul >
2017-08-30 18:47:22 +02:00
< li class = "level1" > < div class = "li" > Email::Sender< / div >
2016-10-15 19:57:04 +02:00
< / li >
< li class = "level1" > < div class = "li" > String::Random< / div >
< / li >
2017-08-30 18:47:22 +02:00
< / ul >
< / div >
2018-06-07 13:48:21 +02:00
<!-- EDIT8 SECTION "SMTP / Reset password by mail" [1930 - 2008] -->
2017-08-30 18:47:22 +02:00
< h3 class = "sectionedit9" id = "unit_tests" > Unit tests< / h3 >
< div class = "level3" >
< ul >
< li class = "level1" > < div class = "li" > Test::POD< / div >
2016-10-15 19:57:04 +02:00
< / li >
2017-08-30 18:47:22 +02:00
< li class = "level1" > < div class = "li" > Test::MockObject< / div >
2016-10-15 19:57:04 +02:00
< / li >
2017-10-24 13:04:03 +02:00
< li class = "level1" > < div class = "li" > YAML< / div >
< / li >
2016-10-15 19:57:04 +02:00
< / ul >
< / div >
2018-06-07 13:48:21 +02:00
<!-- EDIT9 SECTION "Unit tests" [2009 - 2075] -->
2017-08-30 18:47:22 +02:00
< h2 class = "sectionedit10" id = "other" > Other< / h2 >
2016-10-15 19:57:04 +02:00
< div class = "level2" >
< ul >
< li class = "level1" > < div class = "li" > Jquery (javascript framework) is included in tarball and RPMs, but is a dependency on Debian official releases< / div >
< / li >
< / ul >
< / div >
2018-06-25 23:17:51 +02:00
<!-- EDIT10 SECTION "Other" [2076 - 2210] -->
2017-08-30 18:47:22 +02:00
< h2 class = "sectionedit11" id = "install_dependencies_on_your_system" > Install dependencies on your system< / h2 >
2016-10-15 19:57:04 +02:00
< div class = "level2" >
< / div >
2018-06-25 23:17:51 +02:00
<!-- EDIT11 SECTION "Install dependencies on your system" [2211 - 2260] -->
2017-08-30 18:47:22 +02:00
< h3 class = "sectionedit12" id = "apt-get" > APT-GET< / h3 >
2016-10-15 19:57:04 +02:00
< div class = "level3" >
< p >
Perl dependencies:
< / p >
2018-06-07 13:48:21 +02:00
< pre class = "code" > apt install libapache-session-perl libcache-cache-perl libclone-perl libconfig-inifiles-perl libconvert-pem-perl libcrypt-openssl-bignum-perl libcrypt-openssl-rsa-perl libcrypt-openssl-x509-perl libcrypt-rijndael-perl libdbi-perl libdigest-hmac-perl libemail-sender-perl libgd-securityimage-perl libhtml-template-perl libio-string-perl libjson-perl libmime-tools-perl libmouse-perl libnet-ldap-perl libplack-perl libregexp-assemble-perl libregexp-common-perl libsoap-lite-perl libstring-random-perl libunicode-string-perl liburi-perl libwww-perl libxml-simple-perl libxml-libxslt-perl< / pre >
2016-10-15 19:57:04 +02:00
< p >
For Apache:
< / p >
2018-04-17 10:33:26 +02:00
< pre class = "code" > apt install apache2 libapache2-mod-fcgid libapache2-mod-perl2< / pre >
2016-10-15 19:57:04 +02:00
< p >
For Nginx:
< / p >
2017-08-30 18:47:22 +02:00
< pre class = "code" > apt install nginx nginx-extras< / pre >
2016-10-15 19:57:04 +02:00
< / div >
2018-06-25 23:17:51 +02:00
<!-- EDIT12 SECTION "APT - GET" [2261 - 3043] -->
2017-08-30 18:47:22 +02:00
< h3 class = "sectionedit13" id = "yum" > YUM< / h3 >
2016-10-15 19:57:04 +02:00
< 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 >
< / div >
< p >
Perl dependencies:
< / p >
2017-08-30 18:47:22 +02:00
< pre class = "code" > yum install perl-Apache-Session perl-Cache-Cache perl-Clone perl-Config-IniFiles perl-Convert-PEM perl-Crypt-OpenSSL-RSA perl-Crypt-OpenSSL-X509 perl-Crypt-Rijndael perl-Digest-HMAC perl-Digest-SHA perl-GD-SecurityImage perl-HTML-Template perl-IO-String perl-JSON perl-LDAP perl-Mouse perl-Plack perl-Regexp-Assemble perl-Regexp-Common perl-SOAP-Lite perl-String-Random perl-Unicode-String perl-version perl-XML-Simple< / pre >
2016-10-15 19:57:04 +02:00
< p >
For Apache:
< / p >
2017-08-30 18:47:22 +02:00
< pre class = "code" > yum install httpd mod_fcgid mod_perl< / pre >
2016-10-15 19:57:04 +02:00
< p >
For Nginx:
< / p >
< pre class = "code" > yum install nginx< / pre >
< 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 >
2018-06-25 23:17:51 +02:00
<!-- EDIT13 SECTION "YUM" [3044 - ] --> < / div >
2016-10-15 19:57:04 +02:00
< / body >
< / html >