1、需求

docker 安装工单系统 Request Tracker,并需要支持 LDAP 登入。

2、制作镜像

1)request-tracker-base镜像

第一个镜像安装一些基础支持软件,如 apache2、rt4的插件等。

Dockerfile文件托管在 Github,下载后制作镜像,并上传到私有仓库(或者上传到docker hub)。

docker build -t request-tracker-base:v4.2.16
docker tag request-tracker-base:v4.2.16 reg.nexus.wmq.com/tools/request-tracker-base:v4.2.16
docker push reg.nexus.wmq.com/tools/request-tracker-base:v4.2.16

参考:https://hub.docker.com/r/netsandbox/request-tracker-base/dockerfilehttps://github.com/cloos/docker-rt-base

2)request-tracker镜像

第二个镜像是基于第一个 request-tracker-bas 镜像基础上,安装了 rt4 软件,以及支持集成 LDAP 的插件(该插件必须是已完成安装 rt4 后安装)。

Dockerfile文件托管在 Github,下载后制作镜像,并上传到私有仓库(或者上传到docker hub)。

docker build -t request-tracker:v4.2.16
docker tag request-tracker:v4.2.16 reg.nexus.wmq.com/tools/request-tracker:v4.2.16
docker push reg.nexus.wmq.com/tools/request-tracker:v4.2.16

参考:https://hub.docker.com/r/netsandbox/request-tracker/dockerfilehttps://github.com/cloos/docker-rt

3、部署

rt4所有的数据都存储在 /opt/rt4 目录中,需要做持久化。默认管理员账号:root,密码:password

mkdir /opt/rt4
docker run -itd --name rt -v /opt/rt4:/opt/rt4 -p : reg.nexus.wmq.com/tools/request-tracker:v4.2.16

4、说明

1)当前 request-tracker 最新版本为v4.4.4,为什么不选择最新版本,因为 request-tracker 集成LDAP用到的 RT::Authen::ExternalAuth 插件要求是低于v4.4.0版本,所以选择v4.2.16版本(4.2最新的版本)。

RT::Authen::ExternalAuth 语法参考:https://metacpan.org/pod/RT::Authen::ExternalAuth

2)对于网上采用 apt-get 安装 rt4-extension-authenexternalauth 方式安装LDAP插件,经验证只能是 Debian 8(jessie)或者Ubuntu 16.04.1 系统才有安装包,并且 request-tracker4 也必须是 apt-get 方式安装(安装的版本是v4.2.4,不是最新的版本),要不然插件识别不到 request-tracker4,会提示未安装 rt4,另外因 apt-get 方式安装 rt4 最后需要有一个交互的步骤,所以不能采用docker方式安装。

5、附:手动安装 rt4

手动安装 request-tracker4 步骤

1)安装系统版本
debian:jessie 2)设置安装源
cat >/etc/apt/sources.list <<EOF
deb http://mirrors.tuna.tsinghua.edu.cn/debian/ jessie main contrib non-free
deb http://mirrors.tuna.tsinghua.edu.cn/debian/ jessie-updates main contrib non-free
deb http://mirrors.tuna.tsinghua.edu.cn/debian-security jessie/updates main contrib non-free
EOF apt-get update 3)安装
apt-get install -y net-tools vim
apt-get install -y request-tracker4 rt4-apache2 rt4-clients rt4-db-postgresql apache2-doc lynx postgresql apache2 libapache-dbi-perl fetchmail #安装最后有交互过程
Configuring request-tracker4
Name for this Request Tracker (RT) instance: rt.debian8-55cd77c7dc-z568r
Handle RT_SiteConfig.pm permissions? yes
Configure database for request-tracker4 with dbconfig-common? yes
PostgreSQL application password for request-tracker4: Admin123
Initial root password for RT system: Admin123
Next step for database installation:
. abort . retry . retry (skip questions) . ignore
4)安装LDAP插件
apt-get install -y rt4-extension-authenexternalauth
5)启动数据库
service postgresql start
#初始化管理账号
su - postgres
psql
ALTER USER postgres WITH PASSWORD 'Admin123';
\q 6)配置文件
cd /etc/request-tracker4
chmod RT_SiteConfig.pm

#RT_SiteConfig.pm文件添加
# External auth specifications
Set(@Plugins, (qw(RT::Authen::ExternalAuth)));
Set($ExternalAuthPriority, [ 'My_LDAP' ]);
Set($ExternalInfoPriority, [ 'My_LDAP', ]);
Set($AutoCreateNonExternalUsers, );
Set($ExternalSettings, {
'My_LDAP' => {
'type' => 'ldap',
'server' => 'ldaps://ldap.wmq.com:636',
'user' => 'cn=manager,dc=wmq,dc=com',
'pass' => '******',
'base' => 'ou=员工,dc=wmq,dc=com',
'filter' => '(objectClass=inetOrgPerson)',
'attr_match_list' => [
'Name',
'EmailAddress',
],
'attr_map' => {
'Name' => 'uid',
'EmailAddress' => 'mail',
'RealName' => 'sn',
'WorkPhone' => 'telephoneNumber'
},
},
});
Set($WebBaseURL, 'http://rt4.wmq.com'); 7)配置apache2
vi /etc/apache2/sites-enabled/000-default.conf
在</VirtualHost>前添加下面两行:
Include /etc/request-tracker4/apache2-modperl2.conf
RedirectMatch ^/$ /rt #启动apache2
/etc/init.d/apache2 restart

