简介
Bugzilla是一个共享的免费的产品缺陷记录及跟踪工具。由Mozilla公司提供。创始人是Terry Weissman,开始时使用一种名为“TCL”的语言创建的,后用Perl语言实现,并作为Open source发布。
Bugzilla能够为你建立一个完善的bug跟踪体系,包括报告bug、查询bug记录并产生报表、处理解决bug、管理员系统初始化和设置四部分。Bugzilla具有如下特点:
1.基于Web方式,安装简单、运行方便快捷、管理安全。
2.有利于缺陷的清楚传达。本系统使用数据库进行管理,提供全面详尽的报告输入项,产生标准化的bug报告。 提供大量的分析选项和强大的查询匹配能力,能根据各种条件组合进行bug统计。当缺陷在它的生命周期中变化时,开发人员、测试人员、及管理人员将及时获得动态的变化信息,允许你获取历史记录,并在检查缺陷的状态时参考这一记录。
3.系统灵活,强大的可配置能力。Bugzilla工具可以对软件产品设定不同的模块,并针对不同的模块设定开发人员和测试人员。这样可以实现提交报告时自动发给指定的责任人,并可设定不同的小组,权限也可划分。设定不同的用户对bug记录的操作权限不同,可有效控制进行管理。允许设定不同的严重程度和优先级。可以在缺陷的生命期中管理缺陷。从最初的报告到最后的解决,确保了缺陷不会被忽略。同时可以使注意力集中在优先级和严重程度高的缺陷上。
4.自动发送Email,通知相关人员。根据设定的不同责任人,自动发送最新的动态信息,有效的帮助测试人员和开发人员进行沟通。
Bugzilla是一个基于WEB的缺陷管理系统。前台用Perl语言实现,后台使用MySQL数据库。因为Bugzilla除了通过WEB来跟踪处理bug外,还同时通过Email来跟踪bug的处理过程。如果不通过Email来跟踪bug的话,Email电子邮件系统并不是必要的。但是,如果要正常运行Bugzilla,必须设置一个smtp邮件发送服务器。
安装Bugzilla需要MySQL、Perl等等配套软件。为了简化Bugzilla的安装过程,让大家少走弯路,我们把Bugzilla及其配套软件的安装包都整合到一个目录Bugzilla-2.20.1下,并以Step by Step的方式介绍安装及配置过程:
Bugzilla-2.20.1
01.mysql
02.perl
03.bugzilla
04.ReadMe
版本:MySQL-5.0.20.win
1、进入Bugzilla-2.20.1\01.mysql\mysql-5.0.20-win32\目录,点击运行setup.exe进行安装。选择安装路径。建议安装在一个空的硬盘分区上,因为数据库将在这里创建。安装目录名字最好不要变动,因为可能会导致MySQL服务不能启动。这里假设你的安装位置为d:\MySQL。
2、启动windows的任务管理器,查看是否有MySQLd-nt.exe进程在运行,有则说明MySQL已经启动;如果没有这个进程,请按后面的【问题解答】操作,保证有MySQLd-nt.exe进程在运行后进入下一步;
3、用root用户登录MySQL:进入命令行状态,进入MySQL\bin目录,输入"mysql -u root -p",回车,再回车即可(password为空);
4、修改MySQL的root用户密码:
mysql>use MySQL;
mysql>UPDATE user SET Password=PASSWORD('') WHERE user='root';
mysql>FLUSH PRIVILEGES;
说明:其中为root用户的新密码。更改密码后,要用root用户访问MySQL,必须使用MySQL -u root -p,按提示敲入正确的root新密码。
5、创建bugs用户,并赋给相应的权限:
mysql>GRANT SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, CREATE, DROP, REFERENCES, LOCK TABLES, CREATE TEMPORARY TABLES ON bugs.* TO bugs@localhost IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;
说明:要记住bugs用户的密码,在bugzilla配置文件要用到。
6、创建bugs数据库:
mysql>create database bugs;
mysql>exit
【问题解答】如果安装MySQL后,MySQL服务没有启动,请打开windows目录下修改my.ini文件里MySQL的安装目录。如果没有my.ini文件,则在windows界面下启动winMySQLadmin.exe,就可以生成my.ini文件,并启动MySQLd-nt进程。进程启动不起来大部分原因是因为卸载MySQL后重新安装在不同目录下导致的。此时,请卸载后先删除windows目录下面的my.ini文件再安装。
【注意事项】
1、不要安装MySQL-4.0.22-win版本。此版本在Windows Server 2003上重复出现Coredump问题。
2、低于2.20RC1版本的Bugzilla与MySQL 5.0.12及以上版本不兼容。如果要使用MySQL 5.x作为后台数据库,需要使用最新版本的Bugzilla。
及其附加模块
版本:ActivePerl-5.8.8.817-MSWin32-x86-257965.msi
1、安装Perl:进入Bugzilla-2.20.1\02.perl\目录,鼠标点击运行ActivePerl-5.8.8.817-MSWin32-x86-257965.msi进行perl主软件包的安装。
2、安装运行Bugzilla所需的附加模块:进入Bugzilla-2.20.1\02.perl\目录,执行install.bat安装perl的模块,这个批处理会一次性安装bugzilla要求的所有十几个模块。
版本:ArGoSoft Mail Server 1.8.8.1(如果已存在邮件服务器,或者不需要邮件发送功能则不需要安装)
1、安装ArGoSoft Mail Server:进入Bugzilla-2.20.1\05. ArGoSoft Mail Server\目录,运行mspro1881.exe,进行ArGoSoft Mail Server邮件服务器的安装。
2、给服务器改一个比较特别的名字,以使在该邮件服务器上开设的电子信箱域名部分符合互联网的习惯:例如把服务器改名为pubtest.com。
3、在ArGoSoft Mail Server上以该服务器名字创建邮件服务器,并为Bugzilla的管理员开设电子信箱。
如果不通过Email来跟踪bug,则不必安装邮件服务器。但是,Bugzilla正常运行必须要设置一个smtp邮件发送服务器。然而,安装smtp服务器,如果设置不当,smtp服务器有可能被滥用来发送垃圾邮件。这里提供一个简便的解决办法:安装IIS 4.0自带的SMTP服务。同时,通过取消中继邮件等设置,使该SMTP服务不能真正发送邮件。
及其补丁
版本:Bugzilla-2.20.1(最新版本及相关文档资料请到下载)
1、把Bugzilla-2.20.1\03.bugzilla\下面的bugzilla目录拷贝到你要安装的硬盘根目录;
2、在命令行状态下,进入\bugzilla\目录运行“perl checksetup.pl”进行检查,会提示无法访问数据库,并生成localconfig文件;
3、用ultraedit等文本编辑软件修改bugzilla目录下面的localconfig文件,找到“$db_pass = '';”行,把bugs用户的密码加进去——$db_pass = 'password';
4、.然后运行perl checksetup.pl进行检查。此时会生成Bugzilla的后台数据库。此次会提示你设置管理员帐户和密码(管理员帐户请输入管理员的电子信箱,但是密码可以与管理员电子信箱的密码不同);
5、修改e-mail的发送功能
Bugzilla 2.20.1版本,在Windows系统中邮件发送功能支持较好,不需要修改Bugzilla系统的程序,在Bugzilla的参数中配置:
Bugzilla 2.18.3及以下版本,需要修改e-mail发送函数:
Bugzilla安装在Windows操作系统,需要对e-mail的发送功能函数作修改。
编辑\bugzilla\bugzilla目录下BugMail.pm文件,找到并替换“MessageToMTA”函数。配置email邮件发送的相关参数(邮件服务器,管理员信箱):
sub MessageToMTA ($;$) {
my ($msg, $rcpt_to) = (@_);
my $sendmailparam = "";
unless (Param("sendmailnow")) {
$sendmailparam = "-ODeliveryMode=deferred";
}
if ($enableSendMail == 1) {
#open(SENDMAIL, "/usr/lib/sendmail $sendmailparam -t -i")
# die "Can't open sendmail";
#
#print SENDMAIL trim($msg) . "\n";
#close SENDMAIL;
use Net::SMTP;
my $smtp_server = 'localhost'; # change this
($enableSendMail && $rcpt_to) return;
# Use die on error, so that the mail will be in the 'unsent mails' and
# can be sent from the sanity check page.
my $smtp = Net::SMTP->new($smtp_server)
die 'Cannot connect to server \'$smtp_server\'';
$smtp->mail('bugzilla@huawei.com'); # change this
$smtp->to($rcpt_to);
$smtp->data();
$smtp->datasend($msg);
$smtp->dataend();
$smtp->quit;
}
}
1、打开【控制面板】->【管理工具】->【Internet 服务管理器】, 在【默认 Web 站点】点按右键选择【属性】->【主目录】->【配置…】,在【应用程序映射】中点击【添加】,添加扩展名为.pl、.plx、.cgi文件的映射,方法、参数如下(假设Perl安装在C:\Perl):
可执行文件: C:\Perl\bin\perl.exe -T "%s" %s
扩展名: .pl 或者 .plx 或者 .cgi
动作: 仅限于GET,HEAD,POST
注1:这个“-T”一定要加,否则访问时会报错:
Too late for "-T" option at d:\bugzilla-2.20.1\index.cgi line 1.
2、在Default Web Site右键选择“新建-》虚拟目录”,你可以给这个虚假目录起一个名字,
例如“bugzilla”,指向你的Bugzilla安装目录,并在默认页中加入“index.cgi”。
2、Windows Server 2003的IIS 6.0需要如下图所示,在【Internet 服务管理器】->【Web服务扩展】中把“所有未知CGI扩展”、“所有未知ISAPI扩展”、“Perl CGI Extension”、“Perl ISAPI Extension”由“禁止”修改为“允许”。
(备选方案,仅在采用Apache作为web服务器时需要)
2.2.3
修改配置文件: \Apache安装目录\conf\httpd.conf(在配置文件中修改下面几处)
#配置端口
#Listen 12.34.56.78:80
Listen 80
# 'Main' server configuration
#管理员邮箱,可以任意配置
ServerAdmin
#服务器名称及端口
ServerName bugzilla:80
#bugzilla程序所在目录
DocumentRoot "D:/Bugzilla/Bugzilla"
# 下面的目录地址需与上面配置的bugzilla路径相同.
#增加对cgi脚本支持
AddHandler cgi-script .cgi
Options ExecCGI
AllowOverride All
Order allow,deny
Allow from all
#主页索引增加index.cgi
DirectoryIndex index.html index.cgi
文件
最后一步也是比较重要的一步,利用UE批量修改bugzilla目录下的cgi文件,将第一行perl解析器路径修改为步骤2.2 perl所在的路径
For example:#!D: /perl/bin/perl –WT
注意:此处仅修改上面的路径即可,前面的“#!”符号不要删除
启动浏览器,在地址栏输入检查bugzilla安装是否成功——看到bugzilla的页面就表示安装成功,现在可以正常使用了。
转自http://hi.baidu.com/wangmei58/blog/item/c03510517a46061e367abef1.html