Slapd puede ejecutarse de dos maneras diferentes, como demonio o
servicio permanente, o bien desde inetd(8)
. Se recomienda la
ejecución como demonio permanente, sobre todo si usa el backend
de LDBM. Ello permitirá al backend
beneficiarse del uso de
memoria de almacenamiento intermedio (caché) y evita problemas de
acceso compartido a los ficheros de índices de LDBM. Si únicamente
ejecuta un backend de tipo SHELL o PASSWD, entonces sí puede
considerar la opción de ejecutar slapd desde inetd
.
Slapd soporta las siguientes opciones de línea de órdenes:
Esta opción fija el nivel de depuración de slapd en
<nivel>
. Cuando el nivel es un carácter `?
', se
muestran los distintos niveles de depuración y slapd termina, con
independencia de cualquier otra opción que se introduzca. Los niveles
de depuración existentes son:
Los niveles de depuración son acumulativos. Si desea trazar llamadas a
funciones y observar qué fichero de configuración se está procesando,
fije el nivel de depuración al resultado de la suma de estos dos
niveles ( en este caso, 65). Consulte el fichero <ldap.h>
para más detalles.
Observe que slapd se tendrá que haber compilado con la opción
-DLDAP_DEBUG
definida, si se desea un nivel de depuración
superior a los dos niveles de estadísticas disponibles.
Esta opción especifica un fichero de configuración alternativo para slapd
Esta opción le especifica a slapd que se ejecute desde inetd
en vez de hacerlo como un demonio o servicio independiente. En la
próxima sección encontrará más detalles sobre la ejecución de
slapd desde inetd
.
Esta opción especifica un puerto TCP alternativo en el que slapd se mantendrá a la escucha para las conexiones. El puerto por defecto es el 389.
Como norma general, slapd se ejecuta de la siguiente manera:
# $(ETCDIR)/slapd [<opción>]*
donde ETCDIR tiene el valor que le haya asignado en el fichero
Make-common
o en el guión ./configure
durante la
configuración previa a la compilación, y <opción>
es una de
las opciones descritas más arriba.
A menos que haya especificado un nivel de depuración, slapd se
desvinculará automáticamente del terminal desde el que lo lanzó, y se
ejecutará en segundo plano, en modo demonio o servicio. Cualquiera de
las opciones de más arriba pueden darse en la línea de órdenes para
hacer que slapd cargue un fichero de configuración diferente, o
que escuche en otro puerto, etcétera.
Véase el siguiente ejemplo de comienzo de slapd:
$(ETCDIR)/slapd -f /home/malere/mi_slapd.conf -d 255
En primer lugar, asegúrese de que sea una buena idea ejecutar
slapd desde inetd
. Si está usando el backend LDBM,
entonces no es buena idea. Si está en un entorno de mucho servicio,
entonces la sobrecarga que supone ejecutarlo desde inetd
también
lo convierte en una mala idea. Si no es su caso puede seguir adelante
con los dos pasos necesarios.
El primer paso es añadir a /etc/services/
una línea como la
siguiente:
ldap 389 # ldap directory service
El segundo paso es añadir una línea como la siguiente a su fichero
/etc/inetd.conf
:
ldap stream tcp nowait nobody $(ETCDIR)/slapd slapd -i
donde ETCDIR tiene el valor que le haya asignado en el fichero
Make-common
o en el guión ./configure
durante la
configuración previa a la compilación.
Finalmente envíele a inetd
una señal -HUP
y ya tendrá su
configuración. (N. del T.: pruebe con killall -HUP inetd
o mejor
todavía kill -HUP $(pidof inetd)
o
kill -TERM `cat $(ETCDIR)/inetd.pid`
)