對于負(fù)責(zé)提供支持的人而言,保持對問題、難題及其修訂的跟蹤,可能會是一項棘手的任務(wù);不過,有一個完美的開源方案可以滿足這一要求:Bugzilla。安裝它之后,您可以方便地跟蹤 bug 了,并可在發(fā)現(xiàn)特定的問題和解決方案時得到通知。本文給出了在 Linux™ 系統(tǒng)上安裝 Bugzilla 的逐步指南。
Bugzilla 是一個缺陷或bug 跟蹤系統(tǒng) —— 這個系統(tǒng)能夠讓個人或者團(tuán)隊開發(fā)人員保持對他們的產(chǎn)品中突出 bug 的跟蹤。此類系統(tǒng)允許用戶跟蹤 bug 和代碼修改,與其他隊友溝通,提交和回顧修訂補(bǔ)丁,實現(xiàn)質(zhì)量保證。
Bugzilla 在開發(fā)人員社區(qū)中非常,原因在于:
它是一個功能全面的(full-featured)實現(xiàn)。
它得到開發(fā)人員社區(qū)的積極支持,并且經(jīng)常得到很多整日使用它的用戶的積極升級。
它是開源的。
它是免費(fèi)的。
很多組織都在使用 Bugzilla,包括 IBM 以及 IBM 的 Linux Technology Center。您可以按照文中的 Bugzilla 安裝說明,將這個 bug-and-solution 跟蹤工具添加到您的 Linux 系統(tǒng)中。
安裝的先決條件
Bugzilla 的新穩(wěn)定版本是 2.18rc3,它要求在您的 Linux 系統(tǒng)上已經(jīng)安裝了下面的軟件版本(請參閱 參考資料 中的鏈接):
Perl 版本 5.6.0 或者更高的版本,它應(yīng)該包含下面的 Perl 模塊版本:
AppConfig 1.52
CGI 2.93
Data::Dumper,任意版本
Date::Format 2.21
DBI 1.36
DBD::mysql 2.1010
File::Spec 0.82
File::Temp,任意版本
Template 2.08
Text::Wrap 2001.0131
MySQL 版本 3.23.41 或者更高的版本。
一個 HTTP Web 服務(wù)器,好是 Apache 或者 IBM_HTTP 服務(wù)器(這里我將使用 Apache)。
一個郵件傳輸代理,比如 Sendmail 8.7 或者更高的版本。
如果您不能確定是否已經(jīng)安裝了正確的 Perl 和 MySQL 軟件版本以及 Apache,可以這樣來檢驗?zāi)切┸浖?/p>
對于 Perl,輸入 $ perl -v。
對于 MySQL,輸入 $ mysql -V。
要檢驗 Web 服務(wù)器的版本,您可以這樣訪問 Web 服務(wù)器的測試頁:
http://<your-machine-name>/
Web 服務(wù)器的測試頁將為您提供關(guān)于服務(wù)器的所有基本信息,這是一個極好的指示工具,表明您已經(jīng)正確地安裝了服務(wù)器!
由于本文只介紹 Bugzilla 的安裝,所以假定您已經(jīng)擁有可用的 Perl、MySQL、Apache 和 sendmail,或者可以安裝它們。(如果您需要它們,請參閱 參考資料 部分。)
開始安裝
時間緊張?
如果您時間緊張,那么可以參考此列表來安裝 Bugzilla。(該列表給出了指向適當(dāng)代碼區(qū)域的鏈接,以供參考。)
從 Bugzilla 的站點獲得 新的 tarball。
解壓 Bugzilla tarball。
安裝 適當(dāng)?shù)?Perl 模塊。
如果需要,從 CPAN 獲得正確的 Perl 模塊。
如果必須執(zhí)行步驟 4,那么返回并再次執(zhí)行 步驟 3,確認(rèn) Perl 模塊正確。
在 bugzilla 目錄中 創(chuàng)建 一個 localconfig 文件。
配置 localconfig 文件,以訪問 MySQL 數(shù)據(jù)庫。
連接到 MySQL 的實例。
為 Bugzilla 創(chuàng)建 一個數(shù)據(jù)庫帳號。
重新執(zhí)行 Perl 模塊設(shè)置檢查。
編輯 HTTP 服務(wù)器的配置文件。
訪問 Bugzilla 頁面,并使用 checksetup.pl Perl 腳本所創(chuàng)建的管理員 帳號/口令 登錄。
完成。
首先訪問 Bugzilla Web 站點(請參閱 參考資料 部分的鏈接),下載應(yīng)用程序的新 tarball。然后將 tarball 放入一個 Web 服務(wù)器用戶可以訪問的目錄。在本例中,由于您正在使用 Apache Web 服務(wù)器,所以您需要將 tarball 下載到 Apache 的默認(rèn)目錄中。大部分 Apache 的基本安裝允許“apache”用戶訪問 /var/www/html/ 目錄。
請查閱 Apache 安裝的文件,以確保將 tarball 放入了可以訪問的目錄。在任何情況下您都可以根據(jù)需要對此進(jìn)行修改。
解開 Bugzilla
清單 1 展示了如何將所有 Bugzilla 文件解壓到一個名為 bugzilla-2.1.8rc3 的目錄中。簡單起見,您可以選擇使用所示的 move 命令將那個目錄重命名為“bugzilla”。
清單 1. 解壓 Bugzilla tarball
$ cd /var/www/html/$ tar zxvf bugzilla-2.18rc3.tgz$ mv bugzilla-2.18rc3/ bugzilla/
安裝 Perl 模塊
清單 2 中的 Perl 腳本檢查您的系統(tǒng)上是否已經(jīng)安裝了所需的 Perl 模塊。它還會確認(rèn)您是否擁有支持曲線圖和報表等特性的可選 Perl 模塊。
清單 2. Perl 模塊安裝
$ su root$ ./checksetup.pl
這個腳本運(yùn)行后,將告訴您需要哪些模塊,以及從 CPAN 倉庫安裝它們所需要的相應(yīng)的 CPAN 命令。那個命令類似于以下命令:$ perl -MCPAN -e 'install "<module-name>"' 。為需要安裝的每一個 Perl 模塊執(zhí)行這個命令。如果您已經(jīng)連接到 Internet,那么會自動地下載和安裝所需要的模塊。
完成所有所需模塊的安裝后,重新運(yùn)行 checksetup.pl 腳本。如果一切正常,您應(yīng)該會看到指出所有需要的 Perl 模塊都已經(jīng)安裝的輸出。
配置 Bugzilla
這個腳本在 bugzilla 目錄中創(chuàng)建一個名為 localconfig 文件(如清單 3 所示)。
清單 3. Bugzilla 配置
$ vi localconfig
配置 Bugzilla 應(yīng)用程序使用您的本地數(shù)據(jù)庫服務(wù)器。該命令只是會在 vi 編輯器中打開這個文件。在此,您只需要修改這個文件中的一個值,即 $db_pass 字段,這是 bugzilla 的 MySQL 帳號(您馬上要創(chuàng)建它)所使用的口令。如果您擁有不只一個 “定制的” MySQL 安裝,那么您應(yīng)該檢查所有 $db 設(shè)置,因為它們對應(yīng)于主機(jī)名、通信端口,等等。
為 Bugzilla 創(chuàng)建一個數(shù)據(jù)庫帳號
然后,您需要為 Bugzilla 創(chuàng)建 MySQL 數(shù)據(jù)庫。連接到 MySQL 數(shù)據(jù)庫實例,執(zhí)行下面的命令: