PDF de programación - OpenLDAP 2.1.25

Imágen de pdf OpenLDAP 2.1.25

OpenLDAP 2.1.25gráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 13 de Marzo del 2018)
347 visualizaciones desde el 13 de Marzo del 2018
57,7 KB
6 paginas
Creado hace 20a (18/12/2003)
OpenLDAP 2.1.25

Nacho D(cid:19)(cid:16)az Asenjo
[email protected]

Universidad Carlos III de Madrid

18 de diciembre de 2003

1.

Instalaci(cid:19)on de OpenLDAP 2.1.25 en Linux

En este documento intentar(cid:19)e explicar los pasos (de forma muy esquem(cid:19)atica y
breve) que hay que dar a la hora de instalar cualquier versi(cid:19)on Openldap 2.1.x. No es
mi intenci(cid:19)on escribir algo bien redactado, (cid:19)unicamente son unos ligeros apuntes que
tom(cid:19)e mientras trabajaba en la instalaci(cid:19)on.

>Qu(cid:19)e vamos a utilizar para poner en marcha esta nueva versi(cid:19)on de OpenLDAP?.

Lo normal es utilizar la (cid:19)ultima versi(cid:19)on a d(cid:19)(cid:16)a de hoy.

Berkeley DB 4.2.52

Cyrus-SASL 2.1.17

OpenSSL 0.9.6 (asumimos que est(cid:19)a instalada por defecto en el sistema). En
apt-get install libssl0.9.6 instalar(cid:19)a el paquete libssl0.9.6c-2woody.4.

OpenLDAP 2.1.25

1.1. Compilando Berkeley DB

Obtenemos el paquete correspondiente a la versi(cid:19)on 4.2.52 de la siguiente direcci(cid:19)on

http://www.sleepycat.com/update/snapshot/db-4.2.52.tar.gz.

# tar xvzf db-4.2.52.tar.gz
# cd db-4.2.52
# cd build_unix
# ../dist/configure --prefix=/usr/local/BerkeleyDB-4.2.5/
# make
# make install

1

1.2. Compilando cyrus-sasl

El paquete de Cyrus lo obtuve de ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-
sasl-2.1.17.tar.gz. Para compilar este paquete y asegurarte de que lo enlazas real-
mente con las nuevas BerkeleyDB 4.2, introduce en el (cid:12)chero /etc/ld.so.conf
la
l(cid:19)(cid:16)nea correspondiente al path donde residen las librer(cid:19)(cid:16)as DB que acabas de compilar
/usr/local/BerkeleyDB-4.2.5/lib.

# cd cyrus-sasl-2.1.17
# ./configure --enable-krb4=no --with-bdb-libdir=/usr/local/BerkeleyDB-4.2.52/lib/

--with-bdb-incdir=/usr/local/BerkeleyDB-4.2.52/include
--prefix=/usr/local/Cyrus-SASL-2.1.17

# make
# make install

1.3. Compilando OpenLDAP 2.1.25

Respecto a OpenSSL, en mi caso no ha sido necesario compilarlo porque ya ten(cid:19)(cid:16)a

instalado la versi(cid:19)on 0.9.6c (en Woody apt-get install libssl0.9.6 libssl-dev ).

Lo siguiente que debemos conseguir es la distribuci(cid:19)on de LDAP que deseamos ins-

talar. En la siguiente URL ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release.tgz
se encuentra la (cid:19)ultima release de OpenLDAP (en la actualidad la versi(cid:19)on 2.1.25).

# tar xvzf openldap-release.tgz
# cd openldap-2.1.25

A continuaci(cid:19)on tendr(cid:19)as que teclear la l(cid:19)(cid:16)nea m(cid:19)as importante.

# CPPFLAGS="-I/usr/local/BerkeleyDB-4.2.52/include

-I/usr/local/Cyrus-SASL-2.1.15/include/sasl/"

LDFLAGS="-L/usr/local/BerkeleyDB-4.2.52/lib

-L/usr/local/Cyrus-SASL-2.1.17/lib/sasl2"
-L/usr/local/Cyrus-SASL-2.1.17/lib"

./configure --enable-threads --enable-tls --prefix=/usr/local/openldap-2.1.25
--enable-ldbm --enable-bdb --enable-monitor --enable-crypt

