官方docker文档:https://hub.docker.com/r/bitnami/testlink/

一、环境准备

CentOS虚拟机

IP:*.*.*.*

用户:jenkinsci

遇到问题:Docker之WARNING: IPv4 forwarding is disabled. Networking will not work(虚拟机配置网络异常:IPv4)解决方案

vim /etc/sysctl.conf

#配置转发

net.ipv4.ip_forward=1

#重启服务,让配置生效

systemctl restart network

#查看是否成功,如果返回为“net.ipv4.ip_forward = 1”则表示成功

sysctl net.ipv4.ip_forward

#重启docker服务
service docker restart

二、镜像准备

用途

镜像地址

数据库

bitnami/mariadb:10.4.25

testlink服务

bitnami/testlink:1.9.20

三、Docker方式部署

1. 下载镜像:

docker pull bitnami/mariadb:10.4.25

docker pull bitnami/testlink:1.9.20

2. 运行脚本:/repo/jenkinsci/testlink-server.sh

#!/usr/bin/env bash

docker network create testlink-network

docker volume create --name mariadb_data  # 创建本地卷:在/var/lib/docker/volumes/下

docker volume create --name testlink_data

docker run -d --name mariadb \

--env ALLOW_EMPTY_PASSWORD=yes \

--env MARIADB_USER=bn_testlink \

--env MARIADB_PASSWORD=bitnami \

--env MARIADB_DATABASE=bitnami_testlink \

--network testlink-network \

--volume mariadb_data:/bitnami/mariadb \

bitnami/mariadb:10.4.25

docker run -d --name testlink \

-p 8080:8080 -p 8443:8443 \

--env ALLOW_EMPTY_PASSWORD=yes \

--env TESTLINK_DATABASE_USER=bn_testlink \

--env TESTLINK_DATABASE_PASSWORD=bitnami \

--env TESTLINK_DATABASE_NAME=bitnami_testlink \

--network testlink-network \

--volume testlink_data:/bitnami/testlink \

bitnami/testlink:1.9.20

登录网页:http://ip:8080/login.php 或:https://ip:8443

3. 集成Active Directory

参考:ActiveDirectory + users in AD group - TestLink

进入testlink容器:docker exec -it testlink /bin/bash

安装:apt-get install php-ldap (后来发现不用安装ldap也是可以的)

修改文件:/opt/bitnami/testlink/config.inc.php

修改如下部分:

$tlCfg->authentication['domain'] = array('DB' => array('description' => 'DB', 'allowPasswordManagement' => true) ,

'LDAP' => array('description' => 'LDAP', 'allowPasswordManagement' => false) );  #这行表示支持数据库和LDAP两种。

$tlCfg->authentication['method'] = 'LDAP';

/** LDAP authentication credentials */

$tlCfg->authentication['ldap'] = array();

$tlCfg->authentication['ldap'][1]['ldap_server'] = 'ldapserver-ip';

$tlCfg->authentication['ldap'][1]['ldap_port'] = '389';

$tlCfg->authentication['ldap'][1]['ldap_version'] = '3'; // could be '2' in some cases

$tlCfg->authentication['ldap'][1]['ldap_root_dn'] = 'ou=group,dc=company,dc=com';

$tlCfg->authentication['ldap'][1]['ldap_bind_dn'] = 'superuser@company.com'; // AD域查询用户。

$tlCfg->authentication['ldap'][1]['ldap_bind_passwd'] = getenv('LDAP_BIND_PASSWORD'); // Left empty for anonymous LDAP binding

$tlCfg->authentication['ldap'][1]['ldap_tls'] = false; // true -> use tls

$tlCfg->authentication['ldap_organization'] = ''; // e.g. '(organizationname=*Traffic)'

$tlCfg->authentication['ldap_uid_field'] = 'sAMAccountName'; // Use 'sAMAccountName' for Active Directory

$tlCfg->authentication['ldap_automatic_user_creation'] = true;  //这个一定要设为true

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

