documentation:1.0:prereq

Prerequisites and dependencies

To use LemonLDAP::NG, you have to run an Apache server compiled with mod-perl (version 1.3 or 2.x).

In most of cases, the version of Apache proposed with your Linux distribution match, but some distributions used an experimental version of mod_perl with Apache2 (mod_perl-1.99) which does not work with LemonLDAP::NG. With such distributions (like Debian-3.1), you have to use Apache-1.3 or to use a mod_perl backport (www.backports.org package for Debian works fine).

For Apache2, you can use both mpm-worker and mpm-prefork. 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.

You can use LemonLDAP::NG in an heterogeneous world: the authentication portal and the manager can work in any version of Apache 1.3 or more even if mod_perl is not compiled, with ModPerl::Registry or not… Only the handler need mod_perl. The different handlers can run on different servers with different versions of Apache/mod_perl.

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.
  • Apache::Session
  • Net::LDAP
  • MIME::Base64
  • CGI
  • LWP::UserAgent
  • Cache::Cache
  • DBI
  • XML::Simple
  • CGI::Session
  • Regexp::Assemble
  • XML::LibXML
  • Crypt::Rijndael
  • IO::String
  • XML::LibXSLT
  • HTML::Template
  • SOAP::Lite
  • Config::IniFiles
  • JSON
  • Digest::HMAC
  • Crypt::OpenSSL::RSA
  • Crypt::OpenSSL::X509
  • Convert::PEM
  • Clone
  • Net::OpenID::Consumer > 1.00
  • Net::OpenID::Server > 1.00
  • Net::Twitter
  • Test::POD
  • MIME::Lite
  • Email::Date::Format
  • String::Random
  • Net::SMTP
  • MIME::Base64
  • Authen::SASL
  • jQuery (javascript framework) and jQuery UI are included in tarball and RPMs, but are a dependencies on Debian
apt-get install apache2 libapache2-mod-perl2 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 libjs-jquery libjs-jquery-ui 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 libcrypt-openssl-x509-perl libdigest-hmac-perl libclone-perl libauthen-sasl-perl

Choose a repository which hosted Perl dependencies, for example:

We recommend using EPEL repository.
yum install httpd mod_perl perl-Apache-Session perl-LDAP perl-XML-SAX perl-XML-NamespaceSupport perl-HTML-Template perl-Regexp-Assemble 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-String-Random perl-MIME-Lite perl-Email-Date-Format perl-Crypt-OpenSSL-RSA perl-Crypt-OpenSSL-X509 perl-Clone perl-Authen-SASL