Страница 1 из 3

Основы работы LDAP? Нужна помошь.

Добавлено: 2008-01-23 12:14:56
Restive
Сразу оговорюсь, я новичек :)
Пробовал поставить несколько раз Openldap, по различным докам, но лыжи почему то не едут.
Ставлю на новую фрю 6.3 например, после обновления портов версия 2.4.7, всё ставится без проблем. Прописываю в rc.conf:

Код: Выделить всё

slapd_enable="YES"
slapd_flags='-h "ldapi://%2fvar%2frun%2fopenldap%2fldapi/ ? ldap://192.168.0.254/"'
slapd_sockets="/var/run/openldap/ldapi"
----------------------
В slapd.conf:

Код: Выделить всё

include         /usr/local/etc/openldap/schema/core.schema
include         /usr/local/etc/openldap/schema/cosine.schema
include         /usr/local/etc/openldap/schema/inetorgperson.schema
include         /usr/local/etc/openldap/schema/misc.schema
include         /usr/local/etc/openldap/schema/nis.schema
include         /usr/local/etc/openldap/schema/openldap.schema

pidfile         /var/run/openldap/slapd.pid
argsfile        /var/run/openldap/slapd.args

modulepath      /usr/local/libexec/openldap
moduleload      back_bdb

access to attrs=userPassword
        by self write
        by anonymous auth
        by * none

access to *
        by self write
        by anonymous read
        by * none

database        bdb
suffix          "dc=p2k1"
rootdn          "cn=root,dc=p2k1"
rootpw          secret
directory       /var/db/openldap-data
index   objectClass     eq
loglevel        256
---------------
В base.ldif:

Код: Выделить всё

dn: dc=p2k1
objectClass: dcObject
objectClass: organization
objectClass: top
dc:p2k1
o:p2k1
----------------------
По разному пробовал, это текущие. Вот, когда я запускаю slapd он пишет "Starting slapd.", но нигде в процессах он не появляется, и не запускается. Подскажите, где косяк, может ему ещё какие конфиги нужны, или как найти где он пишет ошибку, чтоб можно было понять почему он не стартует?

Re: Основы работы LDAP? Нужна помошь.

Добавлено: 2008-01-23 13:47:46
AlexRook
Поробуй так :
добавь в конец /etc/syslog.conf
строки:

Код: Выделить всё

!slapd
*.*       /var/log/slapd.log
затем создай файл /var/log/slapd.log вручную.
потом
kill -HUP `cat /var/run/syslog.pid`

потом запусти slapd и посмотри чего в логе пишет.
может каталога /var/db/openldap-data нет

Предупреждаю я сам новичек в unix :D

Re: Основы работы LDAP? Нужна помошь.

Добавлено: 2008-01-23 13:59:18
HRonik
AlexRook писал(а):Поробуй так :
добавь в конец /etc/syslog.conf
строки:

Код: Выделить всё

!slapd
*.*       /var/log/slapd.log
перенаправляешь логи со всех процессов в slapd.conf?...
если так ломает следить за syslog, то может быть

Код: Выделить всё

 slapd.*       /var/log/slapd.log 
сам не пробывал , но выглядит правдоподобней :)

Re: Основы работы LDAP? Нужна помошь.

Добавлено: 2008-01-23 14:19:20
princeps
Чувак, попробуй запустить его так:

Код: Выделить всё

# /usr/local/libexec/slapd -d 1
Выведет кучу инфы, где-то там и найдешь свой косяк.
Ты его с поддержкой bdb собирал?

Re: Основы работы LDAP? Нужна помошь.

Добавлено: 2008-01-23 14:25:05
AlexRook
Спорить сильно не буду, не спец.
у меня именно так в /etc/syslog.conf (в конце файла)

при этом в
slapd.log только сообщения вида:
...........

Код: Выделить всё

