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 :
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.
Le script s'utilise ainsi :
# /etc/init.d/slapd action
Avec comme action possible :
start :slurpd si des réplicats sont configurés.slapd en recouvrant les données si demandé.stop :slapd et sauvegarde les données si demandé.slurpd s'il est démarré.forcestop :kill -KILL est effectué sur ceux-ci.killall -KILL sur le nom des binaires est effectué.restart :stop.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).
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.
Il est conseillé d'utiliser le fichier externe installé dans /etc/default plutôt que de modifier directement le script d'initialisation.
| 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. |
””) :| 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. |