Bugzilla的安裝配置,其實也沒有傳說中的那么困難,問題在沒有經驗.剛剛完成bugzilla的配置,我想記錄下來我的詳細安裝過程,一是留點記錄進一步記憶理解,二是供朋友們參考. 好了言歸正傳!
(以下所列皆為本人安裝配置過程中的所用資源,不同版本的文件,系統等參照本文安裝不保證一定成功)
OS: Linux Red Hat Enterprise 5 (確保gcc編譯器等都已安裝上去,手工安裝gcc比較麻煩)
DB: MySQL-server-community-5.0.67-0.rhel5.i386.rpm, MySQL-client-community-5.0.67-0.rhel5.i386.rpm, MySQL-devel-community-5.0.67-0.rhel5.i386.rpm, MySQL-share-compat-5.0.67-0.rhel5.i386.rpm, MySQL-share-community-5.0.67-0.rhel5.i386.rpm. (http://www.mysql.org)
Apache: httpd-2.2.3-6.el5 (http://www.apache.org)
Bugzilla: Bugzilla-3.2rc2(目前是新的穩定版本,http://www.bugzilla.org)
開始安裝:
前提Linux平臺都已搭建完備,本文以此為基礎,Linux安裝不作贅述.
安裝配置mysql
1.安裝mysql,順序:MySQL-server***.rpm, MySQL-client***.rpm, MySQL-share-community***.rpm, MySQL-devel***.rpm, MySQL-share-compat***.rpm.
2.初始化數據庫: 輸入如下命令為root添加密碼, (真該死這個破blog不能方便貼圖)!
輸入:/usr/bin/mysqladmin -u root password '你的密碼',如你使用123456作為密碼,則輸入:/usr/bin/mysqladmin -u root password 123456即可.
3.創建bugs用戶,并分配權限.(注:bugzilla-2.18rc1版本后已經不需要用戶自己創建bugs數據庫了,用戶只需創建bugs用戶即可)
進入mysql(輸入命令:mysql -uroot -p, 回車后根據提示輸入剛才你初始化的密碼), 登入mysql后查看現有數據庫情況,輸入命令如下,
mysql>show databases;(別忘了這里的分號,該命令將顯示所有database,初始默認有: information_schema, mysql, test)
輸入如下創建bugs用戶并分配權限:
mysql>GRANT SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, CREATE, DROP, REFERENCES ON bugs.* TObugs@localhostINDENTIFIED BY '$db_pass';
mysql>FLUSH PRIVILEGES;
注: '$db_pass'為bugs用戶的密碼,隨你設定,但一定要緊記此密碼,下面將會用到. 本人設為bugs,即輸入GRANT... BY 'bugs';
至此數據庫方面配置完畢!
配置apache
關于apache的學習資料進apache官網:http://www.apache.org,查找學習,這里不做介紹.
新版本的apache需要修改的地方不多,主要有3個地方要注意:(修改配置文件httpd.conf即可,該文件一般存在你安裝路徑的/conf/下,若使用Linux系統自帶的apache,則可到/etc/httpd/conf/查找, vi編輯保存)
a.DocumentRoot,需要設置為你的bugzilla文件所在路徑,以及<Diretory "你的bugzilla文件所在路徑">
b.使用"./"找到AddHandler.cgi這行內容,去掉注釋,如果已經去掉,保留即可.如果不添加該語句,會把cgi文件中的內容當成文本形式顯示出來,而不是運行cgi程序.
c.創建一個目錄的權限說明, 一般如下所示:本例中bugzilla所在路徑為:/var/www/html/bugzilla
<Directory "/var/www/html/bugzilla">
Options ExecCGI FollowSymLinks
AllowOverride Limit
Order allow,deny
Allow from all
</Directory>
主要修改的內容是, 在Options中增加ExecCGI,該選項讓該目錄下的CGI腳本可以運行. 其次把AllowOverride的參數改為Limit, 這樣修改可以讓bugzilla通過生成.htaccess文件來控制目錄的訪問權限.
至此apache配置完畢!記得apache配置完畢后,要重啟啊,這樣你的配置才會生效!
配置bugzilla
bugzilla的運行還需要perl的一些模塊的支持, 在這提供一個網站www.cpan.org, 該網站提供了perl所有的模塊, 用戶可以在這search所需的perl模塊.好了,下面開始!
cd 到你bugzilla所在的目錄, 如:cd /var/www/html/bugzilla/
執行./checksetup.pl文件,查看perl模塊情況.直接在輸入:./checksetup.pl,回車即可.接下來會給出很多信息,仔細看你會發現有些模塊已經安裝ok,并給出版本,如:CGI.pm (v3.21) ok: found v3.42,但是初次安裝會有很多模塊缺失,會提示not found等信息.
關于安裝perl缺失模塊,有2個方法:
1. 如果網絡連接正常,可嘗試網絡安裝,根據運行./checksetup.pl后的提示信息輸入,即可自動下載安裝缺失模塊,此方法為方便,運氣好的話,可能一次性OK.
此處以安裝perl-Magick為例:輸入 /usr/bin/perl install-module.pl Image::Magick, 即可.
2. 手動安裝,需要到www.cpan.org下載相關模塊,此過程較為復雜(因為模塊間存在依賴關系,不是每個模塊都是一次安裝OK的),但可加深理解.手動安裝過程中,有以下幾點需要注意:
a.一般情況下Linux自帶的perl已經有了DBI模塊,此時根據提示正常安裝DBD-mysql即可.若perl的DBI模塊還沒有的話,又或是Linux沒有安裝perl,則到www.perl.org下載新的perl模塊安裝。
b.perl模塊的的安裝方法多為:
perl Makefile.PL
make
make test
make install
到此應該知道為什么強調要安裝gcc編譯器了吧?
有些模塊之間存在依賴性, 若make test過程中,產生異常可于make install后,重新執行perl Makefile.PL命令,此時可看到安裝異常的原因.若存在模塊依賴,則會提示需要安裝相應模塊.
當perl的必須模塊以及數據庫的DBD都安裝成功后,再次執行./checksetup.pl文件,查看perl模塊的安裝情況,若必須的perl模塊都安裝成功后,則會提示編輯/bugzilla/目錄下剛生成的的localconfig文件, 使用vi編輯該文件,修改該文件中的2個參數的值:
a. $index.html='0' 改為 $index.html='1', 這樣會生成一個index.html文件,該文件指向index.cgi.
b. 把$db_pass=''的空字符改為你當初創建bugs用戶時為其分配的密碼.
保存修改后退出,再次執行./checksetup.pl文件,此時將創建bugs數據庫以及數據庫中的表格,同時提示輸入管理員的用戶名, 真實姓名, 口令是什么. 自此bugzilla的配置完成.
注:提示輸入管理員的用戶必須使用郵箱名稱,如:test@163.com, 這是bugzilla的默認規定.
后使用瀏覽器打開bugzilla地址,進入第一次登陸界面.
如果出現提示沒有權限訪問bugzilla的話,則說明bugzilla目錄權限需要重新設置,可使用如下命令修改目錄權限: chown -R apache.apche <Bugzilla目錄名>,然后重新訪問可以了.
OK,終于總結完畢了,有問題留言吧,我會及時上來看的,謝謝!