Jan 23 12:28:44 adc slapd[29612]: slapd stopped.
Jan 23 12:28:50 adc slapd[29645]: @(#) $OpenLDAP: slapd 2.3.27 (Nov 19 2007 17:06:18) $ 
......
.....

других нет

Re: Основы работы LDAP? Нужна помошь.

Добавлено: 2008-01-23 16:45:31
Restive
AlexRook писал(а):Поробуй так :
добавь в конец /etc/syslog.conf
...
Сделал, в лог стало писать:
Jan 23 14:18:01 ldap slapd[966]: @(#) $OpenLDAP: slapd 2.4.7 (Jan 23 2008 11:01:23) $ root@ldap:/usr/ports/net/openldap24-server/work/openldap-2.4.7/servers/slapd
Jan 23 14:18:01 ldap slapd[966]: bdb_db_open: DB_CONFIG for suffix "dc=p2k1" has changed.
Jan 23 14:18:01 ldap slapd[966]: Performing database recovery to activate new settings.
Jan 23 14:18:02 ldap slapd[966]: slapd starting
Уже хоть что-то, спасибо :) , /var/db/openldap-data есть!

princeps писал(а):Чувак, попробуй запустить его так:

Код: Выделить всё

# /usr/local/libexec/slapd -d 1
Выведет кучу инфы, где-то там и найдешь свой косяк.
Ты его с поддержкой bdb собирал?
Да, bdb. По команде "/usr/local/libexec/slapd -d 1" выдаёт много инфы, но всё упирается в "slapd starting" , и дальше так и стоит.

Я уже неделю наверно мучаюсь, че только не перепробывал, все каталоги проверял, разные версии пробовал, мистика какая-то. Фр33мана в асе достал, он перестал мне отвечать. Очень хочу разобраться, но мне чего-то капитально невезет.

Re: Основы работы LDAP? Нужна помошь.

Добавлено: 2008-01-23 17:10:03
AlexRook
Вот еще (может поможет) :

проверь права и владельца /var/db/openldap-data
должно быть ldap:ldap 700

попробуй пересоздать индекс bdb

Код: Выделить всё

slapindex -f /usr/local/etc/openldap/slapd.conf -d 1
или вобще всю базу заново. :)

Re: Основы работы LDAP? Нужна помошь.

Добавлено: 2008-01-23 17:19:12
Restive
AlexRook писал(а):Вот еще (может поможет) :

проверь права и владельца /var/db/openldap-data
должно быть ldap:ldap 700

или вобще всю базу заново. :)
Напомни плиз как права посмотреть?
И как базу заново создать? :)

Re: Основы работы LDAP? Нужна помошь.

Добавлено: 2008-01-23 17:47:34
AlexRook
права можно так:

Код: Выделить всё

ls -ld /var/db/openldap-data
должно быть что-то типа

Код: Выделить всё

drwx------  2 ldap  ldap  512 Jan 23 15:56 /var/db/openldap-data
если нет то:

Код: Выделить всё

chown ldap:ldap /var/db/openldap-data
chmod 700 /var/db/openldap-data
Как изящно пересоздать базу , я не знаю.
Помнится , я просто удалял содержимое /var/db/openldap-data
и потом запускал slapd.

Еще что может быть:
некоторые схемы имеют зависимости от других схем, важен порядок их перечисления в include
посмотри на вывод

Код: Выделить всё

/usr/local/libexec/slapd -d 1
как предлагал princeps
нет никакой там ругани по поводу схем.

Может пока закоментируй в конфиге
весь access .
когда все заработает и загрузишь ldif'ы
тонко настроишь права доступа к аттрибутам.

Re: Основы работы LDAP? Нужна помошь.

Добавлено: 2008-01-24 11:09:57
princeps
Restive писал(а):Jan 23 14:18:01 ldap slapd[966]: bdb_db_open: DB_CONFIG for suffix "dc=p2k1" has changed.
Jan 23 14:18:01 ldap slapd[966]: Performing database recovery to activate new settings.
По этому поводу: пересоздай базу на всякий случай.
AlexRook писал(а):Как изящно пересоздать базу , я не знаю.
Помнится , я просто удалял содержимое /var/db/openldap-data
Restive писал(а):И как базу заново создать?
Если ldap с нуля запускается, просто удалить содержимое каталога и не морочить голову.

Все дополнительные схемы типа самбовой, почтовой и т.д., если они у тебя есть, ставь после дефолтовых.

Re: Основы работы LDAP? Нужна помошь.

Добавлено: 2008-01-24 14:30:53
HRonik
а pid файл создается?
кроме того что тут уже сказали, если не поможет
попробуй без slapd_flags запустить или переустановить вапще :)
да кстати, в открытом виде пароль в конфиге не храни, ldappasswd тебе в помощь)

