posts - 189,comments - 115,trackbacks - 0
Ubuntu环境安装配置Bugzilla

http://www.bugzilla.org/download/#v218

http://www.bugzilla.org/download

1 Bugzilla简介
1.1 产生
Bugzilla是一个共享的免费的产品缺陷记录及跟踪工具。由Mozilla公司提供。创始人是Terry Weissman,开始时使用一种名为“TCL”的语言创建的,后用Perl语言实现,并作为Open source发布。
1.2 特点
Bugzilla能够为你建立一个完善的bug跟踪体系,包括报告bug、查询bug记录并产生报表、处理解决bug、管理员系统初始化和设置四部分。Bugzilla具有如下特点:
1.基于Web方式,安装简单、运行方便快捷、管理安全。
2.有利于缺陷的清楚传达。本系统使用数据库进行管理,提供全面详尽的报告输入项,产生标准化的bug报告。 提供大量的分析选项和强大的查询匹配能力,能根据各种条件组合进行bug统计。当缺陷在它的生命周期中变化时,开发人员、测试人员、及管理人员将及时获得 动态的变化信息,允许你获取历史记录,并在检查缺陷的状态时参考这一记录。
3.系统灵活,强大的可配置能力。Bugzilla工具可以对软件产品设定不同的模块,并针对不同的模块设定开发人员和测试人员。这样可以实现提交报告时 自动发给指定的责任人,并可设定不同的小组,权限也可划分。设定不同的用户对bug记录的操作权限不同,可有效控制进行管理。允许设定不同的严重程度和优 先级。可以在缺陷的生命期中管理缺陷。从最初的报告到最后的解决,确保了缺陷不会被忽略。同时可以使注意力集中在优先级和严重程度高的缺陷上。
4.自动发送Email,通知相关人员。根据设定的不同责任人,自动发送最新的动态信息,有效的帮助测试人员和开发人员进行沟通。


2 安装Step by Step
Bugzilla是一个基于WEB的缺陷管理系统。前台用 Perl语言实现,后台使用MySQL数据库。因为Bugzilla除了通过WEB来跟踪处理bug外,还同时通过Email来跟踪bug的处理过程。如 果不通过Email来跟踪bug的话,Email电子邮件系统并不是必要的。但是,如果要正常运行Bugzilla,必须设置一个smtp邮件发送服务 器。
安装Bugzilla需要MySQL、Perl等等配套软件。为了简化Bugzilla的安装过程,让大家少走弯路,我们把Bugzilla及其配套软件的安装包都整合到一个目录Bugzilla-2.20.1下,并以Step by Step的方式介绍安装及配置过程:
Bugzilla-2.20.1
01.mysql
02.perl
03.bugzilla
04.ReadMe

    
我刚刚入手UNIX系统学习,学着安装配置Bugzilla。被不少的问题折腾着浪费不少时间,查了不少资料,最终还是圆满成功了。在这作个总结,希望这篇博文能帮助初学者。欢迎各位朋友共同探讨学习。
emial:zongguo.zhang@gmail.com
欢迎转载,请注明出处。
bugzilla安装工具 apache2+mysql5.1+perl+bugzilla3.2.2

Step by step

安装篇

1.安装apache2   
  Ubuntu就可以直接用命令行可以安装 #sudo apt-get install apache2 系统自动安好,打开浏览器在地址栏输入http://ip (你的ip地址或者127.0.0.1)就会在 页面上出现 “ 
It works”则表明apache安装成功。
  出了问题的话,进入/etc/apache2 目录下 用#vi httpd.conf打开文件添加ServerName 127.0.0.1:80即可.

2.安装mysql
  用命令#sudo apt-get install mysql-server 系统自动安装,我装的是mysql5.1.
  安装时要输入密码这是进入root的密码(建议用你ubuntu系统密码),(mysql -uroot -p密码),然后用上述命令行来登录,登录成功显示版本信息和 mysql> ,OK!
  mysql 服务启动/停止/重启命令#service mysql start/stop/restart.

3.安装Bugzilla
  bugzilla到官网去下载(一般为tar.gz包),这个不用我说了吧!不懂google一下,然后cd到下载目录解压包#tar -xzf bugzilla.xx.xx.tar.gz ,再改名#mv bugzilla.xx.xx bugzilla ,再移动到/var/www下面#mv bugzilla /var/www  完毕~~~~ok!

4.安装perl
  先进入到bugzilla目录#cd /var/www/bugzilla,在命令行输入#./checksetup.pl命令检查一下还有哪些perl模块没有安装,因为在系统自动安转apache和mysql时就已安装一部分,

Checking perl modules...
Checking for              CGI.pm (v3.33)   ok: found v3.49 
Checking for            TimeDate (v2.21)   ok: found v2.24 
Checking for           PathTools (v0.84)   ok: found v3.31 
Checking for                 DBI (v1.41)   ok: found v1.611 
Checking for    Template-Toolkit (v2.15)   ok: found v2.22 
Checking for          Email-Send (v2.00)   ok: found v2.198 
Checking for          Email-MIME (v1.861)  ok: found v1.903 
Checking for Email-MIME-Modifier (v1.442)  ok: found v1.903 

Checking available perl DBD modules...
Checking for              DBD-Pg (v1.45)    not found 
Checking for           DBD-mysql (v4.00)   ok: found v4.012 
Checking for          DBD-Oracle (v1.19)    not found 
第一组要全装,第二组就看你装的什么数据库了,这里装的是mysql就选DBD-mysql,not found表示没有安装,用下面提的COMMANDS TO INSTALL:需要什么就复制粘贴就可安装好。

到这里Buglilla所需要的组件全安装完毕,第一篇OK!


配置篇

