前段時間安裝配置完bugzilla,特意抽空總結了一下!望指教

發表于:2007-07-04來源:作者:點擊數: 標簽:
因為自己在安裝配置的時候走了些彎路,所以一方面自己提個醒,另一方面可以讓有這方面需要的朋友做個參考 bugzilla是一個可以發布bug以及跟蹤報告bug進展情況的 開源 軟件,有關的官方文檔可以查看: http://www.bugzilla.org/docs/ 本人是在RH9上安裝配置成

因為自己在安裝配置的時候走了些彎路,所以一方面自己提個醒,另一方面可以讓有這方面需要的朋友做個參考
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了解安裝情況,這個命令一般會安裝bugzilla必須的模塊,要安裝其他的option模塊的話,可以到perl -MCPAN -e shell里面,打入install   xxx模塊即可。
2.直接到http://www/cpan.org/modules/,下載相應的模塊下來,解壓后一個個安裝,比如CGI模塊
#cd CGI
#perl Makefile.PL
#make
#make test
#make install
所有模塊都可按此法安裝,在安裝一些模塊如Template Toolkit時會有一些信息要求確認,按照默認一路回車即可
[b:a7830c7dd9]注:[/b:a7830c7dd9]我是比較傾向于第二種方法,一個比較靈活,可以去下載安裝不同版本的模塊,另一個又不依賴于網絡狀況,我第一次安裝的時候按第一種方法,結果等了老半天還沒下載完一個模塊,后來才知道CPAN的網站那天關閉,暈~。不過我后來在選擇ftp站點時選了2以后,下載的速度就很快,所以如果要用方法一來安裝模塊請大陸的同志務必要選2。這里還有一點要提醒,有時在運行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, [b:a7830c7dd9]LOCK TABLES[/b:a7830c7dd9],[b:a7830c7dd9]CREATE TEMPORARY TABLES[/b:a7830c7dd9], 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的數據庫用戶和密碼,請設置好后用筆記下來,馬上就會需要 :wink: 
然后進入剛才的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的設定了
[b:a7830c7dd9]apache的設置:[/b:a7830c7dd9]
在 /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服務
[b:a7830c7dd9]sendmail的設置:[/b:a7830c7dd9]
默認RH安裝的sendmail已經可以工作了,只要開啟服務就行了,因為我的機子是在內網的,只負責發生郵件即可,但是我后來發現在測試bugzilla的時候會有個奇怪的現象發生:當我新建一個用戶的email是hotmail的時候,郵件可以收到,而如果是其他的email地址的話郵件就發送失敗,后來看到hotmail中收到郵件的帳戶是bugs@localhost.localdomain,才明白可能一般的郵件服務器都做了設置,顯然我這里的domain是在inte.net上沒有的,它就會認為是垃圾郵件,而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
即可

 好好先生 回復于:2004-12-16 17:18:22
鼓勵這種精神

 lichin 回復于:2004-12-16 21:15:51
自從接觸linux以來就深刻體會到linux世界需要OPEN的態度,跟大家多多交流心得體會是應該的^_^

 wethair 回復于:2005-01-05 08:33:32
我想問樓主一個問題。
你這臺機器有裝DNS嗎?域名解析是怎么處理的?在sendmail里本機的郵件地址是什么?
謝謝

 lichin 回復于:2005-01-07 12:00:31
我發現我有一個問題弄錯了,就是關于sendmail設置的問題:
上面說的那個local-hosts-names配置文件是有關收取郵件的,我這里只關心能發送郵件,因為并不是每個人都能輕易的擁有具有正規域名的郵件服務器的,要做的工作只是修改sendmail.mc文件,將帶有"myhost.mydomain"這行隨便填入一個internet上域名就行了,最后還要利用m4生成sendmail.cf文件,命令如下:
#m4 sendmail.mc > sendmail.cf
重啟sendmail服務就OK了

 arhui0531 回復于:2005-06-09 15:05:01
