# Installation sur Red Hat/CentOS

LL::NG nécessite Red Hat/CentOS 7

## Organisation

LemonLDAP::NG fournit des packages pour Red Hat/Centos 7:

- lemonldap-ng: metapackage, contains no file but dependencies on other packages
- lemonldap-ng-doc : contient la documentation HTML et celle du projet (README, etc...)
- lemonldap-ng-fr-doc : traduction en français de la documentation
- lemonldap-ng-conf : contient la configuration par défaut (domaine DNS : example.com)
- lemonldap-ng-test : contient une simple page CGI de test
- lemonldap-ng-handler : contient l'implémentation de l'agent pour Apache (handler)
- lemonldap-ng-manager : contient l'interface d'administration et l'explorateur de session
- lemonldap-ng-portal : contient le portail d'authentification et le menu
- lemonldap-ng-fastcgi-server : le serveur FastCGI nécessaire pour utiliser Nginx
- perl-Lemonldap-NG-Common : CPAN - modules partagés
- perl-Lemonldap-NG-Handler : CPAN - modules agent
- perl-Lemonldap-NG-Manager : CPAN - modules manager
- perl-Lemonldap-NG-Portal : CPAN - modules portail

## Obtenir ces paquets

### Dépôt YUM

Ajouter ces dépôts YUM pour obtenir les paquets récents :

    vi /etc/yum.repos.d/lemonldap-ng.repo

    [lemonldap-ng]
    name=LemonLDAP::NG packages
    baseurl=https://lemonldap-ng.org/redhat/stable/$releasever/noarch
    enabled=1
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OW2

Replace `stable` by `1.9` to avoid upgrade to next major version

You may also need some extras packages, available here:

    [lemonldap-ng-extras]
    name=LemonLDAP::NG extra packages
    baseurl=https://lemonldap-ng.org/redhat/extras/$releasever
    enabled=1
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OW2

Lancer ceci pour rafraîchir le cache :

    yum update

Il faut également installer le dépôt EPEL pour les dépendances ne faisant pas partie du core. Voir le chapître pré-requis et dépendances.

### Téléchargement manuel

Les paquets RPM sont disponibles sur la page de téléchargement.

## Signature GPG des paquets

La clef GPG peut être téléchargée ici : rpm-gpg-key-ow2

L'installer pour certifier les RPMs:

    rpm --import rpm-gpg-key-ow2

## Installer les paquets

### Avec YUM

Si les paquets sont stockés dans un dépôt yum :

    yum install lemonldap-ng

On peut aussi utiliser yum sur des fichiers RPMs locaux :

    yum localinstall lemonldap-ng-* perl-Lemonldap-NG-*

### Avec RPM

Avant d'installer les paquets, installer toutes les dépendances.

Il faut ensuite installer tous les paquets téléchargés :

    rpm -Uvh lemonldap-ng-* perl-Lemonldap-NG-*

On peut n'installer qu'un seul composant en choisissant le paquet `lemonldap-ng-portal`, `lemonldap-ng-handler` ou `lemonldap-ng-manager`.

Installer le paquet `lemonldap-ng-conf` sur tous les serveurs qui contiennent un de ces paquets.

## Premiers pas de configuration

### Changer le domaine DNS par défaut

Par défaut, le domaine DNS est `example.com`. On peut le changer rapidement par une commande sed. Par exemple, pour le changer en `ow2.org`:

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

### Recharger l'hôte virtuel

Pour autoriser le manager à recharger la configuration, enregistrer le nom d'hôte virtuel de rechargement dans le fichier hosts du serveur :

    echo "127.0.0.1 reload.example.com" >> /etc/hosts

Adapter le nom d'hôte virtuel de rechargement au domaine configuré.

### Mise à jour

Pour mettre à jour LL::NG, lisez toutes les notes de mise à jour.

### DNS

Configurer le serveur DNS pour résoudre les noms avec l'adresse IP de votre serveur.

Pour les tests avec `example.com`, lancer ce qui suit :

    cat /etc/lemonldap-ng/for_etc_hosts >> /etc/hosts

Suivre les étapes suivantes

## Emplacement du fichier

- La configuration se trouve dans /etc/lemonldap-ng
- La configuration LemonLDAP::NG (editée par le manager) se trouve dans /var/lib/lemonldap-ng/conf/
- Tous les modules Perl se trouvent dans le répertoire VENDOR de Perl
- Tous les scripts/pages Perl se trouvent dans /var/lib/lemonldap-ng/
- Tous le contenu statique (exemples, CSS, images, etc...) se trouve dans /usr/share/lemonldap-ng/

## Construire les paquets

Si besoin, on peut reconstruire les RPMs :

- Install rpm-build package
- Installer toutes les dépendances de construction (voir BuildRequires dans lemonldap-ng.spec)
- Mettre l'archive LemonLDAP::NG dans %_topdir/SOURCES
- Editer ~/.rpmmacros et mettre les paramètres de construction :

    %_topdir /home/user/build
    %dist .el7
    %rhel 7

- Aller dans %_topdir
- Build:

    rpmbuild -ta SOURCES/lemonldap-ng-VERSION.tar.gz