参考:https://www.it610.com/article/3199076.htm

Docker 安装 Request Tracker 工单系统的更多相关文章

  1. loonflow 工单系统

    该项目是基于django的工作流引擎,工单.项目托管在 Github 一.安装基础环境 1.1 安装python 和 pip yum install -y epel-release yum insta ...

  2. 阿里云使用Docker部署工单系统(redmine)

    环境:阿里云服务器 Redmine安装部署 Redmine是用Ruby开发的基于web的项目管理软件,是用ROR框架开发的一套跨平台项目管理系统,据说是源于Basecamp的ror版而来,支持多种数据 ...

  3. Docker安装Skywalking APM分布式追踪系统

    环境介绍 本文使用虚拟机unbutu18+docker.本unbutu18系统IP地址为:192.168.150.134 大家在使用时记得将此地址换成自己的实际地址. docker的安装可参考:htt ...

  4. Rancher 部署 loonflow 工单系统

    上篇文章介绍用实例主机部署:https://www.cnblogs.com/weavepub/p/11672305.html,本文采用Rancher上部署. 文章所有的文件都托管在Github:htt ...

  5. Docker安装及基础使用

    Docker 安装 在 Mac OS X 系统中,首先你要下载安装包安装:Docker Toolbox 安装过程中,可以选择是否安装 Docker Machine,Docker Compose 等,默 ...

  6. 【Mac】Docker安装及基础使用

    Docker 安装 在 Mac OS X 系统中,首先你要下载安装包安装:Docker Toolbox 安装过程中,可以选择是否安装 Docker Machine,Docker Compose 等,默 ...

  7. 2.0 Linux系统的安装之Fedora安装单系统(2)

    2.0 Linux系统的安装之Fedora安装单系统(2) *Linux系统的安装之Fedora安装单系统 恐怕最好装的系统就是Linux系统了,或者与Windows并列.此篇教程为Fedora的单系 ...

  8. Linux下使用Docker部署nacos-server(单机模式),丧心病狂的我在半夜给UCloud提交了一份工单

    1. 拉取nacos-server镜像 进入 Docker Hub 查看nacos-server最新版本为 nacos-server:1.4.0 配置阿里云镜像加速 sudo mkdir -p /et ...

  9. Kubernetes+Docker的云平台在CentOS7系统上的安装

    Kubernetes+Docker的云平台在CentOS7系统上的安装 1.运行VirtualBox5. 2.安装CentOS7系统. 注意:选择Basic Server类型 安装过程略. 3.修改计 ...

随机推荐

  1. 记录微信支付开发中的小经验(errcode = 40163; errmsg = "code been used")

    今天上午客户提出问题,看了一下报错截图,应该是我更新版本时少传了一个参数,导致后续报错, 心里想着小问题,直接生产环境添加一下就行了,于是就为了我这一上午的悲剧埋下了伏笔 十分自信的把页面中的代码添加 ...

  2. Winform ListBox输出信息并自动滚动至底部

    应用场景:ListBox作为软件信息的输出框. //ListBox输出信息 internal void SetListBoxMessage(string str) { if (this.Message ...

  3. Python - 运算符 - 第五天

    Python语言支持以下类型的运算符 算术运算符 比较(关系)运算符 赋值运算符 逻辑运算符 位运算符 成员运算符 身份运算符 运算符优先级 Python算术运算符 以下假设变量a为10,变量b为21 ...

  4. GALAXY OJ NOIP2019联合测试1-总结

    概要 本次比赛考的不是很好,400分的题只拿了180分...(失误失误) 题目 T1:数你太美(预期100 实际60) 题目大意: 在两个序列中找两个最小的数进行组合,使这个最小整数最小. 解析: 只 ...

  5. RabbitMQ、RPC、SaltStack "贡"具的使用

    消息队列 使用队列的场景 在程序系统中,例如外卖系统,订单系统,库存系统,优先级较高 发红包,发邮件,发短信,app消息推送等任务优先级很低,很适合交给消息队列去处理,以便于程序系统更快的处理其他请求 ...

  6. .Net网站防盗链

    一.简单写法,在Global.asax下的这个方法中添加如下信息 /// <summary> /// 管道当中的第一个事件 /// </summary> /// <par ...

  7. iframe超出外层元素显示滚动条怎么办?

    尝试把外层盒子滚动条样式隐藏,或者设为overflow:hidden等都不生效,突然发现iframe有这个属性的忘记用了!! <iframe frameborder="0" ...

  8. SQLServer修改表名、修改列名

    基本语法 修改表名:EXEC sp_rename ‘原有表名’, '新表名'; 修改列名:EXEC sp_rename ‘表名.[原有列名]’, ‘新列名' , 'COLUMN'; EXEC sp_r ...

  9. Python 简易的异步协程使用方法

    代码 import asyncio async def ex(id, n): print(id+" start") await asyncio.sleep(n/2) print(i ...

  10. SSM整合开发——基于SSM的OA系统

    一.课程介绍 链接: https://pan.baidu.com/s/18B-lWfOUnKZPvuVEHY_NmQ 提取码: ky7t 复制这段内容后打开百度网盘手机App,操作更方便哦 需要 to ...