Я следую инструкциям на http://www.openldap.org/doc/admin24/quickstart.html для установки OpenLDAP на RedHat. Все идет нормально до шага 9:
Затем я попробовал запустить только / usr / local / sbin / slapadd -n 0 -F /usr/local/etc/slapd.d -l /usr/local/etc/openldap/slapd.ldif
, поскольку я уже вошел в систему как пользователь root, то я получаю эту ошибку:
5bcca422 invalid config directory /usr/local/etc/slapd.d, error 2
slapadd: bad configuration directory!
Мой префикс установки - это значение по умолчанию / usr / local /
Я считаю, что в slapd.d
в / usr / local / etc
каталог. В чем проблема? Спасибо!
Дополнительная информация: Когда я запустил make
на шаге 5, я получил сообщение об ошибке: фатальная ошибка: ltdl.h: нет такого файла или каталога
, затем я установил его с yum install libtool-ltdl-devel
и повторил шаг 5. Когда я запустил make test на шаге 6, ошибки нет. Не знаю, поможет ли эта дополнительная информация.
Местоположение конфигурационных файлов по умолчанию задано как параметр build configuration --sysconfdir
. Значение по умолчанию зависит от значения, используемого для --prefix
.
$ ./configure --help
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
Таким образом, то, что используется в вашем случае, зависит от конфигурации сборки.
При запуске slapd вы также можете указать конфигурацию, которая будет использоваться с опциями командной строки -f
для статического конфигурирования или -F
для каталога, содержащего динамический конфигурационный файл. Это очень удобно для использования локальной test-bed-конфигурации или для того, чтобы держаться подальше от того, что пакеты ОС портят во время установки пакета.
На man-странице slapd(8), локально установленной на вашей системе, будут показаны фактические значения по умолчанию для вашей сборки. Помните, что man-страницы, предоставляемые пакетами ОС, отличаются от ваших локальных сборок исходным кодом.
Также я бы порекомендовал а не использовать пакеты RHEL/CentOS. Вы должны использовать предварительно собранные RPM, предоставляемые проектом LDAP Toolbox. Они используют опцию сборки --prefix=/usr/local/openldap
и поэтому динамическая конфигурация БД будет находиться по умолчанию /usr/local/openldap/etc/openldap/slapd.d/.
См. также: slapd(8)
Чтобы избежать ошибки su: недопустимая опция -- 'n'
, вы можете поставить кавычки, как показано ниже:
su root -c '/usr/local/sbin/slapadd -n 0 -F /usr/local/etc/slapd.d -l /usr
/local/etc/openldap/slapd.ldif'
Обратите внимание, что я поместил часть после -c в кавычки.
Что касается slapd.d, мне помогло создание каталога:
sudo mkdir /usr/local/etc/slapd.d
клиент сразу запросит пароль. После этого на моей консоли выглядит так:
_#################### 100.00% eta none elapsed none fast!