最近项目问题比较多,须要用bug管理软件进行问题管理。目前维护中的开源bug管理工具首选仍是bugzilla,只是其用的是perl,环境装起来仍是有些费劲。最后的运行环境是httpd+mysql。html
##运行环境mysql
目前最新的版本是5.0.3的,官方的linux下安装文档还算详细。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,建立数据库略。web
###安装bugzilla正则表达式
下载bugzilla的tar.gz包,解压(最简单是解压到/var/www/html下)。sql
###汉化包 目前能找到的最近版汉化包是csdn上一个5.0.2根据繁体中文修改的,只能凑合用,并且还有两个文件中掉了两个END结束语句。解压zh-CN放到template下。不须要汉化,这步能够略过。数据库
###安装perl各类库 运行里面的checksetup.pl脚本检查安装环境;bash
$ cd /var/www/html/bugzilla $ checksetup.pl --check-modules
若是是在CentOS6.x,估计会有一堆错,通常是perl的各类库的缺失或版本太旧,若是是运行 install-module.pl --all 会使用cpan进行安装,在国内基本慢到没法安装成功。使用cpanm加上国内镜像,能较快解决这一问题。dom
安装 cpanm 之后使用,简单得不行了ide
$ 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参数,使用正则表达式来验证邮箱后缀是否能够注册。