FreeBSD6.1上快速安装配置Bugzilla2.22

suchasplus

普通会员
2008-12-15
33
5
32
www.renwenyue.com
#1
开发过大型项目的朋友一定都接触过这样几类工具:需求管理、代码和版本控制和Bug跟踪工具。比较常见的需求管理是ClearQuest,代码和版本控制工具中用最多的是VSS和CVS,而Bug跟踪工具最出名的一定就是bugzilla了。  Bugzilla是Mozilla团队为我们奉献的一款免费的优秀的bug跟踪工具,它完全基于web方式,安装简单、运行方便快捷,可以使用MySQL数据库或者Ldap进行存储,系统非常灵活,有强大的可配置能力,并且可以自动发送Email进行通知和提醒,生产灵活方便的各种报表、图形,还能支持标准的XML导入和导出。

  作为一个产品缺陷的记录及跟踪工具,它能够为你建立一个完善的Bug跟踪体系,同时,由于在需求管理和bug追踪之间有很多流程和特点的相似,Bugzilla同时还可以用来实现入门级的需求管理,一个需求如同一个bug一样,从提出到接收、处理、反馈、验证整个过程都可以在bugzilla中得到体现和处理,并且可以和bug一样对应到产品和相关人员,Michael原来在yahoo工作的时候,公司就是使用了bugzilla作为需求和bug管理的平台,感觉非常方便实用。
更多的Bugzilla的特点在这里就不多说了,Michael在这里主要讲述一下在FreeBSD6.1环境下如何快速安装配置Bugzilla,为您的项目提供需求和bug管理支持。
  Michael这里提到的安装有个前提,那就是假设您的系统上已经成功安装了FreeBSD6.1和配置了ports,并通过ports完成了Apache、Perl、MySQL的安装和配置,有关FreeBSD6.1的安装,ports的配置以及Apache、Perl和MySQL的安装配置在这里就不多说了,相关的资料相当之多。
  下面是Michael的Bugzilla安装过程。
#cd /usr/ports/devel/bugzilla
#more ./distinfo (看看版本信息,可以看到类似下面的内容)

MD5 (bugzilla-2.22.tar.gz) = bbf2f1ec5607978d39855df104231973
SHA256 (bugzilla-2.22.tar.gz) = 9d7e2144cd8499430c802ef5267dd2237aaec401546e5b9476db4f9ca19ebd4d
SIZE (bugzilla-2.22.tar.gz) = 1956898
表示当前ports中的bugzilla版本是2.22版,这个版本基本上是当前官方发布的stable版本的最新版

#make config (进行初始化配置选项设置,下面是我的选择)
[X] MYSQL MySQL database support
[ ] PGSQL PostgreSQL database support
[X] CHARTING_MODULES Bug charting support
[ ] GRAPHVIZ Use GraphViz
[X] EMAIL_GATEWAY Use email gateway
[X] EXPORT_IMPORT Import/export bugs (via XML)
[ ] CONTRIB Install user-contributed scripts
[ ] LDAP Enable LDAP support
选择对MySQL数据库、图形报表、邮件、XML导入导出的支持

#make install clean

以上完成基本的安装,接下来要进行一些设置才能最终使用。
设置MySQL
我们需要设置使用MySQL数据库来存储Bugzilla的数据,你可以通过命令行或者phpmyadmin这样的web管理工具来进行设置,下面我们使用MySQL的命令行来完成设置。
#mysql -hlocalhost -uroot -p
Enter password:xxxxxx
mysql> create database ;
mysql> GRANT SELECT, INSERT,
UPDATE, DELETE, INDEX, ALTER, CREATE, LOCK TABLES,
CREATE TEMPORARY TABLES, DROP, REFERENCES ON .*
TO @localhost IDENTIFIED BY '';
mysql> FLUSH PRIVILEGES;
mysql> exit;

上面完成了在本机的MySQL上创建供bugzilla使用的数据库 (这里的更换成您要使用的数据库名称),同时添加用户和口令,该用户对具有所有权限。
在这里,Michael使用的是bugzilla,和均为bugzilla
另外,为了让MySQL支持bugzilla的较大附件存储,还需要修改MySQL的默认设置,bugzilla默认支持的附件最大1M,修改方式如下:
#vi /etc/my.cnf
在[mysqld]段中加入下面一行
max_allowed_packet=1M

然后重启MySQL即可。
设置Apache
如果您的系统是FreeBSD6.1版,同时更新了ports为当前最新,那么通过ports安装的Apache应该是Apache2.2.3版本,它的ServerRoot目录应该在/usr/local/www/apache22 ,但是Bugzilla通过ports安装后会把bugzilla的web目录安装在/usr/local/www/data/bugzilla下,这里您可以根据自己的喜好进行调整,可以把bugzilla目录移动到/usr/local/www/apache22/data/bugzilla下,也可以重新修改Apache的httpd.conf文件,把ServerRoot修改为/usr/local/www下,同时更新httpd.conf里面别的和/usr/local/www/apache22相关的设置。我用了后面的方法,因为通过ports安装的很多别的和apache相关的web应用都会默认到/usr/local/www下,比如cvsweb就是默认到/usr/local/www/cgi-bin目录下,未来安装其他应用的方便,我选择了修改apache的配置,而且修改起来很简单。大致的相关设置如下:
#cp -r /usr/local/www/apache22/* /usr/local/www/
#vi /usr/local/etc/apache22/httpd.conf
修改文件中和/usr/local/www/apache22相关的部分为 /usr/local/www,大概有三四个地方。

然后在httpd.conf文件中增加下面一段内容

AddHandler cgi-script .cgi
Options +Indexes +ExecCGI
DirectoryIndex index.cgi
AllowOverride Limit

这段内容设置bugzilla目录可以执行cgi文件,因为bugzilla都是使用perl来编写的。

这样就完成了Apache的配置,重新启动apache服务即可。
Bugzilla最后设置
完成MySQL和Apache的设置基本上就完成了99%了,最后一步就是bugzilla自己的配置部分,配置过程也很简单,步骤如下:
#cd /usr/local/www/data/bugzilla
#./checksetup.pl
这是第一次执行该脚本,将自动为您创建配置文件localconfig
#vi ./localconfig
修改里面的数据库名、用户名、口令为您之前创建时候设置的值,保存退出
#./checksetup.pl
这个命令将使bugzilla自己完成数据库中各种表的创建和设置,同时会要求您输入bugzilla管理员的邮件地址和口令,按照提示输入即可,过程很简单

到此,bugzilla的全部安装就已经结束了
 
顶部 底部