软件测试


网站首页 | 软件测试论坛 | 软件测试培训 | 软件测试博客 | 软件测试杂志 | 软件测试沙龙 | 软件测试下载 | 软件测试顾问
业界新闻 | 软件测试人才 | 软件测试技术 | 软件测试工具 | 行业软件测试 | 软件测试管理 | 软件质量专栏 | 软件开发专栏
当前位置:首页>>软件测试管理>>缺陷管理>>正文
Bugzilla在Window2000上安装–2.18版本
文章出处:51testing博客 作者:pcl 发布时间:2006-07-21
    最近由于客户需要我帮助他们在Windows上的安装Bugzilla,在网上找了好多资料都是很早的以前的,问了好多人都没有用过,用过的也是好多年以前自己都没有安装100%成功,求人不如求己,所以自己开始动手丰衣足食!
1. 安装mysql-4.0.18-win(默认安装C盘)
修改mysql的root用户密码:
C:\>cd mysql
C:\mysql>cd bin
C:\mysql\bin>mysql -u root mysql
mysql>UPDATE user SET Password=PASSWORD(‘<new_password>’) WHERE user='root';
例如:UPDATE user SET Password=PASSWORD('pcl'>) WHERE user='root';
mysql>FLUSH PRIVILEGES;

mysql>GRANT SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, CREATE, DROP, REFERENCES, LOCK TABLES, CREATE TEMPORARY TABLES ON bugs.* TO bugs@localhost IDENTIFIED BY '<bugs_password>';
例如:mysql>GRANT SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, CREATE, DROP, REFERENCES, LOCK TABLES, CREATE TEMPORARY TABLES ON bugs.* TO bugs@localhost IDENTIFIED BY 'admin';
请注意这里我把bugs-password的密码改为admin,请注意这里修改后边localconfig文件的时候需要用到的密码和这个一样!

mysql> FLUSH PRIVILEGES;
说明:要记住bugs用户的密码,在下面的bugzilla配置文件要用。
创建bugs数据库:
mysql>create database bugs;
mysql>exit

2. 安装ActivePerl和相关Module
 这里我安装的是ActivePerl v5.8.4.810.rar,安装在C盘,安装路径是:C:\Perl
 安装Perl moudle组件包,组件包 AppConfig,Chart,DBD-mysql,DBI,File-Spec,File-Temp,GD,GDGraph,GDTextUtil,Getopt-Long,PatchReader,Template-Toolkit,TimeDate这几个模块!(以上模块可以在网上寻找下载,如果找不到可以联系我,我提供给大家)

3. 安装Bugzilla
下载2.18版本bugzilla!解压到c盘!
1) 打开【控制面板】->【管理工具】->【Internet 服务管理器】,在【默认 Web 站点】点按右键选择【属性】->【主目录】->【配置…】,在【应用程序映射】中点击【添加】,增加如下资料:
   Perl脚本解析器:(*.pl)
可执行文件: C:\Perl\bin\perl.exe "%s" %s
扩展名: .pl
仅限于: GET,HEAD,POST
 CGI脚本解析器:(*.cgi)
可执行文件: C:\Perl\bin\perl.exe "%s" %s
扩展名: .cgi
仅限于: GET,HEAD,POST
2) 默认 Web 站点】->【新建】->【虚拟目录】:
别名:Bugzilla,访问目录:C:\Bugzilla,访问权限中增加【写入】权限。
选择刚建立的虚拟目录Bugzilla,右键选择【属性】-> 【文档】。【默认文档】中增加index.cgi。
4.  修改localconfig,(这个文件在C:\Buzilla\文件夹下)文件中的MySQL参数
找到以下部分
#
# How to access the SQL database:
#
$db_host = "localhost";         # where is the database?
$db_port = 3306;                # which port to use
$db_name = "bugs";              # name of the MySQL database
$db_user = "bugs";              # user to attach to the MySQL database


#
# Enter your database password here. It's normally advisable to specify
# a password for your bugzilla database user.
# If you use apostrophe (') or a backslash (\) in your password, you'll
# need to escape it by preceding it with a \ character. (\') or (\\)
#
$db_pass = 'admin';  #这里修改为上边我们给BUGS数据库设置的密码,上
#边我设置为admin 这里修改为

   如果你在bugzilla路径下没有找到这个文件,那么需要你执行bugzilla文件夹下面的checksetup.pl
  c:\> cd bugzilla
  c:\bugzilla>checksetup.pl