1.apache2配置 
  A.修改 
apache的配置文件apache2.conf:进入/etc/www/apache2目录下面 vi /apache2.conf 找到ServerRoot,修改ServerRoot bugzilla所在的目录“/var/www”,即如下:(注释原来的添加修改)
#ServerRoot "/etc/apache2"
ServerRoot "/var/www"
  B.修改
apache的配置文件apache2.conf: 设置 apache访问bugzilla的用户及用户组,本安装中将用户及用户组都设置为www-data:如下:
#User ${APACHE_RUN_USER}
#Group ${APACHE_RUN_GROUP}
User www-data
Group www-data
  C.修改
apache的配置文件apache2.conf:添加bugzilla所在目录:即在apache.conf文件末添加如下

  Alias /bug/ "/var/www/bugzilla"

  <Directory "/var/www/bugzilla">

     AddHandler cgi-script .cgi

  Options +Indexes +ExecCGI +FollowSymLinks

  DirectoryIndex index.cgi

  AllowOverride None

  Order allow,deny

  Allow from all

</Directory>

  D: 修改 www-databugzilla的访问权限
        chown -R www-data:www-data /var/www/bugzilla
     
  最后,重启apache2服务 #/etc/init.d/apache2 restart   ~~~~~OK!

2.mysql配置
  用#mysql -uroot -p密码 登录mysql 。
  首先,创建数据库
bugs   mysql> create database bugs 
  其次,创建用户
bugs     mysql> use mysql;
  再次,授权 
mysql> GRANT SELECT, INSERT,UPDATE, DELETE, INDEX, ALTER, CREATE, LOCK TABLES,CREATE TEMPORARY TABLES, DROP, REFERENCES ON bugs.*TO bugs@localhost IDENTIFIED BY '前面root密码'; 
  最后,
mysql> FLUSH PRIVILEGES; 
       退出mysql:mysql>exit或quit
  注:mysql命令以(;)结束,不区分大小写。

3.Bugzilla配置
  先#cd /var/www/bugzilla 运行
bugzilla目录下的checksetup.pl (#.checksetup.pl)自动生成loacalconfig文件(原本bugzilla目录里没有),打开文件localconfig(#vi localconfig),配置如下:
$webservergroup = 'www-data';
$db_driver = 'mysql';
$db_host = 'localhost';
$db_name = 'bugs';
$db_user = 'bugs';
$db_pass = '密码';  注意:为了防止出错,建议所有密码都设置为ubuntu系统密码。
其它不变。

现的配置文件都设置完成,重启apache2 #/etc/init.d/apache2 restart
                     重启mysql  #service mysql restart
                     重新运行checksetuo.pl #./checksetup.pl
结果会出现如下错误:
  SESSION variable 'max_allowed_packetis read onlyUse SET GLOBAL to assign 
the value

  上面错误的原因是bugzilla3.3.2对mysql5.1及以上新版本的兼容性不好。需要修改几处源码文件Bugzilla/Config/Attachment.pm和Bugzilla/Config/Common.pm等,地址:https://bug480001.bugzilla.mozilla.org/attachment.cgi?id=364818其中(-)表示删除(+)表示添加。

bugzilla的预编译和生成相应的配置信息等,如下提示:
Precompiling templates...done.
Fixing file permissions...
Initializing "Dependency Tree Changes" email_setting ...
Marking closed bug statuses as such...

Now filling the 'status_workflow' table with valid bug status transitions...

Adding foreign key: attachments.submitter_id -> profiles.userid...

Adding foreign key: bugs_activity.who -> profiles.userid...

Adding foreign key: bugs_fulltext.bug_id -> bugs.bug_id...

·
·
·
并且会提示输入以下信息:
Enter the e-mail address of the administrator: test@uestc.edu.cn
Enter the real name of the administrator: 
用户名
Enter a password for the administrator account: password
Please retype the password to verify: password
根据以上提示输入bugzilla管理员的相关信息
成功后,在浏览器输入:
http://127.0.0.1/bugzilla会出现bugzilla的管理主页面

应用篇

   Bugzilla网上有很多使用文档,我就不再细述。主要想说一下bugzilla发不出去邮件的问题。
配置smtp。
登录后点击administrator进行参数设置,点击parameter进入,再点击email设置。

mail_delivery_method : smtp
mailfrom                   : 设置成我的真实邮箱     例 me@163.com 可能有的mail server会验证邮箱的真实性以及是否属于该mail server
sendmailnow          : on
smtpserver           : 设置成smtp authentication服务器 例smtp.163.com
smtp_username        : 我的邮箱    例 me@163.com
smtp_password        : 密码
注意后两个parameters(选项)是2.22.1 debian所没有的。

但是接下来我在测试发送邮件的时候总是报

“The new value for smtp_username is invalid: Error requiring
Authen::SASL: ‘Can’t locate Authen/SASL.pm in @INC (@INC contains: .
lib c:/perl/site/lib c:/perl/lib) at (eval 84) line 3. ‘.”
这个错误要求我们安装Authen::SASL 可以回到checksetup.pl处按照提示安装,但是我在这里却出现了问题。
由于之前已经将bugzilla3.2.2文件夹的访问权限设置给了www-data组,现在无法进入到bugzilla3.2.2文件夹内执行任何操作,总报permissions access

采用 sudo –s –H 并输入密码,可以以root权限进入该文件夹操作,安装好Authen::SASL后,发送邮件功能ok。

posted on 2010-08-13 14:00 MEYE 阅读(2007) 评论(1)  编辑  收藏

FeedBack:
# re: Ubuntu环境安装配置Bugzilla
2012-04-23 16:33 | jerrymin
相当好,谢谢啦。  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: