TestLink 配置LDAP (Active Directory)

这里基于 https://hub.docker.com/r/bitnami/testlink/ 来进行说明。
先装好 TestLink。

  1. 如果你的LDAP server 的证书是 cer 转换为 crt.

    $ openssl x509 -in YOUR_CERTIFICATE_FILE.cer -out YOUR_CERTIFICATE_FILE.crt 
    
  2. 拷贝转换好的证书文件到 TestLink container 映射的本地目录. e.g. /PATH/to/testlink_data

  3. 进入TestLink container 创建目录放证书文件

    $ docker exec -it a99de964ab31 /bin/bash
    

    'a99de964ab31' 是 TestLink container ID

    root@a99de964ab31:/# mkdir -p /usr/share/ca-certificates/YOUR-DIRNAME/
    root@a99de964ab31:/# cp /bitnami/YOUR_CERTIFICATE_FILE.crt /usr/share/ca-certificates/YOUR-DIRNAME/
    
  4. 在TestLink container 中编辑 /etc/ca-certificates.conf
    在TestLink container 中,默认没有装任何编辑工具,这里先安装一个

    root@a99de964ab31:/# apt-get update
    root@a99de964ab31:/# apt-get install -y vim
    

    用vim 编辑/etc/ca-certificates.conf,在文件最后加入
    YOUR-DIRNAME/YOUR_CERTIFICATE_FILE.crt

  5. 安装证书

    root@a99de964ab31:/# update-ca-certificates
    

    你可以查看/etc/ssl/certs/, 发现有 YOUR_CERTIFICATE_FILE.pem 的link文件创建

  6. 编辑 ldap.conf
    在 TestLink container 中打开文件 /etc/ldap/ldap.conf.
    编辑内容只保留如下内容:
    TLS_CACERT /etc/ssl/certs/YOUR_CERTIFICATE_FILE.pem
    TLS_REQCERT demand

  7. 编辑 TestLink 配置文件
    这个文件可以在你映射的目录中找到 /PATH/to/testlink_data/testlink/config.inc.php
    找到如下内容编辑
    $tlCfg->authentication['method'] = 'LDAP';

    tlCfg->authentication['ldap'][1]['ldap_port'] = 'SERVER-PORT';
    tlCfg->authentication['ldap'][1]['ldap_bind_dn'] = 'BIND用户信息'; 例:cn=123456,ou=Users,dc=jp,dc=google,dc=com
    tlCfg->authentication['ldap'][1]['ldap_uid_field'] = 'sAMAccountName';

    $tlCfg->authentication['ldap_automatic_user_creation'] = true;
    $tlCfg->user_self_signup = FALSE;
    
  8. 重启TestLink container

注意: TestLink 安装时候注册的admin 的验证方法是空的。TestLink 支持 DB (本地)和 LDAP 验证方法。当用户用LDAP ID 登录TestLink 默认是gust 用户,你需要admin账户调整LDAP 用户的权限。所以你需要手动进入 mariadb container 找到users 那张表,把admin用户的‘auth_method’从空改为 DB,否则已存在admin无法正确登录。

你可能感兴趣的:(TestLink 配置LDAP (Active Directory))