1 前言: Bugzilla是软件测试的利器,是一款的开源的Bug Tracking System;由于是专门为Unix定制开发的,因此要想在Windows平台下安装,需要费不少的劲;不晓得是什么原因,网上有关Bugzilla的安装讲解大多都是支离破碎的,再加上它本身是一种可以任意修改的Perl脚本程序,而且Bugzilla开发小组在代码维护和发布上也可能有点小问题;这些因素造成要想在Windows平台下搭建一个相对完整的Bugzilla系统,更是难上加难;不过,如果有一定的Perl语言知识的话,改动起来还是比较快的。 本文是针对在Windows的LAN环境下,安装和修改Bugzilla脚本的的经验介绍,一步一步的向您介绍如何配置和搭建Bugzilla的安装环境。下面是本文的另一些连接映射,欢迎各位看官讨论使用,共同进步。 葵花论坛:http://www.kuihua.net/bbs/dispbbs.asp?boardID=1&RootID=1035&ID=1035 微软培训:http://www.devmanclub.com/ShowPost.aspx?PostID=4130 CSDN专栏:http://www.csdn.net/Develop/read_article.asp?id=24088 另外,本文参考了微软培训论坛里的如下文章,本文应该是此文的改进版:),如有不妥,请留言或E-Mail联系我。同时,为了确保各位看官能够真正将Bugzilla用起来,将广大的人民群众从修改Perl脚本的苦海中解救出来,我还提供了一个已经排除了大量Bug的汉化版,但还是要做简单修改,主要是填写E-Mail地址和Mysql的安装路径;文章后还探讨了如何利用CVSNT系统,与Bugzilla开发小组同步升级,避免重复修改Bugzilla的升级版本;有关CVSNT系统请参考本人的相关文章。 参考文章:http://www.devmanclub.com/ShowPost.aspx?PostID=2584 CVS文章:http://www.csdn.net/Develop/read_article.asp?id=19756 下载连接:http://www.kuihua.net/soft/Bugzilla-2.17.6(Jackey).rar 后,祝愿各位看官用得开心,每天利用Bugzilla消灭无数的Bug,哈哈!! 2 安装Mysql与Mysqlclearcase/" target="_blank" >cc: 1. 本文使用的是新Mysql For Windows的4.0.17版本,没有出现问题,这是官方下载连接:http://www.mysql.com/get/Downloads/MySQL-4.0/mysql-4.0.17-win.zip 2. 安装时需要注意好不要改动Mysql的默认安装位置,否则,无法引导,需要改动一些设置。这里假-设你的安装位置为:D:mysql 3. 安装完毕后进入D:mysqlin,执行winmysqladmin.exe,如果出现绿灯,则说明你的Mysql系统正常启动了。 4. 下载Mysql Center Control版本,这是一个Mysql的管理器,可以直接修改数据库内容,非常方便。下载连接:http://ftp.tku.edu.tw/mysql/Downloads/MySQLCC/mysqlcc-0.9.3-win32.zip 5. 修改mysql的root用户密码: D:>cd mysql D:mysql>cd bin D:mysqlin>mysql -u root mysql mysql>UPDATE user SET Password=PASSWORD('') WHERE user='root'; mysql>FLUSH PRIVILEGES; 说明:其中为root用户的新密码。更改密码后,要用root用户访问mysql,必须使用mysql -u root -p,按提示敲入正确的root新密码。 6. 创建bugs用户,并赋给相应的权限: mysql>GRANT SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, CREATE, DROP, REFERENCES, LOCK TABLES, CREATE TEMPORARY TABLES ON bugs.* TO bugs@localhost IDENTIFIED BY ''; mysql> FLUSH PRIVILEGES; 说明:要记住bugs用户的密码,在下面的bugzilla配置文件要用。 7. 创建bugs数据库: mysql>create database bugs; mysql>exit 8. 这时可以打开mysqlcc.exe,用root用户登陆到本机的mysql数据库中,看看变化;注意:上面的数据库操作可以直接在mysqlcc中操作。 3 安装ActivePerl和相关Module: 1. 下载ActivePerl-5.6.1.633-MSWin32-x86.msi或以上版本。这里假设你的安装路径是:D:Perl 2. 修改PPM(Perl Package Manager)的下载地址,提高Perl安装其它模块时的下载速度。 打开D:PerlLibCPAN.pm,查找并更改$CPAN: defaultsite ||= "ftp://ftp.perl.org/pub/CPAN";为$CPAN: defaultsite ||= "http://cpan.shellhung.org"; 3. 由于有几个Perl Module无法直接安装,需要下载到本地通过nmake.exe和cl.exe编译并安装,因此,好装一个Visual C++ 6.0,这样才能完成特殊模块的安装。 4. Bugzilla需要多个Perl Module的支持,在它的帮助文档中有介绍,为了方便和简化各位看官的安装过程,本人写了一个简单的批处理文件,如果你下载了本人提供的修改包,解压后有一个PerlModule目录,里面有一个PerlModule.bat文件,直接运行可以了,但需要注意的是:有几个模块无法直接安装,仔细看提示,告诉了你如何安装这些特殊模块。这里新增加了Authen::SASL模块,用于发送邮件认证信息。此外,在本文的附录中列出了这个批处理的源代码,供各位看官改进和参考。 4 下载Bugzilla: 1. 首先说明:如果你已经下载了我提供的修改包,这部分可以直接跳过,修改包里已经改好了。 2. www.bugzilla.org上目前只有bugzilla-2.17.6.tar.gz下载,但是它的用户认证部分有问题,是BugzillaBugzillaAuthDB.pm这个文件,可以从Mozilla提供的CVS服务器上下载新的替换掉,Mozilla的CVS服务器如下:anonymous@cvs-mirror.mozilla.org:/cvsroot 3. 这里假设你的解压位置为:D:Bugzilla 4. 下载中文汉化版,可以到sourceforge.net下载,本人的修改包中使用的是新的bugailla-2.17.4-cn-0.92.tar.gz,由候光敏汉化,不过,好多地方都还是英文的,如果各位看官有兴趣的话可以自己跟自己的需要自己汉化,因为它都是一些有源代码的脚本。 5. 把下载的文件解压,将cn目录拷贝到D:Bugzilla emplate目录下。 5 配置IIS: 1. 打开【控制面板】->【管理工具】->【Internet 服务管理器】,在【默认 Web 站点】点按右键选择【属性】->【主目录】->【配置…】,在【应用程序映射】中点击【添加】,增加如下资料: 2. Perl脚本解析器:(*.pl) 可执行文件: D:Perlinperl.exe "%s" %s 扩展名: .pl 于: GET,HEAD,POST 3. CGI脚本解析器:(*.cgi) 可执行文件: D:Perlinperl.exe "%s" %s 扩展名: .cgi 于: GET,HEAD,POST 4. 默认 Web 站点】->【新建】->【虚拟目录】: 别名:Bugzilla,访问目录:D:Bugzilla,访问权限中增加【写入】权限。 5. 选择刚建立的虚拟目录Bugzilla,右键选择【属性】-> 【文档】。【默认文档】中增加index.cgi。 6 修改Perl脚本文件: 6.1 已经下载了本人提供的修改包的看官请看: 1. 打开D:Bugzilladefparams.pl文件,定位到文件尾部,做如下的信息修改: 2. 替换Bugzilla访问页面: 替换http://为你对外提供Bugzilla访问的地址,主要用于E-Mail通知。 例如:http://192.168.0.1/Bugzilla/ (后一个反斜杠一定要加,否则会出问题。) 3. 替换E-Mail的服务器地址: 找到,替换成你的邮箱的服务器地址,主要用于E-Mail通知。 例如:pop3.263.net 4. 替换E-Mail的发送者地址: 找到,替换成你的邮箱的地址,Bugzilla系统邮件通知的源地址。 例如:yoyo@263.net 5. 替换E-Mail发送者的邮箱密码: 找到,替换成你的邮箱密码,主要用于需要认证的邮件服务器。 例如:I am ladengJ 6. 打开D:Bugzillalocalconfig文件,做如下的信息修改: 7. 修改Mysql的安装路径: 找到 $mysqlpath= 替换成你的mysql安装路径,注意要用双斜杠。 例如:$mysqlpath = “D:\mysql\bin\mysql”; 8. 修改登陆Mysql系统的bugs用户的登陆密码: 找到 $db_pass= 替换成在安装Mysql时创建的bugs用户的登陆密码。 例如:$db_pass = "I am ladeng";