bugzilla是一个可以发布bug以及跟踪报告bug进展情况的开源软件,有关的官方文档可以查看:http://www.bugzilla.org/docs/
本人是在RH9上安装配置成功bugzilla-2.18rc3的,事先也成功安装配置过2.16.7,后来发现在2.18中加入了图表的功能,觉得蛮有意思的,所以升级了一下。在安装前先确定自己机器上一些软件版本的情况:perl(5.6 or above)、mysql(3.23.41 or above)、sendmail(8.7 or above),在http://www.bugzilla.org/download/下载2.18rc3,并在本地解压
#cd /usr/local
#tar -zxvf bugzilla-2.18rc3.tar.gz
#cd bugzilla
#./checksetup.pl-------检查安装需要的perl模块
如果缺少相应的perl模块,有两个办法可以解决:
1.perl -MCAN -e 'install "Bundle::Bugzilla"'------选择CPAN主机站点下载安装缺少的perl模块,当完成时进入~/.CPAN/build查看INSTALL.html了解安装情况,这个命令一般会安装bugzilla必须的模块,要安装其他的option模块的话,可以到perl -MCPAN -e shell里面,打入install xxx模块即可。
2.直接到http://www/cpan.org/modules/,下载相应的模块下来,解压后一个个安装,比如CGI模块
#cd CGI
#perl Makefile.PL
#make
#make test
#make install
所有模块都可按此法安装,在安装一些模块如Template Toolkit时会有一些信息要求确认,按照默认一路回车即可
注:我是比较倾向于第二种方法,一个比较灵活,可以去下载安装不同版本的模块,另一个又不依赖于网络状况,我第一次安装的时候按第一种方法,结果等了老半天还没下载完一个模块,后来才知道CPAN的网站那天关闭,晕~。不过我后来在选择ftp站点时选了2以后,下载的速度很快,所以如果要用方法一来安装模块请大陆的同志务必要选2。这里还有一点要提醒,有时在运行checksetup.pl后显示的信息里会只有found而没有OK,这表示当前模块的版本太低,需要下载更高版本的安装
接着做个perl的链接# ln -s /usr/bin/perl /usr/bonsaitools/bin/perl
安装完需要的perl模块后可谓完成了一半,接下来设置mysql
#mysql -u root -pyourpasswd
mysql>;create database bugs;
mysql>; GRANT SELECT, INSERT,UPDATE, DELETE, INDEX, ALTER, CREATE, LOCK TABLES,CREATE TEMPORARY TABLES, DROP, REFERENCES ON bugs.* TO bugs@localhost IDENTIFIED BY '$db_pass';
mysql>; FLUSH PRIVILEGES;
mysql>;quit
-----------上面黑体的字段只有你的mysql版本在4.0以上才需要,这里的bugs、bugs@localhost和$db_pass分别表示为bugzilla建立的数据库名、bugzilla的数据库用户和密码,请设置好后用笔记下来,马上会需要 :wink:
然后进入刚才的bugzilla目录,修改localconfig文件,修改其中的:
$db_host = "localhost";
$db_name = "bugs";
$db_user = "bugs";
$db_pass = "xxxx";-------是刚才你建立数据库时用到的
好了以后,再次运行checksetup.pl,此处会按要求创建数据库以及其中的tables,并要求你输入administrator的email、realname和password,后设置一下bugzilla目录的权限
#chown -R apache.apache bugzilla
好了任务完成得差不多了,接着是apache和sendmail的设定了
apache的设置:
在 /var/www 下链接 bugzilla
# ln -s /usr/local/bugzilla-xxx /var/www/bugzilla
设置 apache
找到 httpd.conf 文件先
在其中查找:
AddHandler cgi-scrīpt .cgi 把注释去掉.
查找:
AddDefaultCharset 把 ISO-8859-1 改成 GB2312
增加:
Alias /bugzilla/ "/var/www/bugzilla/"
<Directory "/var/www/bugzilla/">;
Options ExecCGI
AllowOverride Limit
</Directory>;
好了以后开启apache服务
sendmail的设置:
默认RH安装的sendmail已经可以工作了,只要开启服务行了,因为我的机子是在内网的,只负责发生邮件即可,但是我后来发现在测试bugzilla的时候会有个奇怪的现象发生:当我新建一个用户的email是hotmail的时候,邮件可以收到,而如果是其他的email地址的话邮件发送失败,后来看到hotmail中收到邮件的帐户是bugs@localhost.localdomain,才明白可能一般的邮件服务器都做了设置,显然我这里的domain是在internet上没有的,它会认为是垃圾邮件,而hotmail可能没做这方面的设置,想了个办法,修改/etc/mail/local-hosts-names,在里面随便指定一个hostname.domainname,这样邮件服务器不会认为是垃圾邮件了
所有的安装配置到此为止,你可以登陆http://bugs_ip(or bugs_domain)/bugzilla/测试一下bugzilla看看
还有几点需要补充:
1.如果需要修改刚才的administrator的email,可以在bugs数据库profiles表中找到,修改相应的元组即可
2.要升级的话,需要
#cd /usr/local
#cp bugzilla/localconfig* bugzilla.new/
#cp -r bugzilla/data bugzilla.new/
#mv bugzilla bugzilla.old
#mv bugzilla.new bugzilla
#cd bugzilla
#./checksetup.pl
即可 perl 的模块下载网站:http://www.cpan.org/