七月 7, 2011

BugZilla在Windows下的安装与配置(win7+apache+myql+php)

Written by

Apache下配置CGI并配置bugzilla(win7+apache+myql+php)

 

1.安装Apache并配置CGI环境

去Apache网站上下载 2.0.52版本的Apache。直接默认安装到C:\Program Files\Apache Group\Apache2目录下。一切采用默认配置,无需太复杂说明。(如果你安装了其他Web服务器,如IIS、WPS等,占用了80端口的话,你可以在Apache安装的时候,选择使用其他端口,如8080等。或者把IIS的所有Web站点停止也是一个好办法)
安装完成之后,需要对C:\Program Files\Apache Group\Apache2\conf\httpd.conf文件进行编辑。
1.1
如果端口需要修改,可能需要修改该文件中的
Listen 80——> Listen 8080
1.2
修改DocumentRoot参数的路径到C:/Bugzilla,注意,不能写成C:\Bugzilla,而且,同时需要修改DocumentRoot参数行下面的第一个<Directory>的参数,如下所示:
DocumentRoot “C:/Bugzilla”
<Directory “C:/Bugzilla”>
1.3
配置CGI访问,需要把下面这一句前面的#给去掉
AddHandler cgi-script .cgi
1.4
修改Options Indexes FollowSymLinks 参数行
Options Indexes FollowSymLinks ——> Options Indexes FollowSymLinks ExecCGI
同时修改紧随其后的AllowOverride None为AllowOverride All,并且在这一行之后添加一行如下内容,用来告诉Apache,将使用perl来执行.cgi程序文件。
ScriptInterpreterSource Registry-Strict
1.5
为Apache启动的默认文件添加一个index.cgi。如下修改
DirectoryIndex index.html index.html.var——>DirectoryIndex index.html index.html.var index.cgi
1.6
在window的运行中,输入regedit,打开注册表,在HKEY_CLASSES_ROOT下面新建项.cgi,在.cgi下面新建项Shell,在Shell下面新建项ExecCGI,在ExecCGI下面新建Command项,然后修改Command项的默认值为C:\Perl\bin\perl.exe -T
重启Apache就可以了。(可以直接在cmd窗口下输net stop Apache2或者net start Apache2来停止和重启Apache服务,也可以打开管理工具中的服务来停止和启动Apache)

2.配置Bugzilla

打开cmd窗口,进入Bugzilla安装目录
cd Bugzilla
perl checksetup.pl
说明一下,这里需要执行两次perl checksetup.pl,第一次执行的时候,主要是检查Bugzilla需要的Perl的Modules是否正确安装,如果没有问题,则会在c:\Bugzilla目录下生成一个localconfig文件,这个文件用来配置本地的一些信息,以便checksetup.pl程序能够生成Bugzilla需要的数据库内容。
如果第一次执行后没有问题,我们需要编辑localconfig文件的内容。
$cvsbin = “c:/bugzilla/win32/cvs.exe”;
$interdiffbin = “c:/bugzilla/win32/interdiff.exe”;
$diffpath = “c:/bugzilla/win32”;

$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
$db_pass = ”; # 诚如我先前所说,这个地方,我第一次执行perl checksetup.pl没有问题,但是第二次执行的时候,一直提示DBI不能访问mysql数据库的问题。我也试着修改checksetup.pl文件,可是没有用。修改db_name和db_user等信息都没有用,最后无意中把数据库用户bugs的密码设置为空就通过了,再把root的密码改为空,用root帐号测试也通过了,到现在都还不知道具体的原因。见鬼!

修改完成之后,我们再次执行perl checksetup.pl,希望你不要象我一样,碰到这种奇怪的问题。OK,如果你看到一堆的Creating table XXXX … 直到要求你需要输入管理员的邮箱,管理员的真实姓名,管理员的密码都没有出错,那么,恭喜你!

3 .测试一下

到了这一步,基本上来说,是可以通过http://localhost进行Bugzilla系统的访问了。如果没有出现预期的首页界面,可以到C:\Program Files\Apache Group\Apache2\logs下查看一下error.log文件记录。我在测试过程中,也碰到不能出现首页面的问题。然后没有办法,根据错误信息到google上去搜索,才发现有很多介绍Bugzilla在Windows下安装的文章。(黎叔的语气:唉,大意了,大意了!)不过后来还是坚持把这些内容写下来,主要是因为我用的软件版本基本上都是最新的,而且,Bugzilla 2.18增强了图表功能,升级的人还是有吧,嘿嘿。

我碰到的第一个问题,就是所有的.cgi文件的第一行“#!/usr/bin/perl -wT”造成的问题,我按照晚上有人的提示,说修改为#!c:/perl/bin/perl.exe -wT就可以了,真的就可以了,然后发现基本上所有的.cgi文件都要修改,非常麻烦。但是,按照bugzilla的帮助文档的说法,我设置了windows的注册表和增加了ScriptInterpreterSource Registry-Strict这一句,应该就没有问题了,但是为什么还是有问题呢?(我也不知道,不要问我!但是我晚上回到家里,用家里的计算机配置出来的就没有这个问题,不需要进行修改,又见鬼了!)

4.汉化

http://sourceforge.net/projects/bugzilla-cn下载Bugzilla_cn 0.9版本,然后把压缩文件中的.css文件解压到c:\bugzilla\css目录中覆盖,把压缩文件中的cn目录解压到C:\bugzilla\template。

我以为可以了,进入http://localhost去看,还是没有改变,看来我还是有点单纯。又去google了一把,发现了一个方法,就是修改C:\bugzilla\Bugzilla下的Template.pm文件,把其中的my $languages = trim(Param(‘languages’))这一行注释掉,然后修增加一行 my $languages = “cn”; 保存后,无需重启apache,重新进入http://localhost,出现一堆乱码,改一下IE的编码为GB2312就可以了。

注意,有人说,可以修改c:\bugzilla下面的globals.pl文件中的信息,结果我找了半天没有找到,估计新版本的Bugzilla已经不在该文件中设置了。另外一个方法,直接进入http://localhost/editparams.cgi页面,设置languages和defaultlanguage两个输入框内容为cn,保存,重新登陆就可以了。设置结束后,发现每个页面进入都是乱码,都需要在IE浏览器中修改编码为GB2312才能正常显示,无所谓,这是Apache的设置问题,再次打开C:\Program Files\Apache Group\Apache2\conf\httpd.conf文件,找到AddDefaultCharset的行,这里默认是ISO-8859-1,修改为GB2312,重启Apache服务,一切搞定。

摘至阿水博客:http://hi.baidu.com/ashuy

Category : Linux/UnixWeb开发Window$

Tags :

发表评论

电子邮件地址不会被公开。

Proudly powered by WordPress and Sweet Tech Theme