1. 打開D:\Bugzilla下所有的.cgi文件,去掉第一行的最后一個字符T ,如下:
例如:#!/usr/bin/perl –wT => #!/usr/bin/perl -w
2. 打開D:\Bugzilla下所有的.cgi文件,找到require "CGI.pl"; 在它后面增加一行:
require "Globals.pl"; 注意G一定要大寫,否則Perl會報告無法定位一些文件;但有幾個文件很特殊,必須寫成require “globals.pl”,真是奇怪,這些文件是:Token.cgi、UserPrefs.cgi、Token.pm,這個問題不曉得是什么原因,哪位看官曉得原因的話,請給我講講:)
3. 打開D:\Bugzilla\globals.pl文件,在Use Bugzilla:: 前面加入如下的郵件發送代碼:
sub SendMail
{
my ($msg,$person) = @_;
use Net::SMTP;
my $smtp_server = Param("mailserver");
my $smtp_user = Param("mailuser");
my $smtp_pass = Param("mailpass");
#$person .= Param('emailsuffix');
my $smtp = Net::SMTP->new($smtp_server) ||
die 'Cannot connect to server \'$smtp_server\'';
$smtp->auth($smtp_user,$smtp_pass);
$smtp->mail($smtp_user);
$smtp->to($person);
$smtp->data();
$smtp->datasend($msg);
$smtp->dataend();
$smtp->quit;
}
4. 打開D:\Bugzilla\defparams.pl文件,修改默認語言設置:
找到 name => ‘language’
修改 default => ‘en’ 為 default => ‘cn’
找到 name => ‘defaultlanguage’
修改 default => ‘en’ 為 default => ‘cn’
5. 打開D:\Bugzilla\defparams.pl文件,修改默認Bugzilla登陸頁面:
找到 name => 'urlbase'
修改 default => ‘http://….’ 根據你的具體Bugzilla登陸頁面進行修改。
6. 打開D:\Bugzilla\ defparams.pl文件,增加3個郵件通知需要的全局參數配置項:
① MailServer(郵件發送服務器地址)
{
name => 'mailserver',
desc => 'Mail-Server assigned by Jackey in 2004.02.02!',
type => 't',
default => 'pop3.263.net'
},
② MailUser(郵件發送者郵箱)
{
name => 'mailuser',
desc => 'Mail-User assigned by Jackey in 2004.02.02!',
type => 't',
default => 'yoyo@263.net'
},
③ MailPass(郵件發送者密碼)
{
name => 'mailpass',
desc => 'Mail-Pass assigned by Jackey in 2004.02.02!',
type => 't',
default => 'I am ladengJ'
},
7. 打開與郵件發送相關的.cgi、.pl、.pm文件進行郵件配置修改:具體方法是屏蔽掉原來的郵件發送代碼open SendMail,替換成自定義的SendMail(…)函數。
① 打開D:\Bugzilla\CGI.pl,將open SendMail改成:
SendMail($msg,$login);
② 打開D:\Bugzilla\Token.pm,將open SendMail改成:
SendMail($message,$vars->{'emailaddress'});
③ 打開D:\Bugzilla\whineatnews.pl,將open SendMail改成:
SendMail($msg,$substs{'email'});
④ 打開D:\Bugzilla\move.pl,將open SendMail改成:
SendMail($msg,$to);
⑤ 打開D:\Bugzilla\importxml.pl,將open SendMail改成:
SendMail($header . $message . "\n",$to);
⑥ 打開D:\Bugzilla\BugMail.pm,將open SendMail改成:
SendMail($msg,$person)
⑦ 打開D:\Bugzilla\Flag.pm,將open SendMail改成:
SendMail($message,$flag->{'type'}->{'cc_list'});
⑧ 打開D:\Bugzilla\globals.pl,將open SendMail改成:
SendMail($msg,$name);
8. 打開D:\Bugzilla\checksetup.pl文件,注釋掉與平臺相關的代碼:[3967-3972,4004-4008]
#$SIG{HUP} = \&bailout;
#$SIG{INT} = \&bailout;
#$SIG{QUIT} = \&bailout;
#$SIG{TERM} = \&bailout;
#system("stty","-echo"); # disable input echoing
9. 打開D:\Bugzilla\checksetup.pl文件,修改mysql安裝路徑:
找到my $mysql_binaries = `which mysql`; => my $mysql_binaries = "D:\\mysql\\bin\\mysql"
10. 打開D:\Bugzilla\checksetup.pl文件,修改cvsnt安裝路徑:(安裝了cvsnt才需要修改)
找到my $cvs_executable = `which cvs`; => my $cvs_executable = “D:\\cvsnt\\cvs.exe”;
11. 打開D:\Bugzilla\checksetup.pl文件,修改webservergid信息:
找到my $webservergid = getgrnam($my_webservergroup) => my $webservergid = ‘8’
12. 打開D:\Bugzilla\checksetup.pl文件,更正回車換行問題,這是由于Unix與Windows平臺差異造成的:Unix的回車換行是 \n,而Windows是 \r\n,因此需要去掉一個字符。
找到chomp $login; 增加一行chop $login;
找到chomp $realname; 增加一行chop $realname;
找到chomp $pass1; 增加一行chop $pass1;
找到chomp $pass2; 增加一行chop $pass2;
13. 打開CMD.exe,進入D:\Bugzilla目錄,鍵入perl checksetup.pl,運行一下,這時會生成一些文件,打開生成的localconfig文件,修改如下信息:
$index_html = 1 (生成index.html)
$mysqlpath = "D:\\mysql\\bin" (你的mysql\bin路徑)
$webservergroup = "8"
$db_user = "bugs" (mysql的登陸用戶名)
$db_pass = ''(mysql bugs用戶的登陸密碼)
14. OK!腳本修改完畢,就差一步了,下面是正式安裝Bugzilla。
7 正式安裝Bugzilla:
1. 打開CMD.exe,進入到D:\Bugzilla目錄,鍵入perl checksetup.pl,會顯示一系列的信息,仔細閱讀,它可以反映你所配置的環境是否適合安裝Bugzilla,Good Luck!!!J
2. 如果一切順利的話,系統提示創建Administrator的相關郵件(用戶登陸名)、Realname、登陸密碼等資料。最后,如果成功,會提示“Reminder: Bugzilla now requires version 8.7 or later of sendmail!”
3. 打開瀏覽器,鍵入http://localhost/bugzilla 即可進入Bugzilla登陸界面,輸入剛剛建立的Administrator用戶和密碼,注意:登陸名是郵箱地址。
4. 如果你很幸運的話,應該看到了一張很奇怪,很單調,甚至有點粗糙的頁面;那么,我可以恭喜你了,因為,你已經進入了Bugzilla的神奇世界了…J
5. 你可以測試一下郵件通知功能:在注冊與密碼丟失部分都可以進行測試,親身體會一下Bugzilla帶來的神奇世界吧…J
文章來源于領測軟件測試網 http://www.kjueaiud.com/