一. 说明
本讲解是在Windows2003 sp1操作系统下进行Bugzillal环境的搭建,其他操作系统和各使用软件间的版本兼容没有进行测试,如遇到问题可以大家共同讨论学习。
二. 操作系统及使用软件
Windows 2003 中文企业版 +sp1
ActivePerl-5.8.8.817-MSWin32-x86-257965.msi
Mysql 4.1.19
Bugzilla-2.20.2
这里用到的软件在同目录software文件夹下
三. 正式开始搭建环境
推荐更改以下所有软件的默认安装路径,不要放在系统盘。此处我将安装主目录设在 D盘下,本文下面的路径均为此路径,自行安装更改为其他路径后请配置时也作相应修改。
还要说一下,在win下搭建bugzilla确实太难了,因为本来就不是为工作在win下而设计的,bugzilla也是在最近几个版本才加强了对win的支持。
3.1 安装IIS
我们这里是使用IIS发布bugzilla,Win2003默认不安装iis,所以我们需要首先在Win组件中安装,这个比较简单我就不详细说了。
控制面板-〉添加删除程序—〉添加删除win组件-〉应用程序服务器-〉IIS。勾选上点击下一步即可。
3.2 安装ActivePerl
我这里安装的是ActivePerl-5.8.8.817-MSWin32-x86-257965.msi。修改安装路径为:D:usr(根据国际习惯,也可以自己修改)。
3.3 安装mysql数据库
这个比较简单,双击安装程序,选择Custom安装,最好更改安装路径。之后就是安装。
安装过程中会让你注册帐号,我选择跳过。安装完成后选择配置mysql
选择standard configuration即可,如果想更为详细的配置可以选择detail,这里我们就不详细讲了。
点击next进入安装数据库服务配置,制定服务的名字,是否以后可以通过命令行操作mysql,我们都勾选安装
再点击next进入帐户设置,必须为root用户设置一个密码,建议使用比较强壮的密码。
next后就可以点击execute来执行刚才你所做的设置了。
mysql安装全部完成。
3.4 Mysql的配置:
打开mysql的command line client
输入之前设置好的root密码,创建数据库bugs,用户bugs,密码为空。并赋予这个用户一定的权限。(因为bugzilla配置文件中默认是数据库bugs,用户bugs,密码为空,所以我们在这里设置好后往下进行就会较方便了。)
创建数据库:
mysql>create database bugs;
创建用户并赋予权限:
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,INDEX, ALTER,CREATE,DROP,REFERENCES,LOCK TABLES,CREATE TEMPORARY TABLES ON bugs.* TObugs@localhostIDENTIFIED BY '';
刷新一下:
mysql> FLUSH PRIVILEGES;
mysql的设置就完成了。
3.5 安装bugzilla
将bugzilla 2.20.1文件夹所有文件全部拷贝到D:ugzilla下。在 开始-〉程序-〉运行 中输入CMD,进入D:ugzilla目录下,运行 perl checksetup.pl 检查bugzilla安装所需模块是否都已找到,默认情况下是需要安装许多模块的,不用着急,这里我已经把所需模块都放到software文件夹下了:bugzilla-bundle.zip。解压缩这个zip包,放到D盘下,打开CMD,定位到这里,运行ppm,在ppm>下依次输入并回车:
install AppConfig.ppd install DBI.ppd install GD.ppd install GDTextUtil.ppd install MailTools.ppd install PatchReader.ppd install Template-Toolkit.ppd install TimeDate.ppd install Chart.ppd install DBD-mysql.ppd install GDGraph.ppd install MIME-tools.ppd |
即可安装完所有模块(中间可能某一个模块会提示安装失败,这时请安装完其他模块后再重新安装失败的模块) 。
再从命令行到D:ugzilla下运行 perl checksetup.pl,检查是否需要的模块都已经安装并找到了。是的话则会在目录下生成一个localconfig文件,这个文件是bugzilla运行时的配置文件。打开这个文件我们只需看一下用户名和密码那块是否和我们在mysql中设置的一样即可。
再次运行 perl checksetup.pl 会生成bugzilla需要的模版和数据库中的表。
输入exchange服务器(这个不要输入错误,因为bugzilla以后很多的操作都是需要发送邮件的,比如新建一个account后初始密码是发送到你的邮箱里的)。接着会让你输入管理员的邮箱地址,名字,密码
确认输入后即完成bugzilla的安装了。
再次输入perl checksetup.pl 确认数据库已经连接正常。修改D:ugzilla目录下所有cgi文件,去掉第一行的最后一个字符T。可以使用UE中“在多文件里替换”功能。
3.6 配置IIS发布bugzilla
打开IIS管理器,在默认网站下新建一个虚拟目录 ,名称为bugzilla(怎样发布你可以根据自己的需要来设置,这里我就先说我是怎样设置的,大概原理都一样),勾选虚拟目录的权限为“写入”(这个比较重要,不然后面的汉化无法设置),路径定位到D:ugzilla
在iis上右键选择“默认网站”-〉“属性”,点击“主目录”下面的“配置”,“添加”对cgi扩展名的解析
在“文档”中添加默认主页:index.cgi,并移到上面。
在web服务扩展中开启对perl的支持
好了,打开IE,在地址栏中输入http://127.0.0.1/bugzilla(因为我是设置为默认网站下的一个虚拟目录,所以要多加一个/bugzilla)察看一下吧,应该出现bugzilla的主页了吧
汉化比较简单,将汉化包(建议使用UTF8的那个)解压缩到bugzilla emplate下,文件夹更名为cn(里面默认有一个en,解压缩后注意查看一下结构是否一样),使用管理员账户登录bugzilla,点击 Parameters(系统参数设置)链接,将 languages 一项的值改为 cn,保存即可,回过头来看看你的bugzilla变成中文了吧。如果考虑到安全问题,我们可以在把IIS中的“写入”权限去掉。
如果服务器是在域中,则还需要在IIS的属性-〉目录安全性-〉身份验证和访问控制 中勾选“集成Windows身份验证”,这样管理员在bugzilla中所作的修改才能生效。
3.7 注意事项:
在将bugzilla汉化完成后还需作一些调整:
<Buzilla安装目录> emplatecndefaultlist able.html.tmpl。
将其中的 "bug_status" => { maxlength => 4 } , 改为 "bug_status" => { maxlength => 16 } ; "resolution" => { maxlength => 4 } 改为"resolution" => { maxlength => 16 } , 即将这两栏的长度由4改为16。存盘退出
为保证向后兼容,按照Bugzilla官方的建议,2.20版Bugzilla的汉化文件全部存为 UTF-8 格式。将 <Bugzilla安装目录>BugzillaCGI.pm 的第55行改为 $self->charset('UTF-8')
打开 系统设置(Parameters), 找到 newchangedmail:一项, 将该项下文本框里面的 Subject: [Bug %bugid%] %summary% 改为 Subject: [Bug %bugid%] 吧, 或改为 Subject: Attention [Bug %bugid%] ---总之避开 %summary% 这个变量里面的汉字
四. 总结:
Bugzilla的测试环境搭建与安装全部讲述完毕,由于时间原因我没有对不同版本间的兼容性作试验,且这几种开源软件不同版本可能会有较大的变化,所以如果使用不同环境搭建时遇到问题,就只能大家一块来讨论解决了。