Installation on Suse Linux

Attention

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

Organization

LemonLDAP::NG provides packages for SLES:

  • lemonldap-ng: metapackage, contains no file but dependencies on other packages

  • lemonldap-ng-doc: contains HTML documentation and project docs (README, etc.)

  • lemonldap-ng-conf: contains default configuration (DNS domain: example.com)

  • lemonldap-ng-test: contains sample CGI test page

  • lemonldap-ng-handler: contains Apache Handler implementation (agent)

  • lemonldap-ng-manager: contains administration interface and session explorer

  • lemonldap-ng-portal: contains authentication portal and menu

  • lemonldap-ng-fastcgi-server: FastCGI server needed to use Nginx

  • perl-Lemonldap-NG-Common: CPAN - Shared modules

  • perl-Lemonldap-NG-Handler: CPAN - Handler modules

  • perl-Lemonldap-NG-Manager: CPAN - Manager modules

  • perl-Lemonldap-NG-Portal: CPAN - Portal modules

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:

  • Suse official repositories

  • 2 repositories on openSUSE Build Service

  • Additional packages available on repository.linagora.org or lemonldap-ng.org

  • Suse SDK repository is advised for building packages (yast2 -> Software -> Software Repositories -> Add –> Extensions and modules from Registration Server)

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

Tip

Only packages on SLES 12 SP1 are tested for now.

Manual download

RPMs are available on the Download page.

Package GPG signature

Install the RPM signing key to trust RPMs:

wget https://lemonldap-ng.org/_media/rpm-gpg-key-ow2
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-*

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

Check Apache configuration and restart:

apachectl configtest
apachectl restart

DNS

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

  • auth.<your domain>: main portal, must be public

  • manager.<your domain>: manager, only for adminsitrators

  • test1.<your domain>, test2.<your domain>: sample applications

Follow the next steps

File location

  • Configuration is in /etc/lemonldap-ng

  • LemonLDAP::NG configuration (edited by the Manager) is in /var/lib/lemonldap-ng/conf/

  • All Perl modules are in the VENDOR perl directory

  • All Perl scripts/pages are in /var/lib/lemonldap-ng/

  • All static content (examples, CSS, images, etc.) is in /usr/share/lemonldap-ng/

Build your packages

If you need it, you can rebuild RPMs:

  • Install rpm-build package

  • Get the lemonldap source package from repository:

zypper source-install lemonldap-ng
cd /usr/src/packages/
ls SPECS/ SOURCES/
  • Install all build dependencies (see BuildRequires in lemonldap-ng.spec)

  • Build:

rpmbuild -ba SPECS/lemonldap-ng.spec