部署Bugzilla小结

2011-08-18  籽藤 

  Bugzilla是基于perl模块进行开发的,所以Bugzilla部署的关键,在于安装所需的perl模块。如果完全对Perl不了解,可能会觉得比较麻烦。
  • 安装XAMPP
    • XAMPP是一个集成软件包,我们用它可以一次性安装好MySQL、Perl、Apache
    • 将Perl 、MySQL命令添加到PATH环境变量(即C:\xampp\perl\bin;C:\xampp\mysql\bin;)
    • 可通过perl -v和mysql -v命令查看是否设置成功
  • 安装Bugzilla
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
【问题一】输入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.
去网上下载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>
      如果你注意到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/访问。



418°/4189 人阅读/0 条评论 发表评论

登录 后发表评论