NO IMAGE

Bugzilla簡介
         Bugzilla是一個共享的免費的產品缺陷記錄及跟蹤工具(Bug-Tracking System)。由Mozilla公司提供。創始人是Terry Weissman,開始時使用一種名為“TCL”的語言建立的,後用Perl語言實現,並作為Open
source釋出。它可以管理軟體開發中缺陷的提交(new),修復(resolve),關閉(close)等整個生命週期。
Bugzilla特點
Bugzilla能夠為你建立一個完善的bug跟蹤體系,包括報告bug、查詢bug記錄併產生報表、處理解決bug、管理員系統初始化和設定四部分。Bugzilla具有如下特點:
1.基於Web方式,安裝簡單、執行方便快捷、管理安全。
2.有利於缺陷的清楚傳達。本系統使用資料庫進行管理,提供全面詳盡的報告輸入項,產生標準化的bug報告。 提供大量的分析選項和強大的查詢匹配能力,能根據各種條件組合進行bug統計。當缺陷在它的生命週期中變化時,開發人員、測試人員、及管理人員將及時獲得 動態的變化資訊,允許你獲取歷史記錄,並在檢查缺陷的狀態時參考這一記錄。
3.系統靈活,強大的可配置能力。Bugzilla工具可以對軟體產品設定不同的模組,並針對不同的模組設定開發人員和測試人員。這樣可以實現提交報告時 自動發給指定的責任人,並可設定不同的小組,許可權也可劃分。設定不同的使用者對bug記錄的操作許可權不同,可有效控制進行管理。允許設定不同的嚴重程度和優 先級。可以在缺陷的生命期中管理缺陷。從最初的報告到最後的解決,確保了缺陷不會被忽略。同時可以使注意力集中在優先順序和嚴重程度高的缺陷上。
4.自動傳送Email,通知相關人員。根據設定的不同責任人,自動傳送最新的動態資訊,有效的幫助測試人員和開發人員進行溝通。

需要預先安裝一下幾個軟體

  • Perl(V5.8.1以上)
  • 資料庫引擎(Mysql/postgresql/Oracle)
  • Web伺服器
  • Perl Moudles(Perl 模組)
  • Mail Transfer Agent

具體步驟如下:

一、Perl

一般是系統自帶,如果沒有或者版本不符合要求,請自行安裝,或者apt-get install
用Perl -v檢視perl版本資訊

二、資料庫引擎(mysqlserver)

安裝命令:sudo apt-get install mysql-server(安裝完成的最後,會讓你輸入root管理員的帳號密碼,記住該密碼,此root非使用者組中的root,而是mysql資料庫的root管理員根帳號)

三、Web伺服器(apache2)

安裝命令 : sudo apt-get install apache2

四、Mail Transfer Agent

安裝命令: sudo apt-get install sendmail

五、下載bugzilla及安裝Perl模組

下載連結:http://www.bugzilla.org/

將該檔案解壓縮到/var/www/目錄下

sudo tar -C /var/www/ -xvf bugzilla-3.6.3.tar.gz

解壓完畢,該目錄下將會有一個名為bugzilla-3.6.3的目錄,將該目錄改名為bugzilla並切換到/var/www/bugzilla/目錄

sudo mv bugzilla-3.6.3 bugzilla & cd /var/www/bugzilla/

在bugzilla目錄下有一個checksetup.pl的檔案,執行該檔案

sudo perl checksetup.pl

執行完畢,會告訴你當前bugzilla還差那些perl模組需要安裝,並且有提示安裝命令。這裡我們只需要安裝必須的一些包就可以了,可選包可以不用安裝。安裝這些必須的包的命令一般為:

 /usr/bin/perl   install-module.pl –all

這句命令將安裝bugzilla所需要的一系列perl模組,基本上執行完畢,安裝bugzilla的前期準備工作都做的差不多了。
當然也存在一些安裝不上的情況,這時要自己安裝,我安裝時候存在YAML和DateTime 安裝不成功,通過如下命令安裝或到cpan上下載需要的模組安裝

sudo /usr/bin/perl install-module.pl YAML

sudo /usr/bin/perl install-module.pl DateTime

這句命令將安裝bugzilla所需要的一系列perl模組,基本上執行完畢,安裝bugzilla的前期準備工作都做的差不多了。

其實這個時候bugzilla差不多可以算是安裝好一大半了,剩下的就是一些配置的問題了。

六、配置

1、mysql的配置。

       bugzilla需要用mysql資料庫來管理bugs,其預設的資料庫名字為bugs,預設的資料庫管理員帳號為bugs,預設管理員密碼為空,這些都是寫在配置檔案localconfig中的。所以我們需要新增一個bugs的mysql資料管理員使用者,並建立一個名為bugs的資料庫來儲存bugzilla提交的bugs。

在終端輸入:

mysql -u root -p(用mysql的root管理員登入mysql,以新增使用者bugs),終端會提示輸入密碼,即之前安裝mysql時的最後輸入的root密碼。

進入mysql介面後

grant all on *.* to bugs@localhost identified by ”;flush privileges;(別忘最後的‘;’號),這樣我們就建立好了mysql的使用者bugs,供bugzilla使用。

最後建立bugs資料庫檔案。在mysql介面中輸入:

CREATE DATABASE bugs;

2、apache2伺服器的配置   

開啟apache2的配置檔案httpd.conf

sudo vi /etc/apache2/httpd.conf,在其中新增如下內容:

   <Directory “/var/www/bugzilla/”>

        AddHandler cgi-script .cgi 

        Options Indexes ExecCGI FollowSymLinks

        DirectoryIndex index.cgi

        AllowOverride None

        Order allow,deny

        Allow from all

    </Directory>

3、bugzilla的配置

修改/bugzilla/localconfig檔案中的一句話:$webservergroup = ‘www-data’;

這裡為什麼填www-data呢,這是由我們安裝好的apache2的環境變數決定的,該變數存在檔案/etc/apache2/envvars中,檔案的內容如下:

# settings are defined via environment variables and then used in apache2ctl,
# /etc/init.d/apache2, /etc/logrotate.d/apache2, etc.
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data

這就是我們要填www-data的原因了,另外我們需要修改bugzilla目錄的owner和groups。因為apache2環境變數決定是其是用www-data使用者組來執行的。修改的命令為:sudo chgrp -R root.www-data bugzilla。

最後在終端執行下面的命令:sudo perl checksetup.pl,執行完畢bugzilla將會順利的安裝好,在安裝的最後會讓你輸入bugzilla系統的管理員帳號和密碼,這個必須記好了。

七、啟動bugzilla

重啟apache2伺服器和mysqlserver

sudo /etc/init.d/apache2 restart

sudo /etc/init.d/mysql restart

bugzilla的環境算是基本上搭建好了,接下來開啟firefox就可以用了。

在地址一欄輸入http://localhost/bugzilla就可以看到bugzilla的首頁了,截圖如下: