FreeBSD6.1上快速安裝配置Bugzilla2.22 By Michael
開發過大型項目的朋友一定都接觸過這樣幾類工具:需求管理、代碼和版本控制和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 <dbname>;
mysql> GRANT SELECT, INSERT,
UPDATE, DELETE, INDEX, ALTER, CREATE, LOCK TABLES,
CREATE TEMPORARY TABLES, DROP, REFERENCES ON <dbname>.*
TO <dbuser>@localhost IDENTIFIED BY '<dbpass>';
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檔案中增加下面一段內容
<Directory /usr/local/www/data/bugzilla>
AddHandler cgi-script .cgi
Options +Indexes +ExecCGI
DirectoryIndex index.cgi
AllowOverride Limit
</Directory>
這段內容設定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的全部安裝就已經結束了,在瀏覽器裡面輸入 http://yourserverip/bugzilla/index.cgi 呵呵,看到可愛的蟲子了嗎?當然,您也可以配置apache的VirtualHost來使用獨立的網域名稱訪問您的bugzilla,比如我配置的bugzilla就可以通過下面的網域名稱訪問 http://bugzilla.toplee.com,您可以測試一下!
由於目前bugzilla的中文漢化只支援到了2.20版本,我們安裝的2.22版還沒有漢化檔案出來,暫時無法享受中文介面了,再等等吧,具體的可以關注 http://www.bugzilla.org 最新動向!