- 安装XAMPP
- XAMPP是一个集成软件包,我们用它可以一次性安装好MySQL、Perl、Apache
- 将Perl 、MySQL命令添加到PATH环境变量(即C:\xampp\perl\bin;C:\xampp\mysql\bin;)
- 可通过perl -v和mysql -v命令查看是否设置成功
- 安装Bugzilla
- 下载Bugzilla-3.4.4:http://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla3.4.4.tar.gz
- 将解压后的Bugzilla目录拷贝到C:\xampp\htdocs中
- 在cmd中定位到Bugzilla目录,输入perl checksetup.pl
- 执行checksetup后,可能显示如下信息,列出未安装的perl模块:
COMMANDS TO INSTALL OPTIONAL MODULES:
Template-GD: ppm install Template-GD
PatchReader: ppm install PatchReader
PerlMagick: ppm install PerlMagick
perl-ldap: ppm install perl-ldap
RadiusPerl: ppm install RadiusPerl
HTML-Scrubber: ppm install HTML-Scrubber
Email-MIME-Attachment-Stripper: ppm install Email-MIME-Attachment-Stripper
TheSchwartz: ppm install TheSchwartz
Daemon-Generic: ppm install Daemon-Generic
COMMANDS TO INSTALL REQUIRED MODULES (You *must* run all these commands
and then re-run checksetup.pl):
ppm install DateTime
ppm install DateTime-TimeZone
ppm install Template-Toolkit
ppm install Email-MIME-Encodings
Template-GD: ppm install Template-GD
PatchReader: ppm install PatchReader
PerlMagick: ppm install PerlMagick
perl-ldap: ppm install perl-ldap
RadiusPerl: ppm install RadiusPerl
HTML-Scrubber: ppm install HTML-Scrubber
Email-MIME-Attachment-Stripper: ppm install Email-MIME-Attachment-Stripper
TheSchwartz: ppm install TheSchwartz
Daemon-Generic: ppm install Daemon-Generic
COMMANDS TO INSTALL REQUIRED MODULES (You *must* run all these commands
and then re-run checksetup.pl):
ppm install DateTime
ppm install DateTime-TimeZone
ppm install Template-Toolkit
ppm install Email-MIME-Encodings
【问题一】输入perl checksetup.pl后,控制台窗口一闪而过,但也没有显示是否缺少未安装的PPM。
【问题二】输入perl checksetup.pl后,控制台显示No language defines the string 'header' at Bugzilla/Install/Util.pm。
问题一,是在Bugzilla 4.0.2中发现的;问题二,则是在Bugzilla 4.0中发现的,可能是Bugzilla版本和Perl版本不兼容。后来改换成5.10.1的Perl,3.4.4的Bugzilla,这两个问题都解决了。
【问题三】输入perl checksetup.pl后,弹出错误窗口:This Application has failed to start because libapr-1.dll was not found.
【问题三】输入perl checksetup.pl后,弹出错误窗口:This Application has failed to start because libapr-1.dll was not found.
去网上下载libapr-1.dll文件,置于C:\Windows下,即可解决。
随后又弹出错误,找不到libaprutil-1.dll和libapriconv-1.dll文件,均用上述方法解决。
- 下载Perl模块
- 可以下载Bugzilla所依赖的所有perl模块(http://download.csdn.net/source/1981169 ),然后找到未安装模块的ppd文件,执行ppm install XXXXXX.ppd命令(当然,你也可以直接运行perl install_ppms.pl文件进行安装)
- 确认Perl模块已全部安装,生成配置文件
- 可通过ppm query查看已安装的perl模块
- 再次执行checksetup.pl,让其自动生成localconfig文件
- 打开localconfig文件,确认mysql相关信息(用$db查找)
- 创建Bugzilla数据库
- 如果你没有改localconfig中的数据库名,就在mysql中通过create database bugs;创建数据库
- 再次执行checksetup.pl,在bugs数据库中生成表
此时,Bugzilla的安装已完成,接下来还需要在Apache中进行配置。
- 打开xampp/apache/conf/httpd.conf,在末尾添加如下内容:
Alias /bugzilla "C:\xampp\htdocs\bugzilla-3.4.4"
<Directory "C:\xampp\htdocs\bugzilla-3.4.4 ">
Options ExecCGI All
AllowOverride None
ScriptInterpreterSource Registry-Strict
Order allow,deny
Allow from all
</Directory>
<Directory "C:\xampp\htdocs\bugzilla-3.4.4 ">
Options ExecCGI All
AllowOverride None
ScriptInterpreterSource Registry-Strict
Order allow,deny
Allow from all
</Directory>
如果你注意到Bugzilla目录中的内容,就会发现大部分文件都是.cgi的后缀名。打开某一个.cgi文件(index.cgi),第一行是"#! /usr/bin/perl”。
这是因为该文件是perl语言写的,而 /usr/bin/perl路径是perl在linux下的路径,所以如果我们是在Windows下部署Bugzilla,就需要将.cgi文件中的#! /usr/bin/perl替换成我们当前perl的路径,如:#!C:/xampp/perl/bin/perl.exe
当然,我们可以通过修改注册表的方式实现――打开注册表编辑器,在HKEY_CLASSES_ROOT下新建.cgi项,在.cgi下新建Shell项,在Shell下新建ExecCGI项,在ExecCGI下新建Command项。修改Command的默认值为:C:/xampp/perl/bin/perl.exe
至此,部署工作已全部完成,可通过http://localhost/bugzilla/访问。