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" / >
2017-02-28 11:56:59 +01:00
< meta name = "robots" content = "noindex,nofollow" / >
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
< script type = "text/javascript" src = "/lib/scripts/jquery-ui.min.js" > < / script >
//else -->
< script type = "text/javascript" src = "/lib/scripts/jquery-ui.js" > < / script >
<!-- //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-03-07 19:03:53 +01:00
< li class = "level2" > < div class = "li" > < a href = "#old_notifications_format" > Old Notifications format< / a > < / div > < / li >
2016-10-15 19:57:04 +02:00
< li class = "level2" > < div class = "li" > < a href = "#saml2" > SAML2< / a > < / div > < / li >
< li class = "level2" > < div class = "li" > < a href = "#cas_authentication_module" > CAS (authentication module)< / a > < / div > < / li >
< li class = "level2" > < div class = "li" > < a href = "#openid" > OpenID< / a > < / div > < / li >
< li class = "level2" > < div class = "li" > < a href = "#twitter" > Twitter< / a > < / div > < / li >
< li class = "level2" > < div class = "li" > < a href = "#pod_unit_tests" > POD unit tests< / a > < / div > < / li >
< li class = "level2" > < div class = "li" > < a href = "#smtpreset_password_by_mail" > SMTP / Reset password by mail< / a > < / div > < / li >
< / 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 >
< li class = "level1" > < div class = "li" > Apache 2 with mod_perl< / div >
< / li >
< li class = "level1" > < div class = "li" > Nginx with fastcgi< / div >
< / li >
< / ul >
< p >
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. If you have to use mpm-prefork (for example if you use PHP), LemonLDAP::NG will work anyway.
< / p >
< / div >
<!-- EDIT2 SECTION "Web Server" [48 - 440] -->
< h2 class = "sectionedit3" id = "perl" > Perl< / h2 >
< 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 >
< / div >
<!-- EDIT3 SECTION "Perl" [441 - 654] -->
< h3 class = "sectionedit4" id = "core" > Core< / h3 >
< div class = "level3" >
< ul >
< li class = "level1" > < div class = "li" > Apache::Session< / div >
< / li >
< li class = "level1" > < div class = "li" > Net::LDAP< / div >
< / li >
< li class = "level1" > < div class = "li" > MIME::Base64< / div >
< / li >
< li class = "level1" > < div class = "li" > LWP::UserAgent< / div >
< / li >
< li class = "level1" > < div class = "li" > Cache::Cache< / div >
< / li >
< li class = "level1" > < div class = "li" > < abbr title = "Database Interface" > DBI< / abbr > < / div >
< / li >
< li class = "level1" > < div class = "li" > Regexp::Assemble< / div >
< / li >
< li class = "level1" > < div class = "li" > Regexp::Common< / div >
< / li >
< li class = "level1" > < div class = "li" > Crypt::Rijndael< / div >
< / li >
< li class = "level1" > < div class = "li" > IO::String< / div >
< / li >
< li class = "level1" > < div class = "li" > < abbr title = "HyperText Markup Language" > HTML< / abbr > ::Template< / div >
< / li >
< li class = "level1" > < div class = "li" > SOAP::Lite< / div >
< / li >
< li class = "level1" > < div class = "li" > Config::IniFiles< / div >
< / li >
< li class = "level1" > < div class = "li" > JSON< / div >
< / li >
< li class = "level1" > < div class = "li" > Digest::HMAC< / div >
< / li >
< li class = "level1" > < div class = "li" > Digest::SHA< / div >
< / li >
< li class = "level1" > < div class = "li" > Crypt::OpenSSL::RSA< / div >
< / li >
< li class = "level1" > < div class = "li" > Crypt::OpenSSL::X509< / div >
< / li >
< li class = "level1" > < div class = "li" > Crypt::OpenSSL::Bignum< / div >
< / li >
< li class = "level1" > < div class = "li" > Convert::PEM< / div >
< / li >
< li class = "level1" > < div class = "li" > Clone< / div >
< / li >
< li class = "level1" > < div class = "li" > Net::CIDR< / div >
< / li >
< li class = "level1" > < div class = "li" > Unicode::String< / div >
< / li >
< li class = "level1" > < div class = "li" > Net::CIDR::Lite< / div >
< / li >
< li class = "level1" > < div class = "li" > Cache::Memcached< / div >
< / li >
< li class = "level1" > < div class = "li" > Mouse< / div >
< / 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-02-28 11:56:59 +01:00
< li class = "level1" > < div class = "li" > GD::SecurityImage< / div >
2016-10-15 19:57:04 +02:00
< / li >
< / ul >
< / div >
2017-03-07 19:03:53 +01:00
<!-- EDIT4 SECTION "Core" [655 - 1158] -->
< h3 class = "sectionedit5" id = "old_notifications_format" > Old Notifications format< / h3 >
< div class = "level3" >
< ul >
< li class = "level1" > < div class = "li" > XML::LibXML< / div >
< / li >
< li class = "level1" > < div class = "li" > XML::LibXSLT< / div >
< / li >
< / ul >
< / div >
<!-- EDIT5 SECTION "Old Notifications format" [1159 - 1228] -->
< 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 >
2017-03-07 19:03:53 +01:00
<!-- EDIT6 SECTION "SAML2" [1229 - 1314] -->
< h3 class = "sectionedit7" id = "cas_authentication_module" > CAS (authentication module)< / h3 >
2016-10-15 19:57:04 +02:00
< div class = "level3" >
< ul >
< li class = "level1" > < div class = "li" > < a href = "http://sourcesup.cru.fr/projects/perlcas/" class = "urlextern" title = "http://sourcesup.cru.fr/projects/perlcas/" rel = "nofollow" > AuthCAS< / a > < / div >
< / li >
< / ul >
< / div >
2017-03-07 19:03:53 +01:00
<!-- EDIT7 SECTION "CAS (authentication module)" [1315 - 1412] -->
< h3 class = "sectionedit8" id = "openid" > OpenID< / h3 >
2016-10-15 19:57:04 +02:00
< div class = "level3" >
< ul >
< li class = "level1" > < div class = "li" > Net::OpenID::Consumer > 1.00< / div >
< / li >
< li class = "level1" > < div class = "li" > Net::OpenID::Server > 1.00< / div >
< / li >
< / ul >
< / div >
2017-03-07 19:03:53 +01:00
<!-- EDIT8 SECTION "OpenID" [1413 - 1495] -->
< h3 class = "sectionedit9" id = "twitter" > Twitter< / h3 >
2016-10-15 19:57:04 +02:00
< div class = "level3" >
< ul >
< li class = "level1" > < div class = "li" > Net::OAuth< / div >
< / li >
< / ul >
< / div >
2017-03-07 19:03:53 +01:00
<!-- EDIT9 SECTION "Twitter" [1496 - 1530] -->
< h3 class = "sectionedit10" id = "pod_unit_tests" > POD unit tests< / h3 >
2016-10-15 19:57:04 +02:00
< div class = "level3" >
< ul >
< li class = "level1" > < div class = "li" > Test::POD< / div >
< / li >
< li class = "level1" > < div class = "li" > Test::MockObject< / div >
< / li >
< / ul >
< / div >
2017-03-07 19:03:53 +01:00
<!-- EDIT10 SECTION "POD unit tests" [1531 - 1592] -->
< h3 class = "sectionedit11" id = "smtpreset_password_by_mail" > SMTP / Reset password by mail< / h3 >
2016-10-15 19:57:04 +02:00
< div class = "level3" >
< ul >
< li class = "level1" > < div class = "li" > MIME::Lite< / div >
< / li >
< li class = "level1" > < div class = "li" > Email::Date::Format< / div >
< / li >
< li class = "level1" > < div class = "li" > String::Random< / div >
< / li >
< li class = "level1" > < div class = "li" > Net::SMTP< / div >
< / li >
< li class = "level1" > < div class = "li" > MIME::Base64< / div >
< / li >
< li class = "level1" > < div class = "li" > Authen::SASL< / div >
< / li >
< / ul >
< / div >
2017-03-07 19:03:53 +01:00
<!-- EDIT11 SECTION "SMTP / Reset password by mail" [1593 - 1740] -->
< h2 class = "sectionedit12" 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 >
< li class = "level1" > < div class = "li" > OmegaT is needed to translate offline documentation and build fr-doc packages< / div >
< / li >
< / ul >
< / div >
2017-03-07 19:03:53 +01:00
<!-- EDIT12 SECTION "Other" [1741 - 1957] -->
< h2 class = "sectionedit13" id = "install_dependencies_on_your_system" > Install dependencies on your system< / h2 >
2016-10-15 19:57:04 +02:00
< div class = "level2" >
< / div >
2017-03-07 19:03:53 +01:00
<!-- EDIT13 SECTION "Install dependencies on your system" [1958 - 2007] -->
< h3 class = "sectionedit14" id = "apt-get" > APT-GET< / h3 >
2016-10-15 19:57:04 +02:00
< div class = "level3" >
< p >
Perl dependencies:
< / p >
2017-02-28 11:56:59 +01:00
< pre class = "code" > apt-get install libapache-session-perl libnet-ldap-perl libcache-cache-perl libdbi-perl perl-modules libwww-perl libcache-cache-perl libxml-simple-perl libsoap-lite-perl libhtml-template-perl libregexp-assemble-perl libregexp-common-perl libjs-jquery libxml-libxml-perl libcrypt-rijndael-perl libio-string-perl libxml-libxslt-perl libconfig-inifiles-perl libjson-perl libstring-random-perl libemail-date-format-perl libmime-lite-perl libcrypt-openssl-rsa-perl libdigest-hmac-perl libdigest-sha-perl libclone-perl libauthen-sasl-perl libnet-cidr-lite-perl libcrypt-openssl-x509-perl libauthcas-perl libtest-pod-perl libtest-mockobject-perl libgd-securityimage-perl libnet-openid-consumer-perl libnet-openid-server-perl libunicode-string-perl libconvert-pem-perl libmouse-perl libplack-perl< / pre >
2016-10-15 19:57:04 +02:00
< p >
For Apache:
< / p >
< pre class = "code" > apt-get install apache2 libapache2-mod-perl2 libapache2-mod-fcgid< / pre >
< p >
For Nginx:
< / p >
< pre class = "code" > apt-get install nginx nginx-extras< / pre >
< / div >
2017-03-07 19:03:53 +01:00
<!-- EDIT14 SECTION "APT - GET" [2008 - 3002] -->
< h3 class = "sectionedit15" 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-02-28 11:56:59 +01:00
< pre class = "code" > yum install perl-Apache-Session perl-LDAP perl-XML-SAX perl-XML-NamespaceSupport perl-HTML-Template perl-Regexp-Assemble perl-Regexp-Common perl-Error perl-IPC-ShareLite perl-Cache-Cache perl-FreezeThaw perl-XML-Simple perl-version perl-CGI-Session perl-DBD-Pg perl-XML-LibXML-Common perl-BSD-Resource perl-XML-LibXML perl-Crypt-Rijndael perl-IO-String perl-XML-LibXSLT perl-SOAP-Lite perl-Config-IniFiles perl-JSON perl-Digest-HMAC perl-Digest-SHA perl-String-Random perl-MIME-Lite perl-Email-Date-Format perl-Crypt-OpenSSL-RSA perl-Crypt-OpenSSL-X509 perl-Clone perl-Authen-SASL perl-Log-Log4perl perl-Unicode-String perl-Net-CIDR-Lite perl-Cache-Memcached perl-Convert-PEM perl-Mouse perl-Plack perl-GD-SecurityImage< / pre >
2016-10-15 19:57:04 +02:00
< p >
For Apache:
< / p >
< pre class = "code" > yum install httpd mod_perl mod_fcgid< / pre >
< 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 >
2017-03-07 19:03:53 +01:00
<!-- EDIT15 SECTION "YUM" [3003 - ] --> < / div >
2016-10-15 19:57:04 +02:00
< / body >
< / html >