在CentOS 8上使用MariaDB安装请求跟踪器(RT)

欢迎使用我们的指南,说明如何在CentOS 8上使用MariaDB安装请求跟踪器(RT)。 请求跟踪器(RT) 是一种企业级的问题跟踪/票证系统,使组织可以跟踪要完成的各种任务,完成的任务以及完成任务的时间。

它支持无缝电子邮件集成,自定义工作流,SLA自动化和跟踪等。了解更多信息 RT功能

在CentOS 8上使用MariaDB安装请求跟踪器(RT)

运行系统更新

首先,请确保您的系统软件包是最新的。

dnf update

安装RT所需的软件包

请求跟踪程序(RT)需要大量软件包才能运行。其中包括Perl和一些perl模块,Web服务器(Nginx或Apache),后端数据库(MySQL / MariaDB,PostgreSQL,SQLite,Oracle)。

在本演示中,我们将MariaDB用作数据库后端,并将Apache用作Web服务器。

启用EPEL和PowerTools Repos,因为它们包含一些必需的依赖项。

dnf config-manager --set-enabled PowerTools
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

要安装所需的软件包,只需执行以下命令。

dnf install expat gd graphviz openssl expat-devel gd-devel openssl-devel perl perl-CPAN perl-YAML wget screen mod_fcgid perl-libwww-perl perl-Plack perl-GD perl-GnuPG-Interface perl-GraphViz perl-Crypt-SMIME  perl-String-ShellQuote perl-Crypt-X509 perl-LWP-Protocol-https graphviz-devel spawn-fcgi
dnf groupinstall "Development Tools"

在CentOS 8上安装Apache Web服务器

dnf install httpd

启动并启用Apache以在系统启动时运行。

systemctl enable --now httpd

在CentOS 8上安装MariaDB

dnf install mariadb-server

启动并启用MariaDB在系统启动时运行。

systemctl enable --now mariadb

运行初始安全脚本并删除测试数据库,匿名用户帐户,禁用远程root登录……

mysql_secure_installation

您也可以按照以下指南安装和使用MariaDB 10.4。

在CentOS 8上安装MariaDB 10.4

安装邮件传输代理以允许RT路由和传递邮件。本指南中使用了Postfix。

dnf -y install postfix

在CentOS 8上安装请求跟踪器(RT)

下载RT Tarball

在本指南中,RT从源头安装在CentOS 8上。因此,导航至 RT下载页面 并获取最新版本的RT存档。

RT 4.4.4是 最新稳定版本 在撰写本文时。

只需从下载页面获取链接,然后使用wget命令将其拉出,如下所示;

wget https://download.bestpractical.com/pub/rt/release/rt-4.4.4.tar.gz

要验证档案的完整性,请计算其哈希值(sha256),然后将其与 发布页面

sha256sum rt-4.4.4.tar.gz
34c316a4a78d7ee9b95d4391530f9bb3ff3edd99ebbebfac6354ed173e940884  rt-4.4.4.tar.gz

解压RT存档

将RT压缩包解压缩到某个目录。

tar xzf rt-4.4.4.tar.gz

在CentOS 8上编译并安装RT

导航到上面提取的RT存档目录。

cd rt-4.4.4

接下来执行 configure 脚本以使RT适应系统,以确保对构建和安装RT的所有必需依赖项均可用。

请注意,您始终可以设置用于配置脚本的首选选项。只需利用帮助页面即可使用的选项。

,/configure --help

要使用默认选项运行configure脚本,请执行以下命令。 RT默认使用MySQL作为数据库安装在/ opt / rt4中。

./configure

配置脚本完成后,请运行以下命令以检查是否缺少Perl依赖项。

make testdeps

该脚本将检查所有必需的依赖项是否可用,并报告所有缺少的依赖项。

通过手动安装缺少的依赖性或简单地执行 make fixdeps 命令作为特权用户。

但是,在运行fixdeps命令之前,需要配置CPAN Shell。

/usr/bin/perl -MCPAN -e shell
...
Would you like to configure as much as possible automatically? [yes] yes

在CPAN Shell提示符下,键入quit退出外壳。

...
cpan shell -- CPAN exploration and modules installation (v2.18)
Enter 'h' for help.
cpan[1]> quit

另外,CPAN有一个名为 cpanm 可以帮助 make fixdeps 命令安装依赖项。因此,安装此工具并设置RT以使用它来修复dep。

安装cpanm,执行以下命令;

curl -L https://cpanmin.us | perl - --sudo App::cpanminus
cpanm --self-upgrade --sudo
which cpanm
/usr/local/bin/cpanm
export RT_FIX_DEPS_CMD=/usr/local/bin/cpanm

接下来,运行fixdeps命令;

make fixdeps

该命令可能会花费一些时间来尝试修复缺少的依赖项。在继续之前,请确保已对所有依赖性问题进行了排序。

您可以始终使用cpanm安装或重新安装或强制安装依赖项。

例如,假设您在运行 make fixdeps 命令;

make testdeps | grep -i missing
	HTML::FormatText::WithLinks >= 0.14 ...MISSING
	Plack::Handler::Starlet ...MISSING
	HTML::FormatText::WithLinks::AndTables >= 0.06 ...MISSING
SOME DEPENDENCIES WERE MISSING.
CORE missing dependencies:
	HTML::FormatText::WithLinks >= 0.14 ...MISSING
	Plack::Handler::Starlet ...MISSING
	HTML::FormatText::WithLinks::AndTables >= 0.06 ...MISSING
make: *** [Makefile:272: testdeps] Error 1

因此,您可以使用以下命令安装这些缺少的依赖项 cpanm

cpanm --install Plack::Handler::Starlet
cpanm --install HTML::FormatText::WithLinks
cpanm --install HTML::FormatText::WithLinks::AndTables

再次检查缺少的依赖项;

make testdeps
...
MAILGATE dependencies:
	LWP::Protocol::https ...found
	Pod::Usage ...found
	LWP::UserAgent >= 6.02 ...found
	Mozilla::CA ...found
	Getopt::Long ...found
MYSQL dependencies:
	DBD::mysql >= 2.1018 ...found
SMIME dependencies:
	Crypt::X509 ...found
	File::Which ...found
	String::ShellQuote ...found

All dependencies have been found.

如果最后一行 已找到所有依赖项, 你已准备好出发。

解决依赖性问题后,请安装RT。请注意,此命令将在 /opt/rt4 目录。

make install
...
Congratulations. RT is now installed.


You must now configure RT by editing /opt/rt4/etc/RT_SiteConfig.pm.

(You will definitely need to set RT's database password in 
/opt/rt4/etc/RT_SiteConfig.pm before continuing. Not doing so could be 
very dangerous.  Note that you do not have to manually add a 
database user or set up a database for RT.  These actions will be 
taken care of in the next step.)

After that, you need to initialize RT's database by running
 'make initialize-database'

从Web界面配置RT

安装完成后,您现在可以通过以独立模式运行RT来通过Web界面配置RT。

要启用对RT的外部访问,请在防火墙上打开Web服务器端口。在此演示中,我们使用端口80 / tcp。因此,执行以下命令以打开防火墙上的端口80。

firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --reload

为了能够从浏览器访问RT,请停止您的Web服务器运行,然后运行以下脚本。

systemctl stop httpd
/opt/rt4/sbin/rt-server

如果使用自定义端口,请确保打开防火墙上的端口,并使用上面的rt-server脚本指定端口。

/opt/rt4/sbin/rt-server --port 8080
...
HTTP::Server::PSGI: Accepting connections at http://0:80/

从浏览器访问RT以继续进行配置。注意它接受连接 http:// 0:80 / 就我们而言。因此,可以使用服务器的IP地址或可解析的主机名来访问它, http://server_IP_OR_hostname

配置数据库连接设置

