Я разместил этот вопрос в dba.stackexchange.com но это считается не по теме, и люди предлагают мне опубликовать его здесь, поэтому я размещаю его здесь.
у меня есть openldap
сервер запущен и работает на ubuntu 14.10
и мне удалось успешно добавить DIT
в него, используя следующие ldif
:
dn: olcDatabase=hdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: hdb
olcDbDirectory: /var/lib/ldap
olcSuffix: dc=example,dc=com
olcRootDN: cn=Manager,dc=example,dc=com
olcRootPW: secret
olcDbIndex: objectClass eq
Ради тестирования нескольких DITs
Я пытался добавить другую базу данных, используя другую ldif
:
dn: olcDatabase=hdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: hdb
olcDbDirectory: /var/lib/ldap
olcSuffix: dc=example1,dc=com
olcRootDN: cn=Manager,dc=example1,dc=com
olcRootPW: secret
olcDbIndex: objectClass eq
Сначала казалось, что все прошло хорошо, но когда я попытался выполнить поиск в своей первой базе данных, я получил сообщение об ошибке:
result: 80 Other (e.g., implementation specific) error
text: internal error
Не понимая этой ошибки, я запустил slapd -d
и вот что у меня получилось:
bdb(dc=example,dc=com): BDB0060 PANIC: fatal region error detected; run recovery
Я даже установил db-utils
и побежал db_recover
безуспешно. Вопрос в том, что не так с моим openldap
сервер?
Думаю, основная ошибка в том, что вы использовали тот же olcDbDirectory
для обоих ДИТ. Попробуйте использовать разные каталоги для хранения данных (вам, вероятно, придется стереть текущие данные и начать заново).