5. 执行checksetup.pl
Checking perl modules ...
Checking for AppConfig (v1.52) ok: found v1.55
Checking for CGI::Carp (any) ok: found v1.13
Checking for Data::Dumper (any) ok: found v2.101
Checking for Date::Parse (any) ok: found v2.27
Checking for DBI (v1.13) ok: found v1.37
Checking for DBD::mysql (v1.2209) ok: found v2.0419
Checking for File::Spec (v0.82) ok: found v0.82
Checking for File::Temp (any) ok: found v0.12
Checking for Template (v2.07) ok: found v2.08
Checking for Text::Wrap (v2001.0131) ok: found v2001.0929
Checking for CGI::Carp (any) ok: found v1.13
The following Perl modules are optional:
Checking for GD (v1.19) ok: found v2.07
Checking for Chart::Base (v0.99) ok: found v2.2
Checking for XML::Parser (any) ok: found v2.34
Checking user setup ...
------------------------------省略
 Looks like we don't have an administrator set up yet. Either this is your
first time using Bugzilla, or your administrator's privs might have accidently
gotten deleted at some point.
Enter the e-mail address of the administrator: pcl@51testing.com //输入login email
You entered 'tonnyomAThotmail.com'. Is this correct? [Y/n] Y
Enter the real name of the administrator:pcl
Enter a password for the administrator account: pcl //输入管理员登陆密码
Please retype the password to verify:
'tonnyomAThotmail.com' is now set up as the administrator account. 省略后边

  现在访问:Http://localhost/bugzilla/index.cgi,发现错误!
 
 解决办法:
1. 修改所有的cgi文件,去掉第一行的最后一个字符T,我统一修改去掉—wT
2. 修改sendmail的问题!下边操作要仔细!
    查找 'MessageToMTA(' 于 'C:\Documents and Settings\benjamin\Desktop\bugzilla218\CGI.pl' :
C:\Documents and Settings\benjamin\Desktop\bugzilla218\CGI.pl(229):     Bugzilla::BugMail::MessageToMTA($msg,$login);
原来是  Bugzilla::BugMail::MessageToMTA($msg)
已找到 'MessageToMTA(' 1 次。
----------------------------------------
查找 'MessageToMTA(' 于 'C:\Documents and Settings\benjamin\Desktop\bugzilla218\globals.pl' :
C:\Documents and Settings\benjamin\Desktop\bugzilla218\globals.pl(1397):             Bugzilla::BugMail::MessageToMTA($msg,$name);
原来是  Bugzilla::BugMail::MessageToMTA($msg)
已找到 'MessageToMTA(' 1 次。
----------------------------------------
查找 'MessageToMTA(' 于 'C:\Documents and Settings\benjamin\Desktop\bugzilla218\importxml.pl' :
C:\Documents and Settings\benjamin\Desktop\bugzilla218\importxml.pl(118):   Bugzilla::BugMail::MessageToMTA($sendmessage,$to);
原来是  Bugzilla::BugMail::MessageToMTA($sendmessage)
已找到 'MessageToMTA(' 1 次。
----------------------------------------
查找 'MessageToMTA(' 于 'C:\Documents and Settings\benjamin\Desktop\bugzilla218\move.pl' :
C:\Documents and Settings\benjamin\Desktop\bugzilla218\move.pl(171): Bugzilla::BugMail::MessageToMTA($msg,$to);
原来是Bugzilla::BugMail::MessageToMTA($msg);
已找到 'MessageToMTA(' 1 次。
----------------------------------------
查找 'MessageToMTA(' 于 'C:\Documents and Settings\benjamin\Desktop\bugzilla218\whineatnews.pl' :
C:\Documents and Settings\benjamin\Desktop\bugzilla218\whineatnews.pl(73):     Bugzilla::BugMail::MessageToMTA($msg,$substs{'email'});
原来是Bugzilla::BugMail::MessageToMTA($msg);
已找到 'MessageToMTA(' 1 次。
----------------------------------------
查找 'MessageToMTA(' 于 'C:\Documents and Settings\benjamin\Desktop\bugzilla218\Bugzilla\BugMail.pm' :
C:\Documents and Settings\benjamin\Desktop\bugzilla218\Bugzilla\BugMail.pm(853):     MessageToMTA($msg,$person);
原来是Bugzilla::BugMail::MessageToMTA($msg);
已找到 'MessageToMTA(' 1 次。
----------------------------------------
查找 'MessageToMTA(' 于 'C:\Documents and Settings\benjamin\Desktop\bugzilla218\Bugzilla\Flag.pm' :
C:\Documents and Settings\benjamin\Desktop\bugzilla218\Bugzilla\Flag.pm(623):     Bugzilla::BugMail::MessageToMTA($message,$flag->{'type'}->{'cc_list'});
原来是Bugzilla::BugMail::MessageToMTA($messsage);
已找到 'MessageToMTA(' 1 次。
----------------------------------------
查找 'MessageToMTA(' 于 'C:\Documents and Settings\benjamin\Desktop\bugzilla218\Bugzilla\Token.pm' :
C:\Documents and Settings\benjamin\Desktop\bugzilla218\Bugzilla\Token.pm(95):     Bugzilla::BugMail::MessageToMTA($message,$vars->{'emailaddress'});
C:\Documents and Settings\benjamin\Desktop\bugzilla218\Bugzilla\Token.pm(104):  Bugzilla::BugMail::MessageToMTA($message,$vars->{'emailaddress'});
C:\Documents and Settings\benjamin\Desktop\bugzilla218\Bugzilla\Token.pm(156):    Bugzilla::BugMail::MessageToMTA($message,$vars->{'emailaddress'});
C:\Documents and Settings\benjamin\Desktop\bugzilla218\Bugzilla\Token.pm(232):  Bugzilla::BugMail::MessageToMTA($message,$vars->{'emailaddress'});
原来是Bugzilla::BugMail::MessageToMTA($messsage);
已找到 'MessageToMTA(' 4 次。
搜索完成, 共找到 'MessageToMTA(' 12 次。 (9 个文件中。)

