Docker 安装 Request Tracker 工单系统

Stella981
• 阅读 1176

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/rt4docker run -itd --name rt -v /opt/rt4:/opt/rt4 -p 80:80 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 update3)安装
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: 4
1. abort  2. retry  3. retry (skip questions)  4. 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 777 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,    0);
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

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
待兔 待兔
3个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
Opencv中Mat矩阵相乘——点乘、dot、mul运算详解
Opencv中Mat矩阵相乘——点乘、dot、mul运算详解2016年09月02日00:00:36 \牧野(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fme.csdn.net%2Fdcrmg) 阅读数:59593
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Wesley13 Wesley13
3年前
Oracle一张表中实现对一个字段不同值和总值的统计(多个count)
需求:统计WAIT\_ORDER表中的工单总数、未处理工单总数、已完成工单总数、未完成工单总数。表结构:为了举例子方便,WAIT\_ORDER表只有两个字段,分别是ID、STATUS,其中STATUS为工单的状态。1表示未处理,2表示已完成,3表示未完成总数。 SQL:  1.SELECT   2
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
9个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这