最近項目需要一個bug管理系統,到網上查了一下,本來準備隨便找一個輕量級的缺陷跟蹤系統來用用就可以了,但後來想想,這種系統其實在整個軟體生命管理周期都起到了很重要的作用,還是需要一個專業級的工具,抱著“bugzilla,名廠名牌,用它,准沒錯”的心態,把它給看上了。
都說bugzilla的安裝和配置比較麻煩,尤其是在windows系統下,由於我也是第一次安裝,經常出點小問題,比如mysql的命令後面需要一個分號,該用反斜線用成了正斜杠等。耗費了半天才把bugzilla裝起。現在回想起來,其實也並不是那麼麻煩。在這裡總結一下安裝經驗。
安裝環境:
作業系統:winxp sp2
perl解譯器:ActivePerl(5.8.8.820)
資料庫:MySQL
bugzilla 3.0
web server:Apache 2.0.49
一:安裝activeperl
activeperl的下載和安裝比較簡單,這裡不再贅述。我安裝的是ActivePerl-5.8.8.820-MSWin32-x86-274739.msi,:
http://downloads.activestate.com/ActivePerl/Windows/5.8/ActivePerl-5.8.8.820-MSWin32-x86-274739.msi
二:安裝mysql
我用的是5.1.18 beta 版 http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.18-beta-win32.zip/from/ftp://ftp.easynet.be/mysql/同樣,安裝也應該沒什麼問題,在安裝的過程中,一定要記住root密碼。
安裝好mysql後,要進行一些配置:
安裝完成後,應該有一個MySQL Command Line Client,開啟該程式,會提示並輸入root密碼,如果不用該控制台,也可以通過自己開啟控制台,進入到mysql的bin目錄,用mysql -u root -p進入mysql的組態管理
首先建立bugs資料庫:
mysql>create database bugs; (注意,末尾有個分號)
建立bugs使用者,並授權
mysql>GRANT SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, CREATE, DROP, REFERENCES, LOCK TABLES, CREATE TEMPORARY TABLES ON bugs.* TO bugs@localhost IDENTIFIED BY 'bugs';
修改bugs使用者的密碼:
mysql>set password for 'bugs'@'localhost' = OLD_PASSWORD('bugspassword');
最後重新整理一下
mysql> FLUSH PRIVILEGES;
檢查bugs使用者是否建立成功:
mysql> quit
mysql> mysql -u bugs -p
Enter password:bugs
三:安裝bugzilla
下載解壓後,開啟控制台,進入到bugzilla目錄下
首先說一下checksetup.pl這個檔案,bugzilla的安裝和配置可以說全靠它,通常來說,要運行3次perl checksetup.pl,第一次運行,所有模組都未安裝,把內容複寫到一個記事本上,以便後面安裝模組的時候查看。
安裝這些模組有2種方式,離線安裝和線上安裝,我採用的是線上安裝,如果需要離線安裝,首先要到bugzilla的網站上去下載一個包,好像叫做bugzilla-boud
>perl checksetup.pl
根據checksetup的提示,windows使用者需要首先運行
ppm repo add theory58S http://theoryx5.uwinnipeg.ca/ppms
根據提示一步一步安裝perl模組,比如
>ppm install Email-Send
安裝完所有的模組後,再次運行perl checksetup.pl,如果主要的模組都正確安裝,會在bugzilla的目錄下產生一個localconfig檔案修改該檔案,主要是以下幾個配置:
$db_host = 'localhost';
$db_name = 'bugs';
$db_user = 'bugs';
$db_pass = 'bugs';
最後,再次運行perl checksetup.pl,會看到一些建立表的資訊,並且中途會提示你輸入管理員的相關資訊。
四:安裝配置apache
apache的幾乎所有的配置都在安裝目錄下conf檔案夾下的httpd.conf檔案中。開啟該檔案做以下幾個修改:
1 確定監聽連接埠未被佔用,預設為80連接埠,如果被其他web伺服器佔用,則修改該連接埠號碼
Listen 80
2 修改主目錄配置
若要直接通過http://localhost/訪問,則修改主目錄
修改DocumentRoot參數,預設情況下該參數是指向apache的安裝目錄下的htdos檔案夾,修改該參數為bugzilla的安裝路徑下。同時要記得修改下面的<Directory>參數
配置CGI訪問,需要把下面這一句前面的#給去掉
AddHandler cgi-script .cgi
修改Options Indexes FollowSymLinks 為 Options Indexes FollowSymLinks ExecCGI
修改AllowOverride None為AllowOverride All
在AllowOverride All下一行添加ScriptInterpreterSource Registry-Strict
修改apache的預設訪問檔案:在DirectoryIndex index.html index.html.var後面添加一個index.cgi
3 修改註冊表,建立項HKEY_CLASSES_ROOT/.cgi/Shell/ExecCGI/Command修改預設值為%perl的安裝路徑%/bin/perl.exe -T
重啟apache
配置完成,輸入
http://localhost/ 就可以看到bugzilla的首頁面了
ps. 也可以單獨建立apache的虛擬目錄:
找到Alias,預設情況下apache有一個虛擬目錄,如Alias /icons/ "D:/Program Files/Apache Group/Apache2/icons/"
在下面添加bugzilla的虛擬目錄:Alias /bugzilla/ "F:/Software/etc/bugzilla-3.0/bugzilla-3.0/"
緊接著下一行添加虛擬目錄許可權:
Alias /bugzilla "F:/Software/etc/bugzilla-3.0/bugzilla-3.0/"
<Directory "F:/Software/etc/bugzilla-3.0/bugzilla-3.0">
Options ExecCGI All
AllowOverride All
ScriptInterpreterSource Registry-Strict
Order allow,deny
Allow from all
</Directory>