Re: Основы работы LDAP? Нужна помошь.

Добавлено: 2008-01-26 16:13:22
Restive
HRonik писал(а):а pid файл создается?
кроме того что тут уже сказали, если не поможет
попробуй без slapd_flags запустить или переустановить вапще :)
да кстати, в открытом виде пароль в конфиге не храни, ldappasswd тебе в помощь)
pid вроде создаётся норм, щас не могу посмотреть, конект до работы пропал. А пароли так не храню, просто пытаюсь разобраться, почему не работает, попробую в понедельник без флагов - отпишусь. Пробовал переустанавливать раз 10 и фрю и только опенлдап.

2 princeps: так и делаю :)

Re: Основы работы LDAP? Нужна помошь.

Добавлено: 2008-01-28 13:42:51
Restive
Щас попробовал очередной раз всё заново накатить, в slapd.conf добавил только схемы, суфикс и rootdn.
в rc.conf только включил slapd. Сходу выдал ошибку не виденую ранее:

Код: Выделить всё

[root@ldap /]# /usr/local/libexec/slapd -d 1

@(#) $OpenLDAP: slapd 2.4.6 (Jan 28 2008 12:13:39) $
        root@ldap.p2k1:/usr/ports/net/openldap24-server/work/openldap-2.4.6/servers/slapd
ldap_pvt_gethostbyname_a: host=ldap.p2k1, r=0
daemon_init: listen on ldap:///
daemon_init: 1 listeners to open...
ldap_url_parse_ext(ldap:///)
daemon: bind(6) failed errno=48 (Address already in use)
daemon: bind(6) failed errno=48 (Address already in use)
slap_open_listener: failed on ldap:///
slapd stopped.
connections_destroy: nothing to destroy.
Я подозреваю, что это из-за отсутствия флагов, хотя непонятно почему он выдал "Address already in use". И ещё такой вопрос, не может ли проблема быть в том, что я это всё тестирую в VMware?

Re: Основы работы LDAP? Нужна помошь.

Добавлено: 2008-01-28 14:24:54
HRonik
Restive писал(а):Щас попробовал очередной раз всё заново накатить, в slapd.conf добавил только схемы, суфикс и rootdn.
в rc.conf только включил slapd. Сходу выдал ошибку не виденую ранее:

Я подозреваю, что это из-за отсутствия флагов, хотя непонятно почему он выдал "Address already in use". И ещё такой вопрос, не может ли проблема быть в том, что я это всё тестирую в VMware?
VMWare ?O_O...а хз, попробуй туда еще раз поставить эмулятор , на нем запустить винду и настроить vlan...
Флаги добавь , только без ошибок)
а в конфиг базу прописал? БД вещь важная)

Re: Основы работы LDAP? Нужна помошь.

Добавлено: 2008-01-28 15:18:20
Restive
HRonik писал(а):VMWare ?O_O...а хз, попробуй туда еще раз поставить эмулятор , на нем запустить винду и настроить vlan...
Флаги добавь , только без ошибок)
а в конфиг базу прописал? БД вещь важная)
В какой конфиг прописывается база? Я почему то был уверен, что вмваря никак не может помешать нормальной работе :?
Я всё делал по видеозаписи фримана, где он в прямом эфире поднимает лдап. Пытался всё это повторить. Неработает :twisted:

Re: Основы работы LDAP? Нужна помошь.

Добавлено: 2008-01-28 16:58:57
Dron
Под Тварью работает без проблем...
флаги пропиши в запуск...

Re: Основы работы LDAP? Нужна помошь.

Добавлено: 2008-01-28 17:42:32
AlexRook
Restive писал(а):Щас попробовал очередной раз всё заново накатить, в slapd.conf добавил только схемы, суфикс и rootdn.
в rc.conf только включил slapd. ...
Так может slapd уже запущен :D ?
если slapd_enable="YES"
и была перезагрузка.
для

Код: Выделить всё

/usr/local/libexec/slapd -d 1
не нужно slapd_enable="YES", это для скрипта /usr/local/etc/rc.d/slapd

Re: Основы работы LDAP? Нужна помошь.

Добавлено: 2008-01-28 17:58:34
Restive
AlexRook писал(а): Так может slapd уже запущен :D ?
если slapd_enable="YES"
и была перезагрузка.
для

Код: Выделить всё

