Buenas, soy nuevo en esto de Ldap y estoy tratando de configurarlo, pero hasta ahora no he podido, cuando intento agregarle el esquema inicial me da el siguiente error:
ldap_bind: Can't contact LDAP server (-1)
no se que podrá ser :(
cuando hago "/etc/init.d/slapd restart" en el syslog aparece esto:
Oct 9 12:07:52 debian slapd[16097]: @(#) $OpenLDAP: slapd 2.3.30 (Oct 9 2008 10:33:08) $ ^Iroot@debian:/home/correo/debian-ldap/openldap2.3-2.3.30/debian/build/servers/slapd
Oct 9 12:07:52 debian slapd[16097]: /etc/ldap/slapd.conf: line 109: rootdn is always granted unlimited privileges.
Oct 9 12:07:52 debian slapd[16097]: /etc/ldap/slapd.conf: line 126: rootdn is always granted unlimited privileges.
Oct 9 12:07:52 debian slapd[16098]: bdb_db_open: alock package is unstable
Oct 9 12:07:52 debian slapd[16098]: backend_startup_one: bi_db_open failed! (-1)
Oct 9 12:07:52 debian slapd[16098]: slapd stopped.
Oct 9 12:07:52 debian slapd[16098]: connections_destroy: nothing to destroy.
no se que hacer :(
adjunto mi archivo de configuración para ver si me pueden ayudar:
# This is the main slapd configuration file. See slapd.conf(5) for more
# info on the configuration options.
#######################################################################
# Global Directives:
# Features to permit
#allow bind_v2
# Schema and objectClass definitions
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/inetorgperson.schema
#include /etc/ldap/schema/authldap.schema
#Schemachek Permite forzar las entradas a que tengan match con sus objectClasses
schemachek on
# Where the pid file is put. The init.d script
# will not stop the server if you change this.
pidfile /var/run/slapd/slapd.pid
# List of arguments that were passed to the server
argsfile /var/run/slapd/slapd.args
# Read slapd.conf(5) for possible values
loglevel 256
# Where the dynamically loaded modules are stored
modulepath /usr/lib/ldap
moduleload back_bdb
# The maximum number of entries that is returned for a search operation
sizelimit 500
# The tool-threads parameter sets the actual amount of cpu's that is used
# for indexing.
tool-threads 1
#######################################################################
# Specific Backend Directives for bdb:
# Backend specific directives apply to this backend until another
# 'backend' directive occurs
backend bdb
checkpoint 512 30
#######################################################################
# Specific Backend Directives for 'other':
# Backend specific directives apply to this backend until another
# 'backend' directive occurs
#backend
#Formato del Password
password-hash {CRYPT}
#######################################################################
# Specific Directives for database #1, of type bdb:
# Database specific directives apply to this databasse until another
# 'database' directive occurs
database bdb
# The base of your directory in database #1
suffix "o=mailprueba,c=es"
# rootdn directive for specifying a superuser on the database. This is needed
# for syncrepl.
rootdn "cn=admin,o=mailprueba,c=es"
# Password del Administrador
rootpw {CRYPT}1GBYH1dgCTA.k
# Where the database file are physically stored for database #1
directory "/var/lib/ldap"
# For the Debian package we use 2MB as default but be sure to update this
# value if you have plenty of RAM
dbconfig set_cachesize 0 2097152 0
# Sven Hartge reported that he had to set this value incredibly high
# to get slapd running at all. See http://bugs.debian.org/303057
# for more information.
# Number of objects that can be locked at the same time.
dbconfig set_lk_max_objects 1500
# Number of locks (both requested and granted)
dbconfig set_lk_max_locks 1500
# Number of lockers
dbconfig set_lk_max_lockers 1500
# Indexing options for database #1
index objectClass eq
# Save the time that the entry gets modified, for database #1
lastmod on
# Where to store the replica logs for database #1
# replogfile /var/lib/ldap/replog
# The userPassword by default can be changed
# by the entry owning it if they are authenticated.
# Others should not be able to see it, except the
# admin entry below
# These access lines apply to database #1 only
access to attrs=userPassword
by dn="cn=admin,o=mailprueba,c=es" write
by anonymous auth
by self write
by * none
# Ensure read access to the base for things like
# supportedSASLMechanisms. Without this you may
# have problems with SASL not knowing what
# mechanisms are available and the like.
# Note that this is covered by the 'access to *'
# ACL below too but if you change that as people
# are wont to do you'll still need this if you
# want SASL (and possible other things) to work
# happily.
access to dn.base="" by * read
# The admin dn has full write access, everyone else
# can read everything.
access to *
by dn="cn=admin,o=mailprueba,c=es" write
by * read
#######################################################################
# Specific Directives for database #2, of type 'other' (can be bdb too):
# Database specific directives apply to this databasse until another
# 'database' directive occurs
#database
# The base of your directory for database #2
#suffix "dc=debian,dc=org"
el esquema que estoy tratando de crear es:
# mailprueba, es
dn: o=mailprueba,c=es
objectClass: organization
o: subnet
# admin, mailprueba, es
dn: cn=admin, o=mailprueba,c=es
objectClass: organizationalRole
objectClass: simpleSecurityObject
cn: admin
description: LDAP Administrator
userPassword: {CRYPT}1GBYH1dgCTA.k
# Usuarios, mailprueba, es
dn: ou=Usuarios, o=mailprueba,c=es
objectClass: organizationalUnit
ou: Usuarios
# Postfix, mailprueba, es
dn: ou=Postfix, o=mailprueba, c=es
ou: Postfix
objectClass: organizationalUnit
userPassword: {CRYPT}1GBYH1dgCTA.k
# Alias, Postfix, mailprueba, es
dn: ou=Alias,ou=Postfix, o=mailprueba,c=es
objectClass: organizationalUnit
y lo estoy invocando con:
ldapadd -x -D "cn=admin, o=mailprueba, c=es" -W -h ldap.mailprueba.com -f esquema.ldif
De verdad agradezco su ayuda :)
Antes que nada un
Antes que nada un saludo...
Te diré que si intentas agregar un ldif desde consola lo primero que tienes que hacer es detener el servidor slapd y luego ejecutar el comando ldapadd con los parametros.. Por el error que te da de rootdn is always granted unlimited privileges. no te preocupes pues el lo ve asi porque es un usuario que tiene mucho privilegio.
"Para ser exitoso no tienes que hacer cosas extraordinarias. Haz cosas ordinarias, extraordinariamente bien."