[quote:c64a9f7a71="lichin"]要做的工作只是修改sendmail.mc文件,將帶有"myhost.mydomain"這行隨便填入一個internet上域名就行了,
最后還要利用m4生成sendmail.cf文件,命令如下:
#m4 sendmail.mc > sendmail.cf [/quote:c64a9f7a71]

我這些都設置了,還是只對hotmail可行,其他郵件地址不可以。請多指教,謝謝

 wind521 回復于:2005-06-09 16:01:13
不錯,鼓勵一下

 trademark 回復于:2005-06-13 10:59:31
這個介紹并沒有介紹全啊,比如說如果我在服務器指定目錄安裝了mysql后,再checksetup.pl的時候發現不能連接/var/lib/mysql/mysql.sock,這個應該怎么辦,好像要修改好多文件

 peng 回復于:2005-06-13 11:44:00
[quote:065aa965c0="trademark"]這個介紹并沒有介紹全啊,比如說如果我在服務器指定目錄安裝了mysql后,再checksetup.pl的時候發現不能連接/var/lib/mysql/mysql.sock,這個應該怎么辦,好像要修改好多文件[/quote:065aa965c0]

這和樓主介紹的軟件沒有任何關系,應該是你mysql安裝問題。

沒有給mysql.sock生成的目錄應有的權限造成的。

 trademark 回復于:2005-06-13 12:36:21
汗,checksetup.pl一直不通過

Checking user setup ...
Precompiling templates ...
Checking for    MySQL Server (v3.22.5) ok: found v4.1.1-alpha-standard
 
DBD::mysql::db table_info failed: Aclearcase/" target="_blank" >ccess denied for user: 'bugs'@'%' to database 'bugtrack' at ./checksetup.pl line 1613.
[Mon Jun 13 12:31:35 2005] checksetup.pl: DBD::mysql::db table_info failed: Access denied for user: 'bugs'@'%' to database 'bugtrack' at ./checksetup.pl line 1613.
Use of uninitialized value in subroutine entry at
        /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi/DBD/mysql.pm line 197 (#1)
    (W uninitialized) An undefined value was used as if it were already
    defined.  It was interpreted as a "" or a 0, but maybe it was a mistake.
    To suppress this warning assign a defined value to your variables.
    
    To help you figure out what was undefined, perl tells you what operation
    you used the undefined value in.  Note, however, that perl optimizes your
    program and the operation displayed in the warning may not necessarily
    appear literally in your program.  For example, "that $foo" is
    usually optimized into "that " . $foo, and the warning will refer to
    the concatenation (.) operator, even though there is no . in your
    program.
    
[Mon Jun 13 12:31:35 2005] checksetup.pl: Use of uninitialized value in subroutine entry at /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi/DBD/mysql.pm line 197.
Use of uninitialized value in subroutine entry at
        /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi/DBI.pm line 1276 (#1)
[Mon Jun 13 12:31:35 2005] checksetup.pl: Use of uninitialized value in subroutine entry at /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi/DBI.pm line 1276.
DBD::mysql::db selectcol_arrayref failed: Query was empty at ./checksetup.pl line 1614.
[Mon Jun 13 12:31:35 2005] checksetup.pl: DBD::mysql::db selectcol_arrayref failed: Query was empty at ./checksetup.pl line 1614.
 
Can't use an undefined value as an ARRAY reference at ./checksetup.pl line 1614 (#2)
    (F) A value used as either a hard reference or a symbolic reference must
    be a defined value.  This helps to delurk some insidious errors.
    
Uncaught exception from user code:
        Can't use an undefined value as an ARRAY reference at ./checksetup.pl line 1614.

 trademark 回復于:2005-06-13 13:33:46
各位兄臺,幫幫忙啊

 lily_7948 回復于:2005-07-08 11:28:48
謝樓主

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97