這幾天一直在折騰bugzilla,原以為應該挺簡單的,卻也是一波三折。下面是「**」的過程:
在/var/www/html目錄中建立乙個symbolic link:
# ln -s /var/local/bugzilla bugzilla
為httpd的使用者分配該資料夾的訪問許可權
# chown apache.apache -r bugzilla
二、安裝和配置
注:以下操作都在root許可權下完成。
完成解壓後,自然就按照官網上的指南 (以下稱指南),一步步開始安裝。
1、之前perl、mysql、apache httpd都已經安裝,並且版本符合要求。不過為了安全期間,還是執行了一下
# yum install perl
果真還是有不少內容更新。
2、切換到/var/www/html/bugzilla下,檢查環境配置:
# ./checksetup.pl --check-modules
很多沒有安裝的模組都列了出來,指南上說可以用下面的命令安裝缺少的模組:
# perl install-module.pl
但是執行上條命令是給出了更加簡便的方式:
# ./install-module.pl --all
然後執行
# ./checksetup.pl
注意這次沒有後面的--check-modules選項,至此一切還都是按照指南上的說明順利進行。可是接下來就踏上了痛苦「旅程」。
上面命令的執行結果並沒有產生localconfig檔案,而是提示有些模組仍然沒有安裝,尤其是dbd::mysql,還有幾個可選的模組,gd、chart、gdgraph等。當時就想,單獨安裝一下試試,於是:
# ./install-module.pl gd
沒有成功,錯誤:
can't call method "cpan_version" on an undefined value at /usr/local/bugzilla/bugzilla/install/cpan.pm line 96.
第一反應當然就是去google,可是搜到的結果只有區區四條,還有兩個是乙個頁面。難道這個問題只有我碰到?難道別人都那麼順利?
(總不能在一棵樹上吊死吧,還有mantis可以用,轉投mantis,還真是好用,很快就裝好了。雖然也有一點小插曲,是因為自己沒有看清楚說明,填錯了資料庫的使用者名稱密碼。)
一天後,心裡還是不服,真的只能這樣了嗎?不行,繼續來。既然這個辦法不行,看看是不是因為**的問題。於是就找系統可以設定**的地方,無功而返。那就沉下心來(唉,知名的弱點,有時候太心急)研究下cpan吧,原來可以直接設定**。以前都是直接跳過了。
# cpan
cpan> o conf init
提示是否需要手動配置時,直接回車,預設是yes。中間略過n多選項,到了ftp_proxy和http_proxy按照本地pc上的配置填寫。最後一步步過去。退出cpan,重新開始安裝。看起來好像有效果,可是連線proxy一直超時。看來是因為防火牆的原因,ftp出不去,那麼看看有沒有使用http的協議映象,還真找到了http://www.perl.org/cpan/ (如此明顯的位址,看來是我以前的方向錯了。)
重啟配置cpan,去掉ftp_proxy和http_proxy的值,在最後一項提示輸入另外乙個url時,將上面位址填入。終於解決了cpan重新安裝的問題。
這次沒有安裝dbd::mysql,而是嘗試了gd,
# ./install-module.pl gd
得到了另外乙個錯誤:
could not find gdlib-config in the search path. please install libgd 2.0.28 or higher.
# ./config
# cp gdlib-config /usr/bin
# chmod 774 gdlib-config
再次安裝,這次錯誤有了變化:
gd.xs:7:16: error: gd.h: no such file or directory
gd.xs:8:21: error: gdfontg.h: no such file or directory
這個是因為只安裝了gd,還需要安裝gd-devel包:
# yum install gd-devel
然後gd順利完成。
接下來安裝dbd::mysql,這次出現了的錯誤和上面的類似:
in file included from dbdimp.c:20:
dbdimp.h:22:49: error: mysql.h: no such file or directory
dbdimp.h:23:45: error: mysqld_error.h: no such file or directory
那就重新安裝mysql和mysql-devel
# yum install mysql mysql-devel
dbd::mysql完成安裝。
一切都安裝完畢了,再次執行checksetup.pl,生成了localconfig。下面就按照指南開始配置:mysql和apache。資料庫的配置很簡單,順利完成。
apache的配置,指南中提供了兩種方式,乙個是cgi執行,乙個mod_perl。我想既然安裝那麼多perl相關的東西,那就用後者吧。(不知道我是不是對指南的理解有誤?)在/etc/httpd/conf.d/perl.conf中新增了:
看起來一切都完成了。那就重啟httpd服務吧。
啟動時發生錯誤:
can't locate template/config.pm
除了上面資訊以外,還有幾個的類似的。解決方法比較簡單,使用cpan重新安裝即可。
# cpan template
有時候執行下面的命令,再用cpan執行一次:
# ./install-module.pl
經過幾次反覆,終於啟動了httpd服務。在瀏覽器看到了bugzilla的尊容,可是還沒有來得及高興,發現輸入使用者名稱和密碼後不能登陸,提示500 internal error。趕緊檢視apache的error_log,發現裡面還有乙個:
can't locate digest/sha.pm in @inc (@inc contains: . lib /var/www/html/bugzilla
還是採用上面的方法,安裝缺少的digest。
安裝成功,還是提交不成功,仍然是500 internal error。仔細觀察位址列中的位址,顯示的是index.cgi,不是採用perl方式嗎,難道還要用cgi??(懇請高手指點!)
將下面這行前面的注釋去掉:
addhandler cgi-script .cgi
然後,新增下面內容:
重新啟動httpd服務,bugzilla終於可以正常使用了。
三、後記
按說我應該珍惜這來之不易的勞動成果,可是實在不習慣進去後還要自己搜尋bug的做法(可能這就是先入為主吧,因為之前使用近三年的mantis),同時也習慣bug的管理方式,感覺有點亂。
我相信是我自己沒有把功能開發出來,希望有這方面的經驗的同學來交流,先謝謝了!
在CentOS上安裝Git
centos的yum源中沒有git,只能自己編譯安裝,現在記錄下編譯安裝的內容,留給自己備忘。確保已安裝了依賴的包 30 你的目錄可能不是這個 autoconf configure make sudo make install 檢查下安裝的版本,大功告成 git version 通過ssh 進行認證...
在centos上安裝nodejs
注 出處不明,但我按照下面的步驟,安裝沒有問題 1.安裝必要的make以及gcc,gcc c 編譯器,以及編譯python需要的bzip2 yum y install make gcc gcc c yum y install bzip2 2.安裝python2.6 1 先公升級python,假設公升...
在centos上安裝lksctp
用yum 工具 yum list lksctp 檢視相關的可用包 lksctp tools.i686 1.0.10 5.el6 base lksctp tools devel.i686 1.0.10 5.el6 base lksctp tools doc.i686 用yum install 把它們都...