修改完这些,请将Bugmail.pm最后sub MessagesToMTA修改成如下,红色为增加的代码,绿色为屏蔽的原有代码:
sub MessageToMTA ($$) {
   my ($msg,$person) = (@_);
 
    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 = '';
 
 # 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-daemon@buzgilla.com');
 $smtp->to($person);
 $smtp->data();
 $smtp->datasend($msg);
 $smtp->dataend();
 $smtp->quit;
 }
}
修改之后可以大功告成了!
最后汉化:修改bugzilla为中文界面
 http://sourceforge.net/projects/bugzilla-cn/下载bugailla-2.18汉化版本,把解压后的cn目录copy到c:\bugzilla\template,然后修改c:\bugzilla\Bugzilla\template.pm文件,在76行增加my $languages = "cn"。在打开浏览器试试,是不是变成中文呢?呵呵


站内搜索
相关文章
◎开发和测试的两大难题:Regression Bug和Late Discovery&nbs...
◎目前比较流行的缺陷跟踪系统简介
◎所有的bug都修正了,下面该作什么?
◎软件测试缺陷报告中的屏幕截图处理
◎Bug跟踪管理工具JIRA 3.6.1 发布
◎Bug追踪过程中需要注意的问题
◎ClearQuest技巧集(二)
◎ClearQuest技巧集(一)
◎Bug管理的一般流程
◎缺陷、安全管理二位一体
◎软件缺陷的分类与管理
◎试论软件缺陷内部数据库的重要性
◎软件错误跟踪处理流程
◎ClearQuest体系结构分析
◎测试跟踪工具Bugzilla介绍
◎选择JIRA的10大理由
◎JIRA 系统安装与使用
◎软件问题报告怎么写
◎Bugzilla使用指南
◎软件缺陷的严重性和优先级
◎微软高级开发者管理峰会演讲摘要:产品质量的基石——微软Bug管理
◎软件缺陷管理
◎报告软件测试错误的规范
◎编写有效的bug report
热门文章
◎JIRA 系统安装与使用
◎测试跟踪工具Bugzilla介绍
◎Bugzilla使用指南
◎Bug管理的一般流程
◎选择JIRA的10大理由
◎目前比较流行的缺陷跟踪系统简介
◎软件缺陷管理
◎编写有效的bug report
◎测试缺陷分析务实篇
◎软件问题报告怎么写
◎BugZilla 安装心得,以及与Mantis的比较
◎软件缺陷的分类与管理
◎软件错误跟踪处理流程
◎软件测试缺陷报告中的屏幕截图处理
◎软件缺陷的严重性和优先级
◎报告软件测试错误的规范
◎ClearQuest体系结构分析
◎Bug跟踪管理工具JIRA 3.6.1 发布
◎Bug追踪过程中需要注意的问题
◎ClearQuest技巧集(一)
◎微软高级开发者管理峰会演讲摘要:产品质量的基石——微软Bug管理
◎所有的bug都修正了,下面该作什么?
◎测试报告编写指南
◎开发和测试的两大难题:Regression Bug和Late Discovery&nbs...
◎ClearQuest技巧集(二)
◎Bug追踪过程中需要注意的问题
◎试论软件缺陷内部数据库的重要性
◎测试跟踪工具Bugzilla介绍
◎如何编写更佳的bug report
◎缺陷、安全管理二位一体
◎利用bugzilla提交Bug写作指南
◎准确报告软件缺陷
◎为bug预防奠定基础
◎偶然性不可重现BUG怎么处理?

Google提供的广告