在RT界面中,点击 我们走吧! 选择数据库类型。本指南中使用MySQL / MariaDB。

单击“下一步”创建RT数据库和数据库用户。确保为管理用户提供凭据。

创建rt数据库centos 8

要验证数据库连接,请单击 检查数据库连接

RT数据库连接centos 8

自定义RT

单击下一步以使用启动和运行所需的最基本配置来自定义RT。

RT基本设置centos 8

设置您的MTA和RT管理员电子邮件的路径。

RT MTA后缀centos 8

设置评论和通信地址。

RT评论和信件地址CentOS 8

点击初始化数据库以创建RT的数据库并插入初始元数据。

数据库初始化后,单击 完成安装 完成设置。

在CentOS 8上使用MariaDB安装请求跟踪器(RT)

然后,您将被带到RT登录页面。

在CentOS 8上使用MariaDB安装请求跟踪器(RT)

请注意,RT仍在独立模式下运行。从终端按Ctrl + c停止 /opt/rt4/sbin/rt-server 脚本并继续为RT配置Web服务器。

在CentOS 8上配置RT Web服务器

编辑 /etc/httpd/conf.d/fcgid.conf 配置文件并添加该行,FcgidMaxRequestLen 1073741824,以定义最大HTTP请求长度。

vim /etc/httpd/conf.d/fcgid.conf
...
# Use FastCGI to process .fcg .fcgi & .fpl scripts
AddHandler fcgid-script fcg fcgi fpl

# Sane place to put sockets and shared memory file
FcgidIPCDir /run/mod_fcgid
FcgidProcessTableFile /run/mod_fcgid/fcgid_shm
FcgidMaxRequestLen 1073741824

使用以下内容创建RT Web配置文件;

vim /etc/httpd/conf.d/rt.kifarunix-demo.com.conf

    AddDefaultCharset UTF-8

    ScriptAlias / /opt/rt4/sbin/rt-server.fcgi/

    DocumentRoot "/opt/rt4/share/html"
    
        Require all granted

        Options +ExecCGI
        AddHandler fcgid-script fcgi
    

保存配置文件并退出。

检查Apache语法错误。

httpd -t
Syntax OK

配置RT记录

从SiteConfig配置文件控制RT的登录。如上所述,RT有多个日志记录选项 LogsConfig Wiki。但是,我们将在本指南中将RT日志记录配置为文件。

打开 RT_SiteConfig.pm 用于编辑的配置文件。

vim /opt/rt4/etc/RT_SiteConfig.pm

在配置文件的末尾,插入以下几行,以根据您的环境设置进行适当的更改。

Set($LogToFile,      'debug');
Set($LogToFileNamed, 'rt.kifarunix-demo.com.log');
Set($LogDir,         '/var/log/rt4');

保存并退出配置文件。

检查配置语法;

perl -c /opt/rt4/etc/RT_SiteConfig.pm

创建由指定的日志目录 $ LogDir 参数。

mkdir /var/log/rt4

确保日志目录的所有者是Apache;

chown -R apache:apache /var/log/rt4

确保始终检查此配置文件是否存在任何RT错误

启动Apache

systemctl start httpd

访问RT

现在,您可以使用以下地址通过浏览器访问RT http://rt-server-IP_OR_hostname

采用 root 作为设置RT时配置的用户名和密码。

CentOS 8上的RT登录页面

成功登录后,您便可以通过Web界面快速登录RT。

RT在CentOS 8上一目了然

现在,RT已安装并正在运行。但是,要使它可用,还需要做很多工作。我们将在接下来的指南中介绍如何配置RT。

这标志着我们关于如何在CentOS 8上使用MariaDB安装请求跟踪器(RT)的指南的结尾。

参考

RT 4.4.4文档自述文件

其他教程

在CentOS 8上安装和设置HAProxy

在CentOS 8上安装和配置SNMP

在CentOS 8上使用Webmin配置BIND DNS服务器

Sidebar