本文安裝過程主要參考:
http://www.bugzilla.org/docs/3.6/en/html/installation.html
http://www.thegeekstuff.com/2010/05/install-bugzilla-on-linux/
安裝流程:
1. 先檢測下 Perl是否安裝了$ perl -v
如果沒有安裝,下載安裝
2. 安裝一個數(shù)據(jù)庫,推薦使用 MySQL$ mysql -V
如果沒有安裝的話,用 apt-get即可,server和client都裝下。
在裝 mysql-server的時候會提示輸入 password,記住,再后面創(chuàng)建數(shù)據(jù)庫的時候會用到。
3. 安裝apache2apt-get install 即可。
測試apache2是否正常:
在瀏覽器的URL欄輸入: http://localhost 或者 http://127.0.0.1;
只要出現(xiàn): It works!
表示服務(wù)器已經(jīng)正常啟動。
4. 下載并安裝 Bugzilla 下載 Bugzilla 3.6.1,地址:
http://www.bugzilla.org/download/下載后在 /var/www/目錄下解壓,然后進(jìn)入目錄
1)Perl 模塊的安裝
a)首先查看下缺少的模塊
bash# ./checksetup.pl --check-modules
b)然后利用這個命令將所缺模塊安裝上
bash# perl install-module.pl <modulename>
必須安裝的模塊有這些:
1. CGI (3.21)
2. Date::Format (2.21)
3. DateTime (0.28)
4. DateTime::TimeZone (0.71)
5. DBI (1.41)
6. DBD::mysql (4.00) if using MySQL
7. Digest::SHA (any)
8. Email::Send (2.00)
9. Email::MIME (1.861)
10. Email::MIME::Encodings (1.313)
11. Email::MIME::Modifier (1.442)
12. Template (2.22)
13. URI (any)
如果未安裝模塊太多,可以執(zhí)行下列命令,全體安裝:
(注意:由于安裝模塊的時候會有權(quán)限問題,所以在執(zhí)行下列命令前,
sudo chmod 777 -R bugzilla-3.6.1)
bash# /usr/bin/perl install-module.pl --all
(關(guān)于DateTime::TimeZone 模塊安裝失敗的問題,請參考此網(wǎng)站的最后回復(fù),Build)
http://www.experts-exchange.com/OS/Linux/Q_25111007.html需要自己下載DateTIme模塊,然后重新編譯,在解壓目錄 perl Build.PL,然后按照上面網(wǎng)站所說!!!
2)成功裝完后,生成本地config
bash# ./checksetup.pl
bash# vi ./localconfig
修改: $db_pass = 'akaedu';
修改: $webservergroup = 'www-data';
保存退出
3)之后在mysql數(shù)據(jù)庫中加入信息
bash# mysql -u root -p
(如果這里要輸入密碼一直過不去,請參考
http://hi.baidu.com/ever__love/blog/item/1c9b3c19cd0866f7af5133c7.html)
mysql> GRANT SELECT, INSERT,
UPDATE, DELETE, INDEX, ALTER, CREATE, LOCK TABLES,
CREATE TEMPORARY TABLES, DROP, REFERENCES ON bugs.*
TO bugs@localhost IDENTIFIED BY 'akaedu';
mysql> FLUSH PRIVILEGES;
mysql> quit;
mysql的命令必須都以分號結(jié)束。
4) 再次安裝
bash# ./checksetup.pl
如果上述一切正常,這次安裝過程中將提示你輸入 郵箱,真名,密碼。
郵箱是你登錄bugzilla的root用戶名,密碼就是密碼。
5. 配置apache的config,與bugzilla的index鏈接bash# vi /etc/apache2/apache2.conf
在內(nèi)部添加這樣一段:
<Directory /var/www/bugzilla-3.6.1>
AddHandler cgi-script .cgi
Options +Indexes +ExecCGI
DirectoryIndex index.cgi
AllowOverride Limit
</Directory>
然后重啟apache2
bash# /etc/init.d/apache2 restart
6. 到這里應(yīng)該就能正常訪問bugzilla的主頁了URL: http://localhost/bugzilla (如果不行,就把bugzilla的版本號加上)
就會看到如下圖像,表示正常登錄bugzilla了。

大功告成
進(jìn)入后,選一個 “File a bug”, 然后輸入root用戶名(郵箱)以及密碼就正常登錄,可以使用了。
目前遺留問題,無法注冊普通用戶,因?yàn)樽詴r候會發(fā)送確認(rèn)信件,發(fā)送顯示成功(沒有報(bào)錯),但目標(biāo)信件收不到,不知是哪里出了問題。TODO!
上述郵件發(fā)送問題已經(jīng)解決了!!!
解決方法:
感覺應(yīng)該是 bugzilla的設(shè)置問題,在bugzilla網(wǎng)頁上登錄后,點(diǎn)擊上端菜單中的
Administration, 然后選擇 Parameters, 在左側(cè)欄中選擇E-mail,然后在 mail_delivery_method中選擇 Test,雖然你點(diǎn)擊了發(fā)送郵件,但會被bugzilla自己截獲,存入 data/mailer.testfile文件中。如果發(fā)不出郵件,可以選擇Test,在data/mailer.testfile文件中如果有信息,那 說明郵件服務(wù)器有問題,但如果此文件中沒有信息,那就說明有別的問題。
我發(fā)送郵件顯示正常,但目標(biāo)收不到郵件,檢查 data/mailer.testfile文件,發(fā)現(xiàn)是空的。之前用telnet smtp測試,能正常連通smtp.163.com,思來想去,應(yīng)該就是bugzilla的設(shè)置問題。這個不成功的版本是在同時電腦上測試的,我自己的已 經(jīng)成功,只不過過程中修改的東西太多,不知如何調(diào)試了。于是乎我就想到了diff,網(wǎng)頁上的配置信息對應(yīng)到源碼中,就是 data/params文件,于是我將我的文件與我同事電腦上的這個文件進(jìn)行了diff,其中有一項(xiàng) use_mailer_queue。 不成功: 'use_mailer_queue' => '1', 成功的'use_mailer_queue' => 0, 于是將不成功的修改為 0,結(jié)果再嘗試Test, data/mailer.testfile中已經(jīng)有信息了,將 mail_delivery_method修改為SMTP,也能正常發(fā)送郵件了!