如下是修改过程,docker ps查看当前运行的mariadb容器:

[jenkinsci@testlink jenkinsci]$ docker exec -it mariadb /bin/bash

mysql -ubn_testlink -pbitnami

MariaDB [(none)]> show databases;

+--------------------+

| Database           |

+--------------------+

| bitnami_testlink   |

| information_schema |

| test               |

+--------------------+

3 rows in set (0.000 sec)

MariaDB [(none)]> use bitnami_testlink;

MariaDB [bitnami_testlink]> show tables;

MariaDB [bitnami_testlink]> select id, login, auth_method from users;

+----+-------+-------------+

| id | login | auth_method |

+----+-------+-------------+

|  1 | user  |             |

+----+-------+-------------+

1 row in set (0.001 sec)

修改:

MariaDB [bitnami_testlink]> update users set auth_method='DB' where login='user';

Query OK, 1 row affected (0.003 sec)

Rows matched: 1  Changed: 1  Warnings: 0

MariaDB [bitnami_testlink]> select id, login, auth_method from users;

+----+-------+-------------+

| id | login | auth_method |

+----+-------+-------------+

|  1 | user  | DB          |

+----+-------+-------------+

1 row in set (0.000 sec)

五、Docker-compose 方式部署

1.安装docker-compose 2.3.2版本:

wget https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-linux-x86_64

mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

chmod 755 -R /usr/local/bin/docker-compose

安装docker-compose后运行:docker-compose --version有如下报错:

error while loading shared libraries: libz.so.1: failed to map segment from shared object: Operation not permitted

是因为系统中 docker 没有对 /tmp 目录的访问权限导致,需要重新将其挂载一次,就可以解决了。

解决方法:sudo mount /tmp -o remount,exec

2.在jenkinsci的家目录下创建docker-compose.yml

version: "3"

services:

mariadb:

image: bitnami/mariadb:10.4.25

container_name: 'mariadb'

environment:

- ALLOW_EMPTY_PASSWORD=yes

- MARIADB_USER=bn_testlink

- MARIADB_PASSWORD=bitnami

- MARIADB_DATABASE=bitnami_testlink

volumes:

- 'mariadb_data:/bitnami/mariadb'

testlink:

image: bitnami/testlink:1.9.20

container_name: 'testlink'

ports:

- '8080:8080'

- '8443:8443'

environment:

- ALLOW_EMPTY_PASSWORD=yes

- TESTLINK_DATABASE_USER=bn_testlink

- TESTLINK_DATABASE_PASSWORD=bitnami

- TESTLINK_DATABASE_NAME=bitnami_testlink

- LDAP_BIND_PASSWORD=***

volumes:

- 'testlink_data:/bitnami/testlink'

depends_on:

- mariadb

volumes:

mariadb_data:

driver: local

testlink_data:

driver: local

testlink_opt:

driver: local

3.启动:docker-compose pull && docker-compose down && docker-compose up -d

