因為自己在安裝配置的時候走了些彎路,所以一方面自己提個醒,另一方面可以讓有這方面需要的朋友做個參考
bugzilla是一個可以發布bug以及跟蹤報告bug進展情況的開源軟件,有關的官方文檔可以查看:http://www.bugzilla.org/docs/
本人是在RH9上安裝配置成功bugzilla-2.18rc3的,事先也成功安裝配置過2.16.7,後來發現在2.18中加入了圖表的功能,覺得蠻有意思的,所以升級了一下。在安裝前先確定自己機器上一些軟件版本的情況:perl(5.6 or above)、mysql(3.23.41 or above)、sendmail(8.7 or above),在http://www.bugzilla.org/download/下載2.18rc3,並在本地解壓
#cd /usr/local
#tar -zxvf bugzilla-2.18rc3.tar.gz
#cd bugzilla
#./checksetup.pl-------檢查安裝需要的perl模塊
如果缺少相應的perl模塊,有兩個辦法可以解決:
1.perl -MCAN -e 'install "Bundle::Bugzilla"'------選擇CPAN主機站點下載安裝缺少的perl模塊,當完成時進入~/.CPAN/build查看INSTALL.html了解安裝情況
2.直接到http://www/cpan.org/modules/,下載相應的模塊下來,解壓後一個個安裝,比如CGI模塊
#cd CGI
#perl Makefile.PL
#make
#make test
#make install
所有模塊都可按此法安裝,在安裝一些模塊如Template Toolkit時會有一些信息要求確認,按照默認一路回車即可
注:我是比較傾向於第二種方法,一個比較靈活,可以去下載安裝不同版本的模塊,另一個又不依賴於網絡狀況,我第一次安裝的時候按第一種方法,結果等了老半天還沒下載完一個模塊,後來才知道CPAN的網站那天關閉,暈~。這裡還有一點要提醒,有時在運行checksetup.pl後顯示的信息裡會只有found而沒有OK,這表示當前模塊的版本太低,需要下載更高版本的安裝
接著做個perl的鏈接# ln -s /usr/bin/perl /usr/bonsaitools/bin/perl
安裝完需要的perl模塊後可謂完成了一半,接下來設置mysql
#mysql -u root -pyourpasswd
mysql>create database bugs;
mysql> GRANT SELECT, INSERT,UPDATE, DELETE, INDEX, ALTER, CREATE, LOCK TABLES,CREATE TEMPORARY TABLES, DROP, REFERENCES ON bugs.* TO bugs@localhost IDENTIFIED BY '$db_pass';
mysql> FLUSH PRIVILEGES;
mysql>quit
-----------上面黑體的字段只有你的mysql版本在4.0以上才需要,這裡的bugs、bugs@localhost和$db_pass分別表示為bugzilla建立的數據庫名、bugzilla的數據庫用戶和密碼,請設置好後用筆記下來,馬上就會需要
然後進入剛才的bugzilla目錄,修改localconfig文件,修改其中的:
$db_host = "localhost";
$db_name = "bugs";
$db_user = "bugs";
$db_pass = "xxxx";-------就是剛才你建立數據庫時用到的
好了以後,再次運行checksetup.pl,此處會按要求創建數據庫以及其中的tables,並要求你輸入administrator的email、realname和password,最後設置一下bugzilla目錄的權限
#chown -R apache.apache bugzilla
好了任務完成得差不多了,接著就是apache和sendmail的設定了
apache的設置:
在 /var/www 下鏈接 bugzilla
# ln -s /usr/local/bugzilla-xxx /var/www/bugzilla
設置 apache
找到 httpd.conf 文件先
在其中查找:
AddHandler cgi-script .cgi 把注釋去掉.
查找:
AddDefaultCharset 把 ISO-8859-1 改成 GB2312
增加:
Alias /bugzilla/ "/var/www/bugzilla"
<Directory "/var/www/bugzilla">
Options ExecCGI
AllowOverride Limit
</Directory>
好了以後開啟apache服務
sendmail的設置:
默認RH安裝的sendmail已經可以工作了,只要開啟服務就行了,因為我的機子是在內網的,只負責發生郵件即可,但是我後來發現在測試bugzilla的時候會有個奇怪的現象發生:當我新建一個用戶的email是hotmail的時候,郵件可以收到,而如果是其他的email地址的話郵件就發送失敗,後來看到hotmail中收到郵件的帳戶是[email protected],才明白可能一般的郵件服務器都做了設置,顯然我這裡的domain是在internet上沒有的,它就會認為是垃圾郵件,而hotmail可能沒做這方面的設置,想了個辦法,修改/etc/mail/local-hosts-names,在裡面隨便指定一個hostname.domainname,這樣郵件服務器就不會認為是垃圾郵件了
所有的安裝配置到此為止,你可以登陸http://bugs_ip(or bugs_domain)/bugzilla/測試一下bugzilla看看
還有幾點需要補充:
1.如果需要修改剛才的administrator的email,可以在bugs數據庫profiles表中找到,修改相應的元組即可
2.要升級的話,需要
#cd /usr/local
#cp bugzilla/localconfig* bugzilla.new/
#cp -r bugzilla/data bugzilla.new/
#mv bugzilla bugzilla.old
#mv bugzilla.new bugzilla
#cd bugzilla
#./checksetup.pl
即可