Я пытаюсь настроить и установить сервер ldap, следуя это руководство. Я застрял на шаге 6, сделайте тест. он не проходит при первом тесте со следующим сообщением:
cd tests; make test
make[1]: Entering directory `/home/anauser/LDAP_dir/openldap-2.4.37/tests'
make[2]: Entering directory `/home/anauser/LDAP_dir/openldap-2.4.37/tests'
Initiating LDAP tests for BDB...
Cleaning up test run directory leftover from previous run.
Running ./scripts/all for bdb...
>>>>> Executing all LDAP tests for bdb
>>>>> Starting test000-rootdse for bdb...
running defines.sh
Starting slapd on TCP/IP port 9011...
Using ldapsearch to retrieve the root DSE...
Waiting 5 seconds for slapd to start...
Waiting 5 seconds for slapd to start...
Waiting 5 seconds for slapd to start...
Waiting 5 seconds for slapd to start...
Waiting 5 seconds for slapd to start...
Waiting 5 seconds for slapd to start...
./scripts/test000-rootdse: line 66: kill: (27188) - No such process
ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)
>>>>> Test failed
>>>>> test000-rootdse failed for bdb
(exit 255)
make[2]: *** [bdb-yes] Error 255
make[2]: Leaving directory `/home/anauser/LDAP_dir/openldap-2.4.37/tests'
make[1]: *** [test] Error 2
make[1]: Leaving directory `/home/anauser/LDAP_dir/openldap-2.4.37/tests'
make: *** [test] Error 2
Я использую Red Hat Enterprise Linux Server версии 6.3 (Сантьяго). Я новичок в linux / ldap, поэтому любая помощь / совет будут отличными, спасибо!
make test
не работает из-за медленного slapd
при запуске, наиболее частая причина этого - проблема с Сайрус SASL - в частности, по умолчанию1 читать /dev/random
прямо во время инициализации. В Linux /dev/random
является эффективно задушен чтобы попытаться гарантировать хорошие данные с высокой энтропией. Вы можете проверить это с помощью strace -e trace=file -f -p $(pgrep slapd)
или похожие. В непроизводственной среде вы также можете временно заменить /dev/random
с участием /dev/urandom
чтобы подтвердить или опровергнуть проблему. В /dev/random
path - это параметр времени компиляции, его нельзя настроить во время выполнения.
тем не мение, RHEL (и производные) изменяют это значение по умолчанию примерно с 2003 г. / RHEL 3.x (согласно cyrus-sasl.spec
из SRPM), так что это не должно быть причиной если вы сами не скомпилировали Cyrus SASL, поскольку это тоже есть в руководстве, на которое вы ссылаетесь.
Это одна из причин, по которой некоторые люди задаются вопросом, почему (хотя последовательные аргументы в поддержку обычно не приводятся) вы сами создаете программное обеспечение: существует множество медвежьих ловушек. Однако это отличное обучающее упражнение, и я рекомендую его для этого, но перед тем, как вы создадите готовое к производству программное обеспечение, вам нужно будет много прочитать. Linux с нуля, а исправления и файлы сценариев сборки / спецификации из различных дистрибутивов Linux являются хорошей отправной точкой.
/dev/urandom
в 2.1.27RC (по состоянию на июль 2017 г.).