====== Script d'initialisation du service OpenLDAP ======
===== Présentation =====
Le script shell d'initialisation ''slapd'' facilite le lancement et l'arrêt du logiciel OpenLDAP (annuaire et démon de réplication). Il requiert les outils suivants :
* logger, pour transmettre les messages à syslog
* Awk
* BerkeleyDB, pour les outils de recouvrement et d'archivage
* OpenLDAP, pour le logiciel serveur bien sûr, mais également pour les utilitaires de réindexation, de sauvegarde et de test.
Il est possible de configurer ce script en utilisant un fichier externe, portant le même nom que le script d'initialisation, et situé dans le répertoire ''/etc/default''.
Ce script est destiné aux versions 2.2.x, 2.3.x et 2.4.x d'OpenLDAP, la configuration devant s'adapter à l'une ou l'autre des versions.
===== Usage =====
Le script s'utilise ainsi :
# /etc/init.d/slapd action
Avec comme action possible :
* ''start'' :
* Effectue un test de la configuration.
* Démarre ''slurpd'' si des réplicats sont configurés.
* Démarre ''slapd'' en recouvrant les données si demandé.
* ''stop'' :
* Arrête ''slapd'' et sauvegarde les données si demandé.
* Arrête ''slurpd'' s'il est démarré.
* ''forcestop'' :
* Si les PID sont récupérés, un ''kill -KILL'' est effectué sur ceux-ci.
* Sinon un ''killall -KILL'' sur le nom des binaires est effectué.
* ''restart'' :
* Lance les commandes de l'action ''stop''.
* Lance les commandes de l'action ''start''.
* ''configtest'' : la configuration est testée (utilitaire ''slaptest'').
* ''db_recover'' : les données sont réparées (utilitaire ''db_recover'').
* ''reindex'' : les données sont réindexées (utilitaire ''slapindex'').
* ''removelogs'' : les logs anciens de la base de données sont supprimés (utilitaire ''db_archive'').
* ''backup'' : les données sont sauvegardées sous format LDIF (utilitaire ''slapcat'').
===== Installation =====
Pour un système Linux et pour la plupart des UNIX, ce script doit être rendu exécutable et placé dans le répertoire ''/etc/init.d'' :
# mv slapd /etc/init.d
# chmod +x /etc/init.d/slapd
Pour que le service soit lancé au démarrage du système et stoppé à son arrêt, il faut créer les liens symboliques suivants (à adapter selon les distributions) :
# ln -s /etc/init.d/slapd /etc/rc3.d/S90slapd
# ln -s /etc/init.d/slapd /etc/rc4.d/S90slapd
# ln -s /etc/init.d/slapd /etc/rc5.d/S90slapd
# ln -s /etc/init.d/slapd /etc/rc0.d/K10slapd
# ln -s /etc/init.d/slapd /etc/rc6.d/K10slapd
Pour une distribution RedHat, la commande suivante suffit :
# chkconfig --add slapd
Pour une distribution Debian, la commande suivante suffit :
# update-rc.d slapd defaults
Le fichier de configuration doit être placé dans le répertoire ''/etc/default'', il est également conseillé de protéger sa visibilité :
# mkdir -p /etc/default
# mv slapd.default /etc/default/slapd
# chmod 600 /etc/default/slapd
Si vous disposez de plusieurs instances OpenLDAP sur la même machine, il suffit de nommer différemment les scripts d'initialisation (par exemple ''slapd_proxy'' et ''slapd_data'') et d'appliquer les mêmes règles de nommage aux fichiers de configuration situés dans ''/etc/default''. Les liens symboliques doivent bien entendus être également adaptés aux nouveaux noms.
===== Configuration =====
Il est conseillé d'utiliser le fichier externe installé dans ''/etc/default'' plutôt que de modifier directement le script d'initialisation.
* Les paramètres suivants sont obligatoires :
| //Paramètre// | //Description// |
| ''IP'' | adresse (interface) d'écoute d'OpenLDAP. Le caractère ''*'' peut être utilisé pour désigner toutes les interfaces. |
| ''PORT'' | port d'écoute d'OpenLDAP. Si plusieurs ports sont concernés, utiliser le paramètre ''SLAPD_SERVICES''. |
| - | |
| ''SLAPD_PATH'' | répertoire d'installation d'OpenLDAP. Il permet de renseigner facilement les paramètres suivants. |
| ''DATA_PATH'' | répertoire de stockage des données, comme indiqué dans le paramètre ''directory'' de ''slapd.conf''. Il est possible de préciser ''auto'' pour récupérer automatiquement les bases déclarées dans le fichier ''slapd.conf''. |
| ''SLAPD_PID_FILE'' | fichier de stockage du PID de ''slapd'', comme indiqué dans le paramètre ''pidfile'' de ''slapd.conf''. |
| ''SLAPD_CONF'' | fichier de configuration principal. |
| ''SLAPD_SERVICES'' | liste d'URI LDAP, séparées par un espace, sur lesquelles écoute OpenLDAP. |
| ''SLAPD_BIN'' | chemin du binaire ''slapd''. |
| - | |
| ''SLAPCAT_BIN'' | chemin de l'utilitaire ''slapcat''. |
| ''SLAPINDEX_BIN'' | chemin de l'utilitaire ''slapindex''. |
| ''SLAPTEST_BIN'' | chemin de l'utilitaire ''slaptest''. |
| - | |
| ''SLURPD_PID_FILE'' | fichier de stockage du PID de ''slurpd'', comme indiqué dans le paramètre ''replica-pidfile'' de ''slapd.conf''. |
| ''SLURPD_BIN'' | chemin du binaire ''slurpd''. |
| - | |
| ''BDB_PATH'' | répertoire d'installation de BerkeleyDB. Il permet de renseigner facilement les paramètres suivants. |
| ''DB_ARCHIVE_BIN'' | chemin de l'utilitaire ''db_archive''. |
| ''DB_RECOVER_BIN'' | chemin de l'utilitaire ''db_recover''. |
| ''RECOVER_AT_STARTUP'' | activer la réparation de la base de données avant de démarrer ''slapd''. Ceci est inutile et déconseillé pour OpenLDAP 2.3.x et 2.4.x, mais fortement recommandé pour OpenLDAP 2.2.x. |
| - | |
| ''BACKUP_AT_SHUTDOWN'' | sauvegarder les données après l'arrêt de ''slapd''. |
| ''BACKUP_PATH'' | répertoire où sont stockés les fichiers LDIF. |
| ''BACKUP_FILE'' | chemin du fichier de sauvegarde. Si le nom du fichier est fixe, il sera écrasé à chaque nouvelle sauvegarde. Il est possible de le rendre variable en y incluant la date par exemple. |
| - | |
| ''TIMEOUT'' | temps maximum d'attente de la fin d'un processus. Après ce temps, un message invite à utiliser l'action ''forcestop''. |
| ''FD_LIMIT'' | nombre limite de descripteurs de fichiers ouverts. |
* Les paramètres suivants sont facultatifs (ils peuvent contenir la valeur ''""'') :
| //Paramètre// | //Description// |
| ''SLAPD_PARAMS'' | options supplémentaires à passer à ''slapd''. Les options ''-h'', ''-f'', ''-u'' et ''-g'' sont déjà inscrites. |
| ''SLAPD_CONF_DIR'' | répertoire de configuration (correspond à l'option -F du binaire slapd). Par défaut, cette option est vide. Si ce n'est pas le cas, OpenLDAP est démarré en utilisation le répertoire de configuration à la place du fichier de configuration classique et statique. |
| ''SLAPD_USER'' | utilisateur propriétaire des processus ''slapd'' et ''slurpd''. |
| ''SLAPD_GROUP'' | groupe propriétaire des processus ''slapd'' et ''slurpd''. |
| - | |
| ''SLURPD_PARAMS'' | options supplémentaires à passer à ''slurpd''. L'option ''-f'' est déjà inscrite. |
===== Téléchargement =====
* [[http://tools.ltb-project.org/projects/list_files/ltb|Espace téléchargement du site LTB-project]] (paquet openldap-initscript)
Contributeurs : [[::info::authors::coudot]], [[::info::authors::tchemineau]]