Tal vez est(cid:19)es interesado en incluir m(cid:19)as cosas como por ejemplo: {enable-referrals
o {enable-wrappers. Ojo con el {enable-crypt ya que si no lo habilitas tu servidor
ser(cid:19)a incapaz de hacer BIND con usuarios que tengan en el userPassword claves de
este tipo. El {enable-ldbm se debe a que es el (cid:19)unico backend que entiende alias.

Finalmente ejecuta:

2

# make depend
# make
# make install

Podemos veri(cid:12)car cuales son las librer(cid:19)(cid:16)as din(cid:19)amicas de nuestro servidor LDAP.

# ldd /usr/local/openldap-2.1.25/libexec/slapd

libsasl2.so.2 => /usr/local/Cyrus-SASL-2.1.17/lib/libsasl2.so.2 (0x40014000)
libssl.so.0.9.6 => /usr/lib/libssl.so.0.9.6 (0x4002b000)
libcrypto.so.0.9.6 => /usr/lib/libcrypto.so.0.9.6 (0x40059000)
libresolv.so.2 => /lib/libresolv.so.2 (0x40119000)
libdl.so.2 => /lib/libdl.so.2 (0x40129000)
libpthread.so.0 => /lib/libpthread.so.0 (0x4012c000)
libc.so.6 => /lib/libc.so.6 (0x40140000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000

1.3.1. Problemas

La ejecuci(cid:19)on del make me dio algunos problemillas debido a peque~nas cosas (li-

brer(cid:19)(cid:16)as) de las que mi m(cid:19)aquina carec(cid:19)(cid:16)a.

1.

2.

cannot (cid:12)nd -lpam
Soluci(cid:19)on: apt-get install libpam0g-dev

/usr/lib/libsasl.a db berkeley: unde(cid:12)ned reference to ’db open’
Soluci(cid:19)on: Necesitaba tener instalada la versi(cid:19)on adecuada de SASL.

3. No me arranca el demonio con un (cid:12)chero de con(cid:12)guraci(cid:19)on de OpenLDAP 2.0.x
Soluci(cid:19)on: Hay algunas directivas que han cambiado de nombre o no est(cid:19)an so-
portadas. Aseg(cid:19)urate que la ejecuci(cid:19)on de ./libexec/slapd -t te devuelve que la
sintaxis de (cid:12)chero es correcta.

4. Problema con los esquemas personales que utilizaba en OpenLDAP 2.0.x

Soluci(cid:19)on: Es posible que a la hora de cargar datos el directorio se queje porque
tu esquema no es correcto, aunque sea el mismo que llevabas usando todas la
vida. Por ejemplo, los objectos que crees necesitan tener SUP en el que indiques
cual es la clase superior. Con la sintaxis de los atributos tambi(cid:19)en puedes tener
problemillas.

5. Error con comillas dobles en DN (\)

Soluci(cid:19)on: Cargando un LDIF he tenido problemas con algunos DN’s que ten(cid:19)(cid:16)an
comillas dobles, cuando en mi antiguo directorio OpenLDAP 2.0.x, s(cid:19)(cid:16) que me
lo aceptaba.

6. DBD no soporta aliasedObjectName

Soluci(cid:19)on: Quer(cid:19)(cid:16)a s(cid:19)olo probar si lo que hab(cid:19)(cid:16)a le(cid:19)(cid:16)do era cierto. Pues s(cid:19)(cid:16) lo es. Si
tu directorio tiene alias deberas utilizar bases de datos ldbm.

3

7. No me arranca y acabo de poner las opciones de TLS en mi (cid:12)chero de con(cid:12)-

guracion
Soluci(cid:19)on: Comentar la l(cid:19)(cid:16)nea TLSClientVerify porque la opci(cid:19)on false ya no fun-
ciona y provoca que el servidor no arranque.

8. Tengo un error con un schema que antes me funcionaba con OpenLDAP 2.0.x
Soluci(cid:19)on: Para los attributetype he cambiado las sintaxis de cadena terminada
en .40 por .15, ya que la .40 ya no aceptaba EQUALITY caseIgnoreMatch.
Adem(cid:19)as para nuevos objectclass de(cid:12)nidos en el schema antes los soportaba
sin SUP y ahora en uc3mGrupo se debe a~nadir SUP organizationalUnit y en
uc3mPersona SUP inetOrgPerson.

9. Fallo al realizar el bind’s como un usuario

Soluci(cid:19)on: Posiblemente el {enable-crypt est(cid:19)a a no es necesario compilarlo con
esta opci(cid:19)on si deseamos utilizar el esquema Crypt. La opci(cid:19)on por defecto en
password-hash ahora es fSHAg.

10. Directiva dbcachesize desconocida

Soluci(cid:19)on: Eliminar este directiva del (cid:12)chero de con(cid:12)guraci(cid:19)on.

11. Permitir conexiones Versi(cid:19)on 2. Soluci(cid:19)on: Por defecto la versi(cid:19)on 2.1 de OpenL-
DAP ya no soporta conexiones V.2, si quieres a~nadir esta funcionalidad a~nade
la siguiente opcion allow bind v2 en tu (cid:12)chero de con(cid:12)guraci(cid:19)on.

1.4. Fichero /etc/syslog.conf

A~nade una nueva l(cid:19)(cid:16)nea al (cid:12)nal del (cid:12)chero de con(cid:12)guraci(cid:19)on de logs

LOCAL6.*

-/usr/local/openldap-2.1.25/var/log/openldap.log

y manda una se~nal -HUP al proceso syslogd

# ps -e | grep syslogd

250 ?

00:13:31 syslogd

#kill -HUP 250

A partir de ese momento nuestro LDAP arrancado con la opci(cid:19)on -l LOCAL6, en-
viar(cid:19)a los log’s del directorio a ese (cid:12)chero.

1.4.1. Fichero /etc/init.d/openldap-2.1.25

Este es el script que utilizo para arrancar y parar el servicio.

#!/bin/bash

HOME=/usr/local/openldap-2.1.25
DAEMON=$HOME/libexec/slapd

4

SLURPD=$HOME/libexec/slurpd
CONFIG=$HOME/etc/openldap/slapd.conf

case "$1" in
’start’)

if [ -f /usr/local/openldap-2.1.25/etc/openldap/slapd.conf -a -f

/usr/local/openldap-2.1.25/libexec/slapd ]; then

echo "Arrancando Servicio de Directorio OPENLDAP."
ulimit -n 4096
/usr/local/openldap-2.1.25/libexec/slapd

-f /usr/local/openldap-2.1.25/etc/openldap/slapd.conf
-h "ldap://:389/ ldaps://:636/" -l LOCAL6

echo "Arrancando Servicio de Replica [slurpd]"
replicas=‘grep ^replica $CONFIG‘
test -z "$replicas" ||

(echo -n " slurpd" && start-stop-daemon --start

--quiet --name slurpd --exec $SLURPD)

echo "."

fi
;;

’stop’)

[ ! -f /usr/local/openldap-2.1.25/var/slapd.pid ] && exit 0
slapdpid=‘cat /usr/local/openldap-2.1.25/var/slapd.pid‘
if [ "$slapdpid" -gt 0 ]; then

echo "Parando Servicio de Directorio OPENLDAP."
kill -SIGTERM $slapdpid 2>&1 |

/bin/grep -v "no existe ese proceso."

fi
replicas=‘grep ^replica $CONFIG‘
test -z "$replicas" ||

(echo -n " slurpd" && killall slurpd > /dev/null 2>&1)

;;

*)

echo "Usage: /etc/init.d/openldap-2.1.25 { start | stop }"
;;

esac
exit 0

1.5. Carga Masiva de Datos

Para realizar una carga masiva a este nuevo directorio instalado a partir de un

(cid:12)chero LDIF, el comando a ejecutar ser(cid:19)a el siguiente:

# /usr/local/openldap-2.1.25/sbin/slapadd

-f /usr/local/openldap-2.1.25/etc/openldap/slapd.conf

5

-b "o=Universidad Carlos III,c=es"
-l <DatosIniciales>.ldif

6
  • Links de descarga
http://lwp-l.com/pdf9489

Comentarios de: OpenLDAP 2.1.25 (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad