最近项目问题比较多,需要用bug管理软件进行问题管理。目前维护中的开源bug管理工具首选还是bugzilla,只是其用的是perl,环境装起来还是有些费劲。最后的运行环境是httpd+MysqL。
##运行环境
目前最新的版本是5.0.3的,官方的linux下安装文档还算详细。
yum install httpd MysqL-server mod_perl mod_perl-devel httpd-devel gd-devel MysqL-devel rst2pdf graphviz patchutils gcc 'perl(Apache2::SizeLimit)' 'perl(Authen::Radius)' 'perl(Authen::SASL)' 'perl(Cache::Memcached)' 'perl(CGI)' 'perl(Chart::Lines)' 'perl(Daemon::Generic)' 'perl(Date::Format)' 'perl(DateTime)' 'perl(DateTime::TimeZone)' 'perl(DBI)' 'perl(Digest::SHA)' 'perl(Email::MIME)' 'perl(Email::Reply)' 'perl(Email::Sender)' 'perl(Encode)' 'perl(Encode::Detect)' 'perl(File::MimeInfo::Magic)' 'perl(File::Slurp)' 'perl(GD)' 'perl(GD::Graph)' 'perl(GD::Text)' 'perl(HTML::FormatText::WithLinks)' 'perl(HTML::Parser)' 'perl(HTML::Scrubber)' 'perl(IO::Scalar)' 'perl(JSON::RPC)' 'perl(JSON::XS)' 'perl(List::MoreUtils)' 'perl(LWP::UserAgent)' 'perl(Math::Random::ISAAC)' 'perl(MIME::Parser)' 'perl(mod_perl2)' 'perl(Net::LDAP)' 'perl(Net::SMTP::SSL)' 'perl(PatchReader)' 'perl(SOAP::Lite)' 'perl(Template)' 'perl(File::Which)' 'perl(Template::Plugin::GD::Image)' 'perl(Test::Taint)' 'perl(TheSchwartz)' 'perl(URI)' 'perl(XMLRPC::Lite)' 'perl(XML::Twig)'
###MysqL和httpd 安装MysqL,httpd,创建数据库略。
###安装bugzilla
下载bugzilla的tar.gz包,解压(最简单是解压到/var/www/html下)。
###汉化包 目前能找到的最近版汉化包是csdn上一个5.0.2根据繁体中文修改的,只能凑合用,而且还有两个文件中掉了两个END结束语句。解压zh-CN放到template下。不需要汉化,这步可以略过。
###安装perl各种库 运行里面的checksetup.pl脚本检查安装环境;
$ cd /var/www/html/bugzilla $ checksetup.pl --check-modules
如果是在CentOS6.x,估计会有一堆错,一般是perl的各种库的缺失或版本太旧,如果是运行 install-module.pl --all 会使用cpan进行安装,在国内基本慢到无法安装成功。使用cpanm加上国内镜像,能较快解决这一问题。
安装 cpanm 以后使用,简单得不行了
$ wget http://xrl.us/cpanm --no-check-certificate -O /sbin/cpanm && chmod +x /sbin/cpanm
建议还在 .bashrc 中配置一下别名,指向 163 的 cpan 的镜象
alias cpanm='cpanm --sudo --mirror http://mirrors.163.com/cpan --mirror-only'
安装和升级各种包,具体看执行checksetup.pl检查出来的缺失的必选包(以下是示例);
$ cpanm Date::Format $ cpanm Email::Sender $ cpanm Net::SMTP::SSL $ cpanm IO::Socket::SSL
perl环境搞定后,直接配置数据库参数,先运行./checksetup.pl,它会在/var/www/html/bugzilla路径下自动生成一个名为localconfig的文件。编辑这个文件,里面比较重要的参数是$db_driver (数据库类型) 、 $db_name (库名称) 、$db_name(用户名)、$db_pass(密码), $webservergroup (httpd的运行用户组)。修改完重新运行checksetup.pl脚本进行检查,直到没问题。
###配置httpd服务
这个主要配置是加上目录执行配置,其余的部分略;
<Directory /var/www/html/bugzilla> AddHandler cgi-script .cgi Options +Indexes +ExecCGI DirectoryIndex index.cgi AllowOverride Limit FileInfo Indexes </Directory>
配置完重启httpd,使用bugzilla还可以检查服务是否正常:
./testserver.pl http://<your-bugzilla-server>/
###配置邮件发送
访问bugzilla的服务,设置一些核心参数,像requirelogin(是否需要登录才能访问),还有就是发送邮件的设置,mail_delivery_method,一般是用SMTP,然后需要配置smtpserver,smtp_username,smtp_password,如果是用SSL还要把smtp_ssl打开。
设置完可以去注册一个新用户,填入邮箱,看注册邮件是否能发送成功。
如果是要限定注册邮箱的地址,比如公司邮箱后缀的,可以去User Authentication 功能中修改createemailregexp参数,使用正则表达式来验证邮箱后缀是否可以注册。
原文链接:https://www.f2er.com/centos/380103.html