Table of Contents

Installation on Suse Linux

LL::NG requires at least SLES 12 SP1 or equivalent

Organization

LemonLDAP::NG provides packages for SLES:

Get the packages

Repositories

This manual only refers to SLES 12 SP1. Installation may work on other platforms, with no guarantee.

Different repositories are necessary for LemonLDAP::NG dependencies:

First, make sure the exploitation system is up to date:

zypper update

You can add the OpenSuse Build Service repositories with the following commands:

zypper addrepo http://download.opensuse.org/distribution/leap/42.1/repo/oss/suse/ leap42
zypper addrepo http://download.opensuse.org/repositories/devel:languages:perl/SLE_12/devel:languages:perl.repo
zypper refresh

Accept both signing keys each time.

You can add the additional dependency repository *and* the LemonLDAP::NG repository with either commands:

zypper addrepo http://lemonldap-ng.org/sles12 lemonldap-sles12-repository
zypper refresh

or

zypper addrepo http://repository.linagora.org/lemonldap-sles12-repository lemonldap-sles12-repository
zypper refresh
Only packages on SLES 12 SP1 are tested for now.

Manual download

RPMs are available on the Download page.

Package GPG signature

The GPG key can be downloaded here: rpm-gpg-key-ow2

Install it to trust RPMs:

rpm --import rpm-gpg-key-ow2

Install packages

With ZYPPER

If the packages are stored in a repository:

zypper install lemonldap-ng
59 new packages to install.
Total download size: 13.5 MiB. Already cached : 0 B. After operation, 30.7 MiB of supplementary disk space will be used.
Continue ? [y/n/? print all options] (y):

You can also use zypper on local RPMs file:

zypper install lemonldap-ng-* perl-Lemonldap-NG-*

With RPM

Before installing the packages, install all dependencies: (you need to get dependencies from previous repositories)

zypper install apache2 apache2-mod_perl apache2-mod_fcgid perl-ldap perl-XML-SAX perl-XML-NamespaceSupport perl-XML-Simple perl-XML-LibXML perl-Config-IniFiles perl-Digest-HMAC perl-Crypt-OpenSSL-RSA perl-Authen-SASL perl-Unicode-String gd perl-Regexp-Assemble perl-Authen-Captcha perl-Cache-Cache perl-Apache-Session perl-CGI-Session perl-IO-String perl-MIME-Lite perl-SOAP-Lite perl-XML-LibXSLT perl-String-Random perl-Email-Date-Format perl-Crypt-Rijndael perl-HTML-Template perl-JSON perl-Crypt-OpenSSL-X509 perl-Crypt-DES perl-Class-Inspector perl-Test-MockObject perl-Clone perl-Net-CIDR-Lite perl-ExtUtils-MakeMaker perl-CGI perl-CGI-Session perl-HTML-Template perl-SOAP-Lite perl-IPC-ShareLite perl-Error perl-HTML-Parser perl-libwww-perl perl-DBI perl-Cache-Memcached perl-Class-ErrorHandler perl-Convert-PEM perl-Crypt-DES_EDE3 perl-Digest-SHA perl-Env perl-Mouse perl-String-CRC32 perl-Plack perl-Regexp-Common perl-Crypt-OpenSSL-Bignum perl-FCGI-ProcManager

You have then to install all the downloaded packages:

rpm -Uvh lemonldap-ng-* perl-Lemonldap-NG-*
You can choose to install only one component by choosing the package lemonldap-ng-portal, lemonldap-ng-handler or lemonldap-ng-manager.

Install the package lemonldap-ng-conf on all server which contains one of those packages.

First configuration steps

Enable Apache extensions

These extensions are activated by default on Apache at LemonLDAP install:

a2enmod perl
a2enmod headers
a2enmod mod_fcgid
a2enmod ssl
a2enmod rewrite
a2enmod proxy
a2enmod proxy_http

If you decide to use SSL, you should also activate the appopriate flag:

sed -i 's/^APACHE_SERVER_FLAGS=.*/APACHE_SERVER_FLAGS="SSL"/' /etc/sysconfig/apache2

Change default DNS domain

By default, DNS domain is example.com. You can change it quick with a sed command. For example, we change it to ow2.org:

sed -i 's/example\.com/ow2.org/g' /etc/lemonldap-ng/{*.conf,*.ini,for_etc_hosts} /var/lib/lemonldap-ng/conf/lmConf-1 /var/lib/lemonldap-ng/test/index.pl

Check Apache configuration and restart:

apachectl configtest
apachectl restart

Reload virtual host

To allow the manager to reload the configuration, register the reload virtual host name in the hosts of the server:

echo "127.0.0.1 reload.example.com" >> /etc/hosts
Adapt the reload virtual host name to the domain you configured.

Upgrade

If you upgraded LL::NG, check all upgrade notes.

For apache configuration, you may have to remove the old symbolic link, if not done by the RPM:

rm -f /etc/apache2/vhosts.d/z-lemonldap-ng.conf

Your old Apache configuration should have been saved, you need to port your specificities in new Apache configuration files:

vi /etc/lemonldap-ng/apache2.conf.rpmsave

The upgrade process will also have migrate old configuration files into /etc/lemonldap-ng/lemonldap-ng.ini. This includes the application list which is now set in the applicationList parameter from [portal] section, for example:

[portal]
applicationList={ 'Menu' => { type => 'category', 'Example' => { type => 'category', 'test1' => { type => 'application', options => { name => 'Application Test 1', uri => 'http://test1.example.com/', description => 'A simple application displaying authenticated user', logo => 'wheels.png', display => 'auto',  }, },'test2' => { type => 'application', options => { name => 'Application Test 2', uri => 'http://test2.example.com/', description => 'The same simple application displaying authenticated user', logo => 'wheels.png', display => 'auto',  }, }, },'Administration' => { type => 'category', 'manager' => { type => 'application', options => { name => 'WebSSO Manager', uri => 'http://manager.example.com/', description => 'Configure LemonLDAP::NG WebSSO', logo => 'tools.png', display => 'on',  }, },'sessions' => { type => 'application', options => { name => 'Sessions explorer', uri => 'http://manager.example.com/sessions.pl', description => 'Explore WebSSO sessions', logo => 'tools.png', display => 'on',  }, }, },'Documentation' => { type => 'category', 'localdoc' => { type => 'application', options => { name => 'Local documentation', uri => 'http://manager.example.com/doc/', description => 'Documentation supplied with LemonLDAP::NG', logo => 'docs.png', display => 'on',  }, },'officialwebsite' => { type => 'application', options => { name => 'Offical Website', uri => 'http://wiki.lemonldap.objectweb.org/xwiki/bin/view/NG/Presentation', description => 'Official LemonLDAP::NG Website', logo => 'web.png', display => 'on',  }, }, }, }, }
You should now use the Manager to configure all applications and categories, and then comment or remove the applicationList parameter from /etc/lemonldap-ng/lemonldap-ng.ini.

DNS

Configure your DNS server to resolve names with your server IP.

For tests with example.com, launch the following :
cat /etc/lemonldap-ng/for_etc_hosts >> /etc/hosts

Follow the next steps

File location

Build your packages

If you need it, you can rebuild RPMs:

zypper source-install lemonldap-ng
cd /usr/src/packages/
ls SPECS/ SOURCES/
rpmbuild -ba SPECS/lemonldap-ng.spec

Alternatively, you can use the automatic script "create-lemonldap-packages.sh", available in rpm-sles directory in the lemonldap svn repository. The automatic script can also generate intermediate dependencies. See README file in the same directory for more information.