Compilation de OpenLDAP sur Ubuntu

By Emmanuel Lécharny

Il est facile d’installer OpenLDAP sous Ubuntu, en suivant les instructions données par exemple sur openldap-server.html. Le seul soucis est que la version de OpenLDAP proposée est généralement une version stable (ici, il s’agit de la 2.4.23), et vous avez parfois envie de disposer de la toute dernière version. De plus, la version packagée dépend également de versions de composants également anciens (BDB 4.8 au lieu de 5.1.25, OpenSSL 0.9.8o au lieu de 1.0.0d, etc)

Voici un mode d’emploi décrivant la compilation des toutes dernières versions de chacun des composants nécessaires.

1 ) Prérequis
Il faut vérifier de la disponibilité des outils nécessaires à la compilation des composants. En voici la liste :

  • Gnu GCC
  • ld
  • make
  • libperl (si vous décidez de lancer les tests)

2 ) Système

On va créer un utilisateur dédié, openldap, appartenant au même groupe :

$ sudo /usr/sbin/groupadd -g 55 openldap
$ sudo /usr/sbin/useradd -u 55 -g 55 -d /home/openldap -s /bin/bash openldap

(ici, le numéro du user et du groupe a été arbitrairement fixé à 55, vous sélectionnerez la valeur adaptée, ou demanderez à l’administrateur système de vous créer ce user)

3 ) Chemins d’installation

On installera les composants dans le répertoire /opt/ldap.

Les composants seront stockés et la compilation sera effectuée dans le home directory du user openldap, dans lequel on créera deux sous répertoires :

  • /home/openldap/packages
  • /home/openldap/install

4 ) Sources

Ensuite, il faut récupérer les sources des composants suivants :

Ces packages seront téléchargés dans le répertoire /home/openldap/packages.

5 ) Compilation de OpenSSL

Voici les commandes à utiliser :

# su – openldap
$ pwd
/home/openldap
$ cd install
$ tar xzpf ../packages/openssl-1.0.0d.tar.gz
$ cd openssl-1.0.0d
$ ./Configure shared \
--prefix=/opt/ldap/openssl-1.0.0d \
--openssldir=/opt/ldap/openssl-1.0.0d \
threads \
linux-generic32
$ make depend
$ make
$ make test
$ sudo make install
$ sudo chown -R openldap.openldap /opt/ldap/openssl-1.0.0d
$ cd ..
$ rm -rf openssl-1.0.0d

Cette version de OpenSSL sera désormais celle qui sera utilisée dans la compilation des composants suivants.

6 ) Compilation de CysrusSASL

Voici les commandes à utiliser :

<note>On est obligé de lancer la commande make deux fois de suite, un bug dans le build génère une erreur lors du premier lancement</note>

# su – openldap
$ pwd
/home/openldap
$ cd install
$ tar xzpf ../packages/cyrus-sasl-2.1.23.tar.gz
$ cd cyrus-sasl-2.1.23
$ CFLAGS="-O2" ./configure \
--enable-static \
--without-des \
--without-saslauthd \
--enable-gssapi=/usr/kerberos/ \
--with-openssl=/opt/ldap/openssl-1.0.0d \
--prefix=/opt/ldap/cyrusSASL-2.1.23
$ make all
$ make
$ sudo make install
$ sudo chown -R openldap.openldap /opt/ldap
$ cd ..
$ rm -rf cyrus-sasl-2.1.23

7 ) Compilation de BerkeleyDB

Voici les commandes à utiliser :

# su – openldap
$ pwd
/home/openldap
$ cd install
$ tar xzpf ../packages/db-5.1.25.tar.gz
$ cd db-5.1.25
$ cd build_unix
$ ../dist/configure \
--prefix=/opt/ldap/db-5.1.25 \
--with-mutex=POSIX/pthreads
$ make
$ sudo make install
$ sudo chown -R openldap.openldap /opt/ldap
$ cd ../..
$ rm -rf db-5.1.25

8 ) Compilation de OpenLDAP

Il nous reste à compiler OpenLDAP, en utilisant les composants que l’on vient de construire. Voici les commandes à utiliser :

<note>Les options utilisées peuvent être modifiées en fonction des besoins</note>

# su – openldap
$ pwd
/home/openldap
$ cd install
$ tar xzpf ../packages/openldap-2.4.24.tgz
$ cd openldap-2.4.24
$ export CPPFLAGS="-I/opt/ldap/db-5.1.25/include -I/opt/ldap/openssl-1.0.0d/include -I/opt/ldap/cyrusSASL-2.1.23/include"
$ export LDFLAGS="-L/opt/ldap/db-5.1.25/lib -L/opt/ldap/openssl-1.0.0d/lib -L/opt/ldap/cyrusSASL-2.1.23/lib"
$ export LD_LIBRARY_PATH="/opt/ldap/db-5.1.25/lib:/opt/ldap/openssl-1.0.0d/lib:/opt/ldap/cyrusSASL-2.1.23/lib"
$ ./configure \
--prefix=/opt/ldap/openldap-2.4.24/ \
--sysconfdir=/opt/ldap/openldap-2.4.24/etc \
--localstatedir=/var/ldap \
--enable-debug=yes \
--enable-syslog=yes \
--enable-proctitle=yes \
--enable-ipv6=yes \
--enable-local=yes \
--enable-slapd=yes \
--enable-dynacl=yes \
--enable-aci=yes \
--enable-cleartext=yes \
--enable-crypt=yes \
--enable-spasswd=yes \
--enable-rewrite=yes \
--enable-bdb=yes \
--enable-hdb=yes \
--enable-monitor=yes \
--enable-overlays=yes \
--with-cyrus-sasl=yes \
--with-tls=openssl \
--with-threads=yes
$ make depend
$ make
$ make test
$ sudo make install
$ sudo chown -R openldap.openldap /opt/ldap
$ cd ..
$ rm -rf openldap-2.4.24

Cela clôt la description de la compilation de OpenLDAP, il reste à configurer le serveur pour qu’il puisse être utilisable.

This entry is filed under Tutoriel. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

3 Responses to “Compilation de OpenLDAP sur Ubuntu”

  1. amira says:

    bonjour,
    svp, quelle est la version stable d’ubuntu ?
    merci d’avance.

  2. paco says:

    Salut,

    Merci pour le tuto.

    Petite question: c’est qu’elle version de libperl qu’il faut installer? libperl5.10 ou libperl-dev?

    Merci!

  3. Gwenaël says:

    Merci pour ce tutoriel qui marche nickel. Fait avec la dernière version en date de openldap (2.4.33), sur une debian Squeeze.

Leave a Reply