Prerequisites and dependencies¶
Web Server¶
To use LemonLDAP::NG, you have the choice of the Web Server :
Nginx
Apache 2
Any FastCGI or uWSGI compatible Web Server ( Portal and manager only)
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 but since Apache-2.4, mod_perl seems unstable in this configuration. If you have to use mpm-prefork (for example if you use PHP), LemonLDAP::NG will work anyway.
Perl¶
Note
Here the list of Perl modules used in LemonLDAP::NG. Core modules must be installed on the system. Other modules are required only if you plan to use related features.
Core¶
Apache::Session
Cache::Cache
Clone
Config::IniFiles
Convert::PEM
Cookie::Baker::XS
Crypt::OpenSSL::Bignum
Crypt::OpenSSL::RSA
Crypt::OpenSSL::X509
Crypt::Rijndael
Crypt::URandom
DBI
Digest::HMAC_SHA1
Digest::MD5
Digest::SHA
Email::Sender
GD::SecurityImage
Hash::Merge::Simple
HTML::Template
IO::String
JSON
LWP::UserAgent
LWP::Protocol::https
MIME::Base64
MIME::Entity
Mouse
Net::CIDR
Net::LDAP
Plack
Regexp::Assemble
Regexp::Common
SOAP::Lite (optional)
String::Random
Text::Unidecode (Since LemonLDAP::NG 2.0.5)
Unicode::String
URI
URI::Escape
Deprecated features¶
Old notifications format:
XML::LibXML
XML::LibXSLT
OpenID 2.0:
Net::OpenID::Server
Net::OpenID::Consumer
Second factor¶
Crypt::U2F::Server::Simple (U2F keys)
Convert::Base32 (TOTP)
Authen::WebAuthn (FIDO2 WebAuthen)
Authen::OATH (OTP)
Specific authentication backends¶
Facebook:
Net::Facebook::Oauth2
Kerberos:
GSSAPI
PAM:
Authen::PAM
Radius:
Authen::Radius
Twitter:
Net::OAuth
WebID:
Web::ID
SMTP & Reset password/certificate by mail¶
Email::Sender
String::Random
Net::SMTP
Net::SSLeay
DateTime::Format::RFC3339
Unit tests¶
Authen::U2F::Tester
Crypt::U2F::Server
Test::MockObject
DBD::SQLite
Test::Output
Test::POD
Time::Fake
YAML
Other¶
Jquery (javascript framework) is included in tarball and RPMs, but is a dependency on Debian official releases
Cache::Memcached : used by SecureToken handler
Install dependencies on your system¶
Danger
You don’t need to install them if you use LL::NG packages.
With apt
or yum
, dependencies will be automatically
installed.
APT¶
Perl dependencies:
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 libhash-merge-simple-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 libcrypt-urandom-perl libtext-unidecode-perl libcookie-baker-xs-perl libio-socket-timeout-perl
For Apache:
apt install apache2 libapache2-mod-fcgid libapache2-mod-perl2
For Nginx:
apt install nginx nginx-extras
YUM¶
Tip
You need EPEL repository. See below how to enable this repository: http://fedoraproject.org/wiki/EPEL/FAQ#howtouse
Perl dependencies:
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-Hash-Merge-Simple 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 perl-Crypt-URandom perl-Email-Sender
For Apache:
yum install httpd mod_fcgid mod_perl
For Nginx:
yum install nginx
Attention
As you need a recent version of Nginx, the best is to install Nginx official packages.