最近项目需要一个bug管理系统,到网上查了一下,本来准备随便找一个轻量级的缺陷跟踪系统来用用就可以了,但后来想想,这种系统其实在整个软件生命管理周期都起到了很重要的作用,还是需要一个专业级的工具,抱着“bugzilla,名厂名牌,用它,准没错”的心态,把它给看上了。
都说bugzilla的安装和配置比较麻烦,尤其是在windows系统下,由于我也是第一次安装,经常出点小问题,比如mysql的命令后面需要一个分号,该用反斜杠用成了正斜杠等。耗费了半天才把bugzilla装起。现在回想起来,其实也并不是那么麻烦。在这里总结一下安装经验。
安装环境:
操作系统:winxp sp2
perl解释器:ActivePerl(5.8.8.820)
数据库:MySQL
bugzilla 3.0
web server:Apache 2.0.49
一:安装activeperl
activeperl的下载和安装比较简单,这里不再赘述。我安装的是ActivePerl-5.8.8.820-MSWin32-x86-274739.msi,下载地址:
http://downloads.activestate.com/ActivePerl/Windows/5.8/ActivePerl-5.8.8.820-MSWin32-x86-274739.msi
二:安装mysql
我用的是5.1.18 beta 版下载地址 http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.18-beta-win32.zip/from/ftp://ftp.easynet.be/mysql/同样,安装也应该没什么问题,在安装的过程中,一定要记住root密码。
安装好mysql后,要进行一些配置:
安装完成后,应该有一个MySQL Command Line Client,打开该程序,会提示并输入root密码,如果不用该控制台,也可以通过自己打开控制台,进入到mysql的bin目录,用mysql -u root -p进入mysql的配置管理
首先创建bugs数据库:
mysql>create database bugs; (注意,末尾有个分号)
创建bugs用户,并授权
mysql>GRANT SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, CREATE, DROP, REFERENCES, LOCK TABLES, CREATE TEMPORARY TABLES ON bugs.* TO bugs@localhost IDENTIFIED BY 'bugs';
修改bugs用户的密码:
mysql>set password for 'bugs'@'localhost' = OLD_PASSWORD('bugspassword');
最后刷新一下
mysql> FLUSH PRIVILEGES;
检查bugs用户是否创建成功:
mysql> quit
mysql> mysql -u bugs -p
Enter password:bugs
三:安装bugzilla
下载解压后,打开控制台,进入到bugzilla目录下
首先说一下checksetup.pl这个文件,bugzilla的安装和配置可以说全靠它,通常来说,要运行3次perl checksetup.pl,第一次运行,所有模块都未安装,把内容复制到一个记事本上,以便后面安装模块的时候查看。
安装这些模块有2种方式,离线安装和在线安装,我采用的是在线安装,如果需要离线安装,首先要到bugzilla的网站上去下载一个包,好像叫做bugzilla-boud
>perl checksetup.pl
根据checksetup的提示,windows用户需要首先运行
ppm repo add theory58S http://theoryx5.uwinnipeg.ca/ppms
根据提示一步一步安装perl模块,比如
>ppm install Email-Send
安装完所有的模块后,再次运行perl checksetup.pl,如果主要的模块都正确安装,会在bugzilla的目录下生成一个localconfig文件修改该文件,主要是以下几个配置:
$db_host = 'localhost';
$db_name = 'bugs';
$db_user = 'bugs';
$db_pass = 'bugs';
最后,再次运行perl checksetup.pl,会看到一些创建表的信息,并且中途会提示你输入管理员的相关信息。
四:安装配置apache
apache的几乎所有的配置都在安装目录下conf文件夹下的httpd.conf文件中。打开该文件做以下几个修改:
1 确定监听端口未被占用,默认为80端口,如果被其他web服务器占用,则修改该端口号
Listen 80
2 修改主目录配置
若要直接通过http://localhost/访问,则修改主目录
修改DocumentRoot参数,默认情况下该参数是指向apache的安装目录下的htdos文件夹,修改该参数为bugzilla的安装路径下。同时要记得修改下面的<Directory>参数
配置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 修改注册表,新建项HKEY_CLASSES_ROOT/.cgi/Shell/ExecCGI/Command修改默认值为%perl的安装路径%/bin/perl.exe -T
重启apache
配置完成,输入
http://localhost/ 就可以看到bugzilla的主页面了
ps. 也可以单独建立apache的虚拟目录:
找到Alias,默认情况下apache有一个虚拟目录,如Alias /icons/ "D:/Program Files/Apache Group/Apache2/icons/"
在下面添加bugzilla的虚拟目录:Alias /bugzilla/ "F:/Software/etc/bugzilla-3.0/bugzilla-3.0/"
紧接着下一行添加虚拟目录权限:
Alias /bugzilla "F:/Software/etc/bugzilla-3.0/bugzilla-3.0/"
<Directory "F:/Software/etc/bugzilla-3.0/bugzilla-3.0">
Options ExecCGI All
AllowOverride All
ScriptInterpreterSource Registry-Strict
Order allow,deny
Allow from all
</Directory>