bugzilla是一个缺陷跟踪管理工具,对她渴望已久,终于成功安装了,深刻体会到了安装过程的繁琐。几经波折总算是用上这个软件了,心里很兴奋。
我工作的公司是一个刚起步的软件外包公司,开发,管理都在摸索中发展,就软件测试这个职位来是,更是不规范。公司就我一个测试员,我有是新手,所以关键就在自己了。为了让测试更好管理,一直想找一个bugs管理工具,使自己的工作更有效,开发的软件质量更高。
由于本人知识的欠缺,她又是一个开源的,基于Unix的软件,安装过程可谓是辛苦阿,总的感觉是所以可能出现的错误操作都出现了。不过,出现问题也不一定是坏事,可能会又有意外的收获。再这次安装过程中还是学到了不少东西。下面将我的安装过程及易出现的问题记录如下:
一、安装系统环境:
     Windows XP
二、安装所需软件及下载地址:
    bugzilla
    Activeperl
    mysql
    apache
三、具体安装过程:
1.对于mysql和apache的安装我是用的这个集成开发环境bitnami-drupal-6.3-0-windows-installer.exe,对于像我这样的菜鸟建议用这个。
2.安装bugzilla
bugzilla并不需要安装,下载后解压到本地的某个文件即可。
3.解压后,dos下执行checksetup.pl,看缺少哪几个perl module,具体命令如下:
H:\Perl\bin>perl I:\Site\bugzilla\site\checksetup.pl
可以看出,我的perl bugzilla都放在C盘根目录下,执行后,发现有很多模块需要安装
:

Checking perl modules...
Checking for                 CGI (v2.93)   ok: found v3.29
Checking for            TimeDate (v2.21)    not found
Checking for           PathTools (v0.84)   ok: found v3.25
Checking for                 DBI (v1.41)   ok: found v1.58
Checking for    Template-Toolkit (v2.15)    not found
Checking for          Email-Send (v2.16)    not found
Checking for Email-MIME-Modifier (any)      not found

Checking available perl DBD modules...
Checking for              DBD-Pg (v1.45)    not found
Checking for           DBD-mysql (v4.00)    not found
Checking for          DBD-Oracle (v1.19)    not found

 面是执行的一部分结果,必须安装的模块有5,TimeDate , Template-Toolkit ,Email-Send , Email-MIME,Email-MIME-Modifier ,可选的安装有三个,就是数据库的三个,根据选 择数据库的不同,分别安装.因为我用的是mysql,所以一会就选择dbd-mysql进行安装;还有后面的一堆是可装可不装的,到时等需要用时再安装不迟
.
接下来,我们就来安装这些模
4.安装perl module
这里建议大家用activeperl 5.8.8,不要用5.10.0.较新的这个版本没有DBD mysql module。
通过activeperlPPM进行模块的安装.
TimeDate (v2.21)的安装
TimeDate
比较奇怪,PPM上找到的TimeDate版本是1.16,但是直接在ppm上安装完了后,执行checksetup.pl,发现TimeDate安装成功,并且版本升级到了2.22,后来也没发现问题及原因.

DBD-mysql (v4.00)
的安装
我在PPM里面没有搜索到该模块,只好在dos下输入以下语句:
H:\Perl\bin>ppm install 
http://theoryx5.uwinnipeg.ca/ppms/DBD-mysql.ppd
回车,PPM自动从http://theoryx5.uwinnipeg.ca/ppms上下载最新的DBD-mysql.ppd进行安装。
其实Email-Send (v2.16)等模块也可以通过这样安装。
这样五个必须安装的module都已经安装完毕,
 
5.重新执行checksetup.pl.
bugzilla目录下生成localconfig文件.修改
localconfig:
$db_host改成mysql server端的服务器,我装在本机,所以不用修改
;
$db_name = 'bugs';改成$db_name = 'bugzilla'; ----bugzilla是我新建的BUG数据库的名称
;
$db_user = 'bugs';
改成$db_user = 'bug'; ----bug是我登录bugzilla数据库的用户名
;
$db_pass = '';
改成$db_pass = 'bug'; ----bug是我登录bugzilla数据库的用户bug的密码
;
$db_port = 0;
改成$db_port = 3306; ----mysql安装默认端口是
3306;
修改完成后,保存.
 
6.再次重新执行checksetup.pl.

dos窗口中可以看到在往数据库中创建相应的表结构.表结构创建完后,提示要求输入管理帐号的邮件,real name和密码,输入后,继续执行,直到提示"Now that you have installed Bugzilla......".安装完成。


7.
接下来我们要将bugzilla部署到Apache,以便于项目成员可以通过浏览器进行访问.

修改安装好的apache配置文件
httpd.conf

1
)、修改侦听端口

Listen 80
2)、修改主目录配置
(这里不推荐使用,推荐建立单独的bugzilla虚拟目录进行配置,如3、)
若要直接通过http://localhost/访问,则修改主目录
修改DocumentRoot参数,默认情况下该参数是指向apache的安装目录下的htdos文件夹,修改该参数为bugzilla的安装路径下。同时要记得修改下面的<Directory>参数
配置CGI访问,需要把下面这一句前面的#给去掉
AddHandler cgi-script .cgi
并添加这句:AddHandler cgi-script .pl 
修改Options Indexes FollowSymLinks  Options Indexes FollowSymLinks ExecCGI
修改AllowOverride None
AllowOverride All
AllowOverride All下一行添加
ScriptInterpreterSource Registry-Strict
修改apache的缺省访问文件:在DirectoryIndex index.html index.html.var后面添加一个index.cgi
3)、建立单独的apache的虚拟目录
bugzilla到目录下创建一个配置文件bugzilla.conf
输入以下内容:
Alias /bugzilla/ "I:/Site/bugzilla/site/"
Alias /bugzilla "I:/Site/bugzilla/site"
 
<Directory "I:/Site/bugzilla/site">
    Options ExecCGI All
    AllowOverride All
    ScriptInterpreterSource Registry-Strict
    order allow,deny
    Allow from all
</Directory>
注意:在配置文件中是使用“/”而不是“\”
然后修改httpd.conf,在最后添加一句话:
Include "I:/Site/bugzilla/conf/bugzilla.conf"用于包含该配置文件。
Httpd.conf中的配置CGI访问,同样需要把下面这一句前面的#给去掉
AddHandler cgi-script .cgi
并添加一句:AddHandler cgi-script .pl 
同时修改apache的缺省访问文件:在DirectoryIndex index.html index.html.var后面添加一个index.cgi
4 、修改注册表,新建项HKEY_CLASSES_ROOT\.cgi\Shell\ExecCGI\Command修改默认值为%perl的安装路径%\bin\perl.exe –T
这里还有一个笨方法:将所有的bugzilla目录下的*.cgi文件的头部的#!/usr/bin/perl –wT修改为:#!c:\perl\bin\perl –wT,就是指定了perl的安装路径。
5)、重启apache

8.
配置完成,输入

http://localhost/bugzilla 
就可以看到bugzilla的主页面了

让Bugzilla界面运行起来!
当我们使用 web 页面浏览http://127.0.0.1/bugzilla/时,意外的发现出错了。
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
More information about this error may be available in the server error log. 
… 
是因为Apache找不到perl文件的路径,因此将.cgi和.pl的顶部的perl路径由/use/bin/perl 替换成C:/perl/bin/perl即可。
即:将 #!/usr/bin/perl 替换为:#!C:/perl/bin/perl
作为一个通用的解决方法,可以将所有的#!/usr/bin/perl –wT和#!/usr/bin/perl –w替换成#!C:/perl/bin/perl
修改后,再次浏览http://127.0.0.1/bugzilla/,OK!我们可以看到Bugzilla的主界面了。