====== OpenLDAP init script====== ===== Presentation ===== The init script ''slapd'' provide start, stop and other commands for OpenLDAP daemon. It requires: * Logger, to forward messages to syslog * Awk, for regular expression management * BerkeleyDB, for recover and archive tools * OpenLDAP, for save, index, ... tools Configuration of this script can be done in an external file, with the same name as the init script in ''/etc/default''. A backup feature allows to save all data in an LDIF file, compressed or not. ===== Usage ===== Run the script like that: # /etc/init.d/slapd action With action in: * ''start'': * Test configuration * Start slurpd if needed * Start slapd with data recover if needed * ''stop'': * Stop ''slapd'' and save data if needed * Stop ''slurpd'' if needed * ''forcestop'': * If script can read PID, do a ''kill -KILL PID'' * Else ''killall -KILL'' on binaries name * ''restart'': * Launch ''stop'' * Launch ''start'' * ''force-realod'': * Force stop * Config test * Start * ''configtest'': test configuration * ''db_recover'': data recover (slapd must be stopped) * ''reindex'': data index (slapd must be stopped) * ''removelogs'': archive old BerkeleyDB logs (slapd must be stopped) * ''backup'': LDIF export of all data * ''status'': Display running status and naming contexts ===== Installation ===== Copy script in ''/etc/init.d'': # mv slapd /etc/init.d # chmod +x /etc/init.d/slapd Configure the service in init levels: # 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 For RedHat based systems: # chkconfig --add slapd For Debian base systems: # update-rc.d slapd defaults Configuration file must be installed in ''/etc/default'': # mkdir -p /etc/default # mv slapd.default /etc/default/slapd # chmod 600 /etc/default/slapd You can run several OpenLDAP daemons on the same server, and use different init scripts. For example to have a "slapd2" init script: # cp /etc/init.d/slapd /etc/init.d/slapd2 # cp /etc/default/slapd /etc/default/slapd2 ===== Configuration ===== Use the external file in ''/etc/default'' rather than editing directly the script. * Following parameters are mandatory: | //Parameter// | //Description// | | ''IP'' | Listen address for standard LDAP requests. Meta character ''*'' can be used for all interfaces | | ''PORT'' | Listen port for standard LDAP requests. Use ''SLAPD_SERVICES'' if you need several ports | | ''SSLIP'' | Listen address for LDAPS requests. Meta character ''*'' can be used for all interfaces | | ''SSLPORT'' | Listen port for LDAPS requests. Use ''SLAPD_SERVICES'' if you need several ports | | - | | | ''SLAPD_PATH'' | OpenLDAP main directory | | ''DATA_PATH'' | Data directory. You can set ''auto'' to get directories configured in ''slapd.conf'' | | ''SLAPD_PID_FILE'' | The ''pidfile'' parameter of ''slapd.conf'' | | ''SLAPD_CONF'' | Main configuration file | | ''SLAPD_SERVICES'' | Listen URI LDAP list, separated by spaces | | ''SLAPD_BIN'' | ''slapd'' binary path | | - | | | ''SLAPCAT_BIN'' | ''slapcat'' binary path | | ''SLAPINDEX_BIN'' | ''slapindex'' binary path | | ''SLAPTEST_BIN'' | ''slaptest'' binary path | | - | | | ''SLURPD_PID_FILE'' | The ''replica-pidfile'' parameter of ''slapd.conf'' | | ''SLURPD_BIN'' | ''slurpd'' binary path | | - | | | ''BDB_PATH'' | BerkeleyDB main directory | | ''DB_ARCHIVE_BIN'' | ''db_archive'' binary path | | ''DB_RECOVER_BIN'' | ''db_recover'' binary path | | ''RECOVER_AT_STARTUP'' | Force data recover on startup. Should not be used for OpenLDAP > 2.2 | | - | | | ''BACKUP_AT_SHUTDOWN'' | Backup data when slapd is stopped | | ''BACKUP_PATH'' | Backup directory | | ''BACKUP_FILE'' | Backup file path | | ''BACKUP_SUFFIX'' | Backup file suffix | | - | | | ''TIMEOUT'' | Stop slapd timeout. After that, you need to use the ''forcestop'' rule | | ''FD_LIMIT'' | Maximum opened file descriptor | * Following parameters are not mandatory (they can contain ''""'') : | //Parameter// | //Description// | | ''SLAPD_PARAMS'' | Additional options for''slapd''. options ''-h'', ''-f'', ''-u'' et ''-g'' are already managed | | ''SLAPD_CONF_DIR'' | Main configuration dir (cancel SLAPD_CONF parameter) | | ''SLAPD_USER'' | Owner user of ''slapd'' and''slurpd'' process | | ''SLAPD_GROUP'' | Owner group of ''slapd'' and''slurpd'' process | | - | | | ''SLURPD_PARAMS'' | Additional options for ''slurpd''. Option ''-f'' is already managed | | - | | | ''BACKUP_COMPRESS_EXT'' | Extension of LDIF compressed file. No compression is done if this is empty | | ''BACKUP_COMPRESS_BIN'' | Binary used to compress LDIF file |