slapd.conf
Es el archivo principal de OpenLDAP y es aquí donde se configuran todos sus parámetros,si realizó la instalación de acuerdo a esta guia, slapd.conf se encuentra dentro del directorio /usr/local/etc/openldap
Parámetros Globales
Los parámetros dentro de esta sección afectan el funcionamiento de todo el Servidor OpenLDAP, cualquier definición antes de un parámetro database es considerado global, cabe mencionarse que los valores de parámetros globales pueden ser contrarrestados al nivel de bases de datos, esto es, si se define el parámetro access globalmente, es posible alterar el valor de este parámetro en "X" base de datos y el resto de las bases de datos permanecerán con el valor global.
Los siguientes son parámetros globales básicos para slapd.conf :
include /usr/local/etc/openldap/schema/core.schema #referral ldap://root.openldap.org/ #access to * by * write pidfile /usr/local/var/slapd.pid argsfile /usr/local/var/slapd.args loglevel 0 |
include: Este parámetro indica otros archivos de configuración utilizados por el Servidor OpenLDAP, la declaración anterior carga el archivocore.schema.referral: Indica un Servidor LDAP alterno en dado caso de no poderse efectuar la búsqueda en el servidor LDAP actual.(Desactivado con comentario#).access to ...: Parámetro utilizado para restringir acceso al servidor LDAP, la utilización de acceso también es un tema muy amplio descrito en otra sección de esta guia. (Desactivado con comentario#)pidfile: Contiene el numero de proceso asignado al servidor LDAP al arranque. (Vea: Ejecución y Terminación del Servidor LDAP )argsfile: Contiene parámetros utilizados en la linea de comandos al iniciar el servidor OpenLDAP (Vea: Ejecución y Terminación del Servidor LDAP )loglevel: Indica el nivel de registros ("log") producidos por el servidor LDAP, posibles valores:
| Level | Description | Level | Description |
|---|---|---|---|
| -1 | enable all debugging | 0 | no debugging |
| 1 | trace function calls | 2 | debug packet handling |
| 4 | heavy trace debugging | 8 | connection management |
| 16 | print out packets sent and received | 32 | search filter processing |
| 64 | configuration file processing | 128 | access control list processing |
| 256 | stats log connections/operations/results | 512 | stats log entries sent |
| 1024 | print communication with shell backends | 2048 | print entry parsing debugging |
Parámetros por Base de Datos
Dentro de cada servidor LDAP se pueden encontrar varias base de datos, es dentro de estas bases de datos que residirá toda información del Servidor OpenLDAP.
NOTA: En el sentido más estricto de la palabra OpenLDAP no utiliza una
base de datos
, la "base de datos" utilizada en OpenLDAP es un tipo de "Flat File" generalmente ldbm .
|
Una definición para base de datos seria la siguiente:
database ldbm suffix "dc=osmosislatina, dc=com" #suffix "o=Osmosislatina, c=MX" rootdn "cn=Admin, dc=osmosislatina, dc=com" #rootdn "cn=Admin, o=Osmosislatina, c=MX" rootpw daniel directory /usr/local/var/openldap-ldbm |
database: Indica el tipo de "base de datos" a utilizarse, generalmente del tipoldbm(Otras alternativas:shell,passwd), además indica el inicio de "base de datos", esto es, cada declaración dedatabasese considera una "base de datos" por separado, esto será descrito a mayor detalle en Insertar datos en OpenLDAP .suffix: Este parámetro indica el nodo raíz de la base de datos, esto es, el nodo sobre el cual será derivada toda la información, en este casodc=osmosislatina, dc=com(Nótese que este también pudo sero=Osmosislatina, c=MX). Lo anterior indica que toda información dentro de esta "base de datos" LDAP descenderá de la jerarquíadc=osmosislatina, dc=com(Esta jerarquía fue ilustrada en LDAP ). Lo anterior será descrito a mayor detalle en Insertar datos en OpenLDAProotdn: Establece el nodo ("usuario") que tiene privilegios globales para modificar la "base de datos" LDAP , en este casocn=Admin, nótese que desciende del nodo raíz (suffix)dc=osmosislatina, dc=com.rootpw: Indica la contraseña para el usuariorootdn.directory: Define el directorio donde residirá la base de datos, este directorio debe existir antes iniciar el Servidor LDAP.
Ejecución y Terminación del Servidor LDAP
Ejecución
Para iniciar OpenLDAP se ejecuta el comando slapd , ubicado en /usr/local/libexec/ , esto inicia el Daemon LDAP bajo el puerto TCP 389 por default. Al momento de ejecutar slapd también es posible indicar ciertos parámetros de arranque como el (los) puerto(s) TCP: slapd -h "ldaps:// ldap://127.0.0.1:978" , lo anterior inicia el servidor LDAP bajo
SSL (Secure Socket Layer) bajo el puerto default 636 y bajo el puerto TCP 978 (en vez del default 389).
El indicar estos parámetros en la linea de comandos cada ocasión puede ser tedioso, por lo que se recomienda agregar estos parámetros al archivo slapd.args ubicado generalmente en /usr/local/var/ (ambos modificables de slapd.conf ).
Para cerciorarse que el servidor LDAP esta operativo realice un telnet al puerto TACA en cuestión: telnet localhost 389 , si la conexión no es aceptada verifique los registros ("logs") de OpenLDAP.
Terminación
Para terminar el Daemon LDAP se debe ejecutar: kill -INT `cat /usr/local/var/slapd.pid` , lo anterior asume que el parámetro pidfile en slapd.conf se encuentra definido como: pidfile /usr/local/var/slapd.pid .
Registros ("Logs")
En el archivo slapd.conf se indico un nivel de registro ("logs") mediante el parámetro loglevel , pero a que archivo ("logfile") es enviada esta información ?
OpenLDAP por "default" envía su información de registro ("log") al Daemon syslog( syslogd ) bajo el canal LOCAL4, sin entrar en los detalles de syslogd se deben realizar los siguientes pasos:
Modificar el archivo
syslog.conf, agregando una linea como la siguiente:
local4.* /var/log/openldap |
Lo anterior indica enviar todo mensaje del canal LOCAL4 al archivo /var/log/openldap
Reiniciar el daemon
syslogdcon el comando:killall -HUP syslogd
|
