[OpenLDAP] Script de démarrage et d’arrêt
version 0.6-3
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 et 2.3.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
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érement les scripts d’initialisation (par exemple slapd_proxy et slapd_data) et d’appliquer les mêmes règles de nommages 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 :
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, 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 "") :
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
Script d’initialisation :

- Init script
- Version 0.6-3
Fichier de configuration pour une installation par défaut :

- Configuration File
Copyright (C) 2008 Jonathan CLARKE
Copyright (C) 2007 Olivier LI-KIANG-CHEONG
Copyright (C) 2007 Thomas CHEMINEAU
Copyright (C) 2005 Sébastien BAHLOUL
Copyright (C) 2005 Raphaël OUAZANA
Copyright (C) 2005 Clément OUDOT
Copyright (C) 2005 LINAGORA
Licence publique GNU (GPL)
|