Назад | Перейти на главную страницу

Testlink перестает работать при настройке на использование LDAP

У меня есть веб-сервис TestLink, работающий на сервере, и OpenLDAP, работающий на другом сервере. Между ними нет проблем с брандмауэром (мне удалось настроить Redmine на том же сервере, что и TestLink, для использования аутентификации LDAP).

Но всякий раз, когда я помещаю конфигурацию для LDAP в TestLink, TestLink перестает работать. Я понятия не имею, что происходит.

Здесь я определяю настройки LDAP в custom_config.inc.php:

$tlCfg->authentication['method'] = 'LDAP';
$tlCfg->authentication['ldap_server'] = 'serverip';
$tlCfg->authentication['ldap_port'] = '389';
$tlCfg->authentication['ldap_version'] = '2';
$tlCfg->authentication['ldap_root_dn'] = 'dc=mycompany,dc=com,dc=br';
$tlCfg->ldap_organization'] = '';
$tlCfg->authentication['ldap_uid_field'] = 'uid';
$tlCfg->authentication['ldap_bind_dn'] = 'myuser'; //Not actual login name and password, for obvious reasons
$tlCfg->authentication['ldap_bind_passwd'] = 'mypassword';
$tlCfg->authentication['ldap_tls'] = false;
$tlCfg->user_self_signup = true;

Я уверен, что OpenLDAP - это 2.X. Моя версия TestLink - 1.9.3

Что я делаю не так?

Я решил это. Были небольшие глупые ошибки.

Во-первых, как указал @Terry Gardner, я должен использовать LDAPv3:

$tlCfg->authentication['ldap_version'] = '3';

Во-вторых, эта строка была неправильной:

$tlCfg->ldap_organization'] = '';

Правильная версия будет:

$tlCfg->authentication['ldap_organization'] = '';

И, наконец, в /etc/php.ini я добавил

extension=ldap.so

Для этого мне нужно было установить пакет php-ldap из yum.

yum install php-ldap