October 03, 2003
bugzilla学习
Bugzilla是一个bug追踪系统,用以管理bug提交、bug消除,不仅能降低同样错误的重复发生,提高开效率,而且有助于项目管理的难度。更有人打算用借助此系统,用前人的bug来教育新来的程序员,也是个不错的注意。
这使我想起一个调侃SYBASE创始人Kertzman的笑话,Kertzman年青时曾是民间歌手、电台主持和加油工,后来非常“喜欢编程”,为一个教育软件公司写了四年的程序。现在,SYBASE公司用Kertzman的代码来告诫新的程序员们,如果他们写出这样的代码,那么就会滚蛋。
闲话少说,来说一下Bugzilla的安装吧。
我是在Red Hat Linux 7.3上安装Bugzilla的,而且已经安装了mysql及相关的DBI。下面是安装过程,供参考。
0、下载
我用的是ftp://ftp.mozilla.org/pub/webtools/bugzilla-2.16.3.tar.gz,现在最新版本是2.17.*,据bugzilla自己的说,左起第一点后数是偶数表示是稳定版,奇数是开发版,我偷懒用的是稳定版。
1、在mysqld的启动中增加-O max_allowed_packet=1M
以使其支持高达1M的附件,默认是64K,很遗憾我的mysqld如果加上这个参数就不能启动。
2、安装所需要的perl模块
我在安装的过程中,还安装了其它一些需要的程序,lynx和gd.
$wget http://www.boutell.com/gd/http/gd-2.0.15.tar.gz
$tar zxvf gd-2.0.15.tar.gz;cd gd-2.0.15
$./configure;make;
#make install
安装perl模块(这对我而言确实是一种新的安装方法,我一直用perl Makefile.PL; make; make test; make install的)。
#perl -MCPAN -e 'install "GD"'
#perl -MCPAN -e 'install "Chart::Base"'
#perl -MCPAN -e 'install "AppConfig"'
3、建立mysql用户,用以管理bugs库
mysql>GRANT SELECT,INSERT,UPDATE,DELETE,INDEX, ALTER,CREATE,DROP,REFERENCES ON bugs.* TO bugs@localhost IDENTIFIED BY '你指定的密码';
mysql>FLUSH PRIVILEGES;
mysql>\q
数据库及相关的表在后面通过脚本自动创建。
4、建立或修改脚本解释器
两种方法,一种是:
$mkdir /usr/bonsaitools/bin
$ln -s /usr/local/bin/perl /usr/bonsaitools/bin/perl
两种方法,另一种是将所用的解释器进行替换:
's@#\!/usr/bonsaitools/bin/perl@#\!/usr/bin/perl@' *cgi *pl Bug.pm \
processmail syncshadowdb
说明:我服务器上的perl在/usr/local/bin目录下,/usr/bin下的perl是个link,所以第一种方法直接用的是/usr/local/bin/perl.
5、第一遍运行checksetup.pl
6、修改localconfig文件,主要是修改用户的密码
将其中的$db_pass = '你在建立mysql用户时指定的密码';
7、第二遍运行checksetup.pl
8、通过浏览里进行访问,并以管理员的身份login,
点击页面右下角的log in链接,然后根据提示输入email和密码。
登录成功后,点击页面右下角的parameters ,然后修改maintainer和urlbase等参数。OK!
9、如果想重新运行一遍安装过程,可以利用下面的命令将bugs库删掉,再从第5步开始。
10、汉化
令人高兴的是,侯光敏已经做了汉化,并在sourceforge上发布了。2.16版本的汉化是这样的。
tar zxvf bugzilla-2.16.1-cn-0.91.tar.gz
vi globals.pl
将INCLUDE_PATH => "template/en/custom:template/en/default" ,改为
INCLUDE_PATH => "template/cn/custom:template/cn/default" ,
还有一个问题就是图片显示的问题,我做了以一下处理:
cp ant.jpg ant1.jpg
此时,从浏览器中可以看到汉字和图片了。:)
对开发人员如何使用bugzilla,以后再写吧。