Testlink搭建以及AD域集成相关推荐

  1. 域服务器辅控,Windows Server 2019 搭建辅助 AD 域控制器

    上一篇文章中介绍了使用 Windows Server 2019 搭建 AD 域控制器,也说明了域内如果只有一台域控制器是非常危险的事情.今天这篇文章介绍使用 Windows Server 2019 搭 ...

  2. 乾颐盾之深信服防火墙 -----AD域集成

    乾颐盾之深信服防火墙 -----AD域集成 在生活的环境中,或者是企业环境中,都会有一个微软的AD域的环境,那么我们深信服的下一代防火墙也有认证系统,要是为这个设备单独的做认证用户的话就比较的麻烦,对 ...

  3. AD域集成Windows登录验证方案(SSO实现)

    AD域集成Windows登录验证(SSO实现) 方案一:ie集成windows登录验证,使用组策略可实现免登录. 弊端:需要把web部署到IIS上面,技术较老 方案二:使用ldap连接AD域,前端传送 ...

  4. Elastic Stack容器化部署拓展(Https、AD域集成)并收集Cisco设备的日志信息

    前言: 还记得在去年的笔记中提到过EFK(Elasticsearch-Filebeat-Kibana)的部署,但是其中的内容相对简单,也没有提到一些额外的Elastic Stack的特性.链接如下:h ...

  5. ad域搭建文件共享服务器搭建,实战演练AD域搭建文件共享服务器方法

    一. 试验环境一. 试验环境 1.<域控制器><2008R2 操作系统> 2.需要的组织和成员 组织单位:财务部组:财务部成员:cw1cw2 组织单位:品质部组:品质部成员:p ...

  6. ad域文件服务器搭建报价,ad域认证配置服务器

    ad域认证配置服务器 内容精选 换一换 云堡垒机与AD服务器对接,认证登录系统的用户身份,AD认证的模式包括认证模式和同步模式两种.认证模式在此模式下,云堡垒机不会同步AD域服务器上的用户信息,需要管 ...

  7. 用户登录与AD域集成

    1.关于AD域的介绍 AD的全称是Active Directory:活动目录 域(Domain): 1)域是Windows网络中独立运行的单位,域之间相互访问则需要建立信任关系(即Trust Rela ...

  8. Windows AD域集成登录、组织结构同步

    此设置适合Windows AD域(Windows LDAP),非Windows AD域(比如 Free LDAP)请参考LDAP用户统一登录. 1.进入"系统常用管理功能 " -& ...

  9. Telegraf-Influxdb-Grafana容器化部署拓展(Https、AD域、告警集成)并监控Cisco设备指标

    前言: 还记得在去年的笔记中提到过使用python的pysnmp模块,配合Influxdb,Grafana收集Cisco设备指标.链接如下:https://blog.csdn.net/tushanpe ...

最新文章

  1. [译] 理解 NPM 5 中的 lock 文件
  2. 2025 : 简单环路(并查集)
  3. 有两个不同list,需要对比两个list内容且输出差异的内容
  4. 数据库编程1 Oracle 过滤 函数 分组 外连接 自连接
  5. beyond compare 4.2.9桌面右键集成的问题修复
  6. git 提交代码的步骤
  7. 云南科软信息科技有限公司
  8. java电器类代码_阅读下列说明和Java代码,将应填入(n)处的字句写在对应栏内。...
  9. freeredius3.0 mysql_edius插件下载|Edius9滤镜和转场插件Vitascene+蓝宝石插件GenArts Sapphire3.0.257 官方版_ - 极光下载站...
  10. 【电脑自检后无法进入电脑系统的搞定妙方】
  11. movs 数据传送指令_数据传送汇编指令
  12. Java——Json语法介绍与使用(详细介绍)
  13. 测量数据的计算机处理实验报告,测量数据处理实验报告..doc
  14. JSK-107305丨ICPC焦作站网赛 B丨dp
  15. eos的石墨烯技术是什么
  16. Python交叉排序 计蒜客例题
  17. 微型计算机断电后信息将会丢失,2018年职称计算机考试题库(20)
  18. thymeleaf遇到的问题01
  19. gazebo中导入DAE文件
  20. java是什么?java能用来干嘛?

热门文章

  1. Window控制面板中NVIDIA Control Panel缺失找不到文件解决方案
  2. USACO 木瓜的丛林
  3. 用HTML5+js 计算年龄
  4. Swagger 源码解析
  5. numpy中的argmax和max
  6. 如何使用Qt实现腾讯云实时音视频功能?
  7. RF+AppiumLibrary移动端(android)自动化测试案例1:微信添加好友
  8. easyui打开新的选项卡_【easyui右键关闭选项卡】easyui关闭选项卡_easyui关闭当前选项卡...
  9. 软件生命周期的主要阶段
  10. macOS 工具 - Homebrew