这里基于 https://hub.docker.com/r/bitnami/testlink/ 来进行说明。
先装好 TestLink。
-
如果你的LDAP server 的证书是 cer 转换为 crt.
$ openssl x509 -in YOUR_CERTIFICATE_FILE.cer -out YOUR_CERTIFICATE_FILE.crt
-
拷贝转换好的证书文件到 TestLink container 映射的本地目录. e.g. /PATH/to/testlink_data
-
进入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/
-
在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 -
安装证书
root@a99de964ab31:/# update-ca-certificates
你可以查看/etc/ssl/certs/, 发现有 YOUR_CERTIFICATE_FILE.pem 的link文件创建
-
编辑 ldap.conf
在 TestLink container 中打开文件 /etc/ldap/ldap.conf.
编辑内容只保留如下内容:
TLS_CACERT /etc/ssl/certs/YOUR_CERTIFICATE_FILE.pem
TLS_REQCERT demand -
编辑 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;
-
重启TestLink container
注意: TestLink 安装时候注册的admin 的验证方法是空的。TestLink 支持 DB (本地)和 LDAP 验证方法。当用户用LDAP ID 登录TestLink 默认是gust 用户,你需要admin账户调整LDAP 用户的权限。所以你需要手动进入 mariadb container 找到users 那张表,把admin用户的‘auth_method’从空改为 DB,否则已存在admin无法正确登录。
网友评论