/usr/local/libexec/slapd -d 1
не нужно slapd_enable="YES", это для скрипта /usr/local/etc/rc.d/slapd
Так в процессах его нет вапще. Может я чет не понимаю, но процессы я смотрю командой ps , а точнее "ps au | grep slap"

Re: Основы работы LDAP? Нужна помошь.

Добавлено: 2008-01-29 0:01:52
romzes
бывает так, что для конкретного типа терминала обрезается вывод, если он выходит за пределы экрана, поэтому бывает grep ничего не находит. Это бывает при

И еще выдает по моему только процессы пользователя под которым выполняется,

попробуй так:

Код: Выделить всё

ps ax|grep slap
а вообще можно доверять

Код: Выделить всё

/usr/local/etc/rc.d/slapd status
но это при условии:

Код: Выделить всё

#cat /etc/rc.conf | grep slap
slapd_enable="YES"

Re: Основы работы LDAP? Нужна помошь.

Добавлено: 2008-01-29 9:59:19
Restive
romzes писал(а): а вообще можно доверять

Код: Выделить всё

/usr/local/etc/rc.d/slapd status
Полюбому "slapd is not running."

Re: Основы работы LDAP? Нужна помошь.

Добавлено: 2008-01-29 10:13:48
princeps
Restive писал(а):Я подозреваю, что это из-за отсутствия флагов, хотя непонятно почему он выдал "Address already in use". И ещё такой вопрос, не может ли проблема быть в том, что я это всё тестирую в VMware?
Это у тебя скорее всего из-за флагов. Что по этому поводу у тебя в rc.conf?

Re: Основы работы LDAP? Нужна помошь.

Добавлено: 2008-01-29 10:17:30
princeps
А, извини, сразу не посмотрел
Попробуй строку
Restive писал(а):slapd_flags='-h "ldapi://%2fvar%2frun%2fopenldap%2fldapi/ ? ldap://192.168.0.254/"'
привести к такому виду:

Код: Выделить всё

slapd_flags='-h "ldapi://%2fvar%2frun%2fopenldap%2fldapi/ ldap://127.0.0.1/"'
.
или к такому:

Код: Выделить всё

slapd_flags='-h "ldapi://%2fvar%2frun%2fopenldap%2fldapi/ ldap://0.0.0.0/"'

Re: Основы работы LDAP? Нужна помошь.

Добавлено: 2008-01-30 13:56:54
Restive
princeps писал(а):А, извини, сразу не посмотрел
Попробуй строку
Restive писал(а):slapd_flags='-h "ldapi://%2fvar%2frun%2fopenldap%2fldapi/ ? ldap://192.168.0.254/"'
привести к такому виду:

Код: Выделить всё

slapd_flags='-h "ldapi://%2fvar%2frun%2fopenldap%2fldapi/ ldap://127.0.0.1/"'
.
или к такому:

Код: Выделить всё

slapd_flags='-h "ldapi://%2fvar%2frun%2fopenldap%2fldapi/ ldap://0.0.0.0/"'
Я пока ещё в шоке, но вроде он запустился! Спасибища тебе огромное, попытаюсь сделать ещё шаг :)

Re: Основы работы LDAP? Нужна помошь.

Добавлено: 2008-01-30 14:04:33
princeps
Я когда его первый раз в jail'е запускал, тоже долго парился.
Этот флаг заставляет его слушать конкретный сетевой интерфейс твоего компьютера. Ты, видимо, писал интерфейс хост-машины, на которой VMWare был запущен, а в виртуальной системе свои сетевые интерфейсы, там 192.168.0.254 нету, вот он и не запускался.

Re: Основы работы LDAP? Нужна помошь.

Добавлено: 2008-01-30 15:35:01
Restive
princeps писал(а):Я когда его первый раз в jail'е запускал, тоже долго парился.
Этот флаг заставляет его слушать конкретный сетевой интерфейс твоего компьютера. Ты, видимо, писал интерфейс хост-машины, на которой VMWare был запущен, а в виртуальной системе свои сетевые интерфейсы, там 192.168.0.254 нету, вот он и не запускался.
Так понимаешь, в чем вся фигня, я всё оставил как есть, даже 192.168.0.254, просто убрал знак вопроса, который непонятно откуда там и зачем нужен. Вопщем "?" был лишним.