Bugzilla是一个Bug追踪系统,据说bugzilla的安装和配置比较麻烦,尤其是在windows系统下,昨天嘟嘟说她要用,让我帮她安装下再写个教程给她。
安装环境:
操作系统:windowsXP
perl解释器:ActivePerl-5.10.0.1004
数据库:MySQL
bugzilla:3.2
web server:Apache 2.0
下载地址:
Activeperl:。
Bugzilla:
Apache:
1、对于基本的运行环境如Apache、MySQL、perl推荐安装Apache 套件,这样一次安装就都有了,而且基本配置都做好了,如果想了解这些程序是怎么配合运行的,你可以选择单独安装,这里不再详述。
2、安装bugzilla
bugzilla并不需要安装,下载完后解压到本地某个目录下即可.
现在最新的版本是3.2,我装的就是这个版本.
3、解压后,在dos下执行checksetup.pl,看缺少哪几个perl module,具体命令如下:
H:\Perl\bin>perl I:\Site\bugzilla\site\checksetup.pl
可以看出,我的perl 和bugzilla都放在C盘根目录下,执行后,发现有很多模块需要安装:
Checking perl modules...
Checking for CGI (v2.93) ok: found v3.29
Checking for TimeDate (v2.21) not found
Checking for PathTools (v0.84) ok: found v3.25
Checking for DBI (v1.41) ok: found v1.58
Checking for Template-Toolkit (v2.15) not found
Checking for Email-Send (v2.16) not found
Checking for Email-MIME-Modifier (any) not found
Checking available perl DBD modules...
Checking for DBD-Pg (v1.45) not found
Checking for DBD-mysql (v4.00) not found
Checking for DBD-Oracle (v1.19) not found
The following Perl modules are optional:
Checking for GD (v1.20) not found
Checking for Chart (v1.0) not found
Checking for Template-GD (any) not found
Checking for GDTextUtil (any) not found
Checking for GDGraph (any) not found
Checking for XML-Twig (any) not found
Checking for MIME-tools (v5.406) not found
Checking for libwww-perl (any) ok: found v2.036
Checking for PatchReader (v0.9.4) not found
Checking for PerlMagick (any) not found
Checking for perl-ldap (any) not found
Checking for RadiusPerl (any) not found
Checking for SOAP-Lite (any) ok: found v0.55
Checking for HTML-Parser (v3.40) ok: found v3.56
Checking for HTML-Scrubber (any) not found
Checking for Email-MIME-Attachment-Stripper (any) not found
Checking for Email-Reply (any) not found
Checking for mod_perl (v1.999022) not found
Checking for CGI (v3.11) ok: found v3.29
上 面是执行的一部分结果,可以看到必须安装的模块有7个,其中CGI,DBI,PATHTOOL三个已经安装;可选的安装有三个,就是数据库的三个,根据选 择数据库的不同,分别安装.因为我用的是mysql,所以一会就选择dbd-mysql进行安装;还有后面的一堆是可装可不装的,到时等需要用时再安装不迟.
接下来,我们就来安装这些模块.
4、安装perl modules
可以通过activeperl的PPM进行模块的安装.
打 开 开始->程序->activeperl 5.8.8 bulid822->perl package manager(PPM),我们在PPM中查找需要安装的模块,选中它,点右键,点"install ~~",然后点击窗口第二栏的绿色箭头图标,也可以使用快捷键ctrl+enter,弹出一个对话框,点确定即可.
TimeDate (v2.21)的安装
TimeDate比较奇怪,在PPM上找到的TimeDate版本是1.16,但是直接在ppm上安装完了后,执行checksetup.pl,发现TimeDate安装成功,并且版本升级到了2.22,后来也没发现问题及原因.
DBD-mysql (v4.00)的安装
我在PPM里面没有搜索到该模块,只好在dos下输入以下语句:
H:\Perl\bin>ppm install
回车,PPM自动从上下载最新的DBD-mysql.ppd进行安装。
其实Email-Send (v2.16)等模块也可以通过这样安装。
这样五个必须安装的module都已经安装完毕,
5、重新执行checksetup.pl.
在bugzilla目录下生成localconfig文件.修改localconfig:
将$db_host改成mysql server端的服务器,我装在本机,所以不用修改;
将$db_name = 'bugs';改成$db_name = 'bugzilla'; ----bugzilla是我新建的BUG数据库的名称;
$db_user = 'bugs';改成$db_user = 'bug'; ----bug是我登录bugzilla数据库的用户名;
$db_pass = '';改成$db_pass = 'bug'; ----bug是我登录bugzilla数据库的用户bug的密码;
$db_port = 0;改成$db_port = 3306; ----mysql安装默认端口是3306;
修改完成后,保存.
6、再次重新执行checksetup.pl.
在dos窗口中可以看到在往数据库中创建相应的表结构.表结构创建完后,提示要求输入管理帐号的邮件,real name和密码,输入后,继续执行,直到提示"Now that you have installed Bugzilla......".安装完成。
7、接下来我们要将bugzilla部署到Apache上,以便于项目成员可以通过浏览器进行访问.
修改安装好的apache配置文件httpd.conf
1)、修改侦听端口
Listen 80
2)、修改主目录配置
(这里不推荐使用,推荐建立单独的bugzilla虚拟目录进行配置,如3、)
若要直接通过访问,则修改主目录
修改DocumentRoot参数,默认情况下该参数是指向apache的安装目录下的htdos文件夹,修改该参数为bugzilla的安装路径下。同时要记得修改下面的参数
配置CGI访问,需要把下面这一句前面的#给去掉
AddHandler cgi-script .cgi
修改Options Indexes FollowSymLinks 为 Options Indexes FollowSymLinks ExecCGI
修改AllowOverride None为AllowOverride All
在AllowOverride All下一行添加ScriptInterpreterSource Registry-Strict
修改apache的缺省访问文件:在DirectoryIndex index.html index.html.var后面添加一个index.cgi
3)、建立单独的apache的虚拟目录
在bugzilla到目录下创建一个配置文件bugzilla.conf
输入以下内容:
Alias /bugzilla/ "I:/Site/bugzilla/site/"
Alias /bugzilla "I:/Site/bugzilla/site"
Options ExecCGI All
AllowOverride All
ScriptInterpreterSource Registry-Strict
order allow,deny
Allow from all
然后修改httpd.conf,在最后添加一句话:
Include "I:/Site/bugzilla/conf/bugzilla.conf"用于包含该配置文件。
Httpd.conf中的配置CGI访问,同样需要把下面这一句前面的#给去掉
AddHandler cgi-script .cgi
同时修改apache的缺省访问文件:在DirectoryIndex index.html index.html.var后面添加一个index.cgi。
4) 、修改注册表,新建项HKEY_CLASSES_ROOT\.cgi\Shell\ExecCGI\Command修改默认值为%perl的安装路径%\bin\perl.exe –T。
这里还有一个笨方法:将所有的bugzilla目录下的*.cgi文件的头部的#!/usr/bin/perl –wT修改为:#!c:\perl\bin\perl –wT,就是指定了perl的安装路径。
5)、重启apache
8、配置完成,输入
bugzilla 就可以看到bugzilla的主页面了