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
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 archivo core.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 |
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 tipo ldbm
(Otras alternativas: shell,passwd
), además indica el inicio de "base de datos", esto es, cada declaración de database
se 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 caso dc=osmosislatina, dc=com
(Nótese que este también pudo ser o=Osmosislatina, c=MX
). Lo anterior indica que toda información dentro de esta "base de datos" LDAP descenderá de la jerarquía dc=osmosislatina, dc=com
(Esta jerarquía fue ilustrada en
LDAP
). Lo anterior será descrito a mayor detalle en
Insertar datos en OpenLDAP
rootdn
: Establece el nodo ("usuario") que tiene privilegios globales para modificar la "base de datos" LDAP , en este caso cn=Admin
, nótese que desciende del nodo raíz (suffix
) dc=osmosislatina, dc=com
.
rootpw
: Indica la contraseña para el usuario rootdn
.
directory
: Define el directorio donde residirá la base de datos, este directorio debe existir antes iniciar el Servidor LDAP.
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.
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
.
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 syslogd
con el comando: killall -HUP syslogd