`
ihuashao
  • 浏览: 4531327 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Win2000下Bugzilla安装实录(二)

阅读更多

6 修改Perl脚本文件:

6.1 已经下载了本人提供的修改包的看官请看:

1. 打开D:\Bugzilla\defparams.pl文件,定位到文件尾部,做如下的信息修改:

2.替换Bugzilla访问页面:

替换http://<Your Bugzilla Root URL>为你对外提供Bugzilla访问的地址,主要用于E-Mail通知。

例如:http://192.168.0.1/Bugzilla/ (最后一个反斜杠一定要加,否则会出问题。)

3.替换E-Mail的服务器地址:

找到<Your E-Mail Server Address>,替换成你的邮箱的服务器地址,主要用于E-Mail通知。

例如:pop3.263.net

4.替换E-Mail的发送者地址:

找到<Your E-Mail Address>,替换成你的邮箱的地址,Bugzilla系统邮件通知的源地址。

例如:yoyo@263.net

5.替换E-Mail发送者的邮箱密码:

找到<Your E-Mail Password>,替换成你的邮箱密码,主要用于需要认证的邮件服务器。

例如:I am ladengJ

6.打开D:\Bugzilla\localconfig文件,做如下的信息修改:

7.修改Mysql的安装路径:

找到 $mysqlpath= 替换成你的mysql安装路径,注意要用双斜杠。

例如:$mysqlpath = “D:\\mysql\\bin\\mysql”;

8.修改登陆Mysql系统的bugs用户的登陆密码:

找到 $db_pass= 替换成在安装Mysql时创建的bugs用户的登陆密码。

例如:$db_pass = "I am ladeng";

6.2 没有下载本人提供的修改包的看官请看:

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.cgiUserPrefs.cgiToken.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-39724004-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 my $webservergid = ‘8’

12.打开D:\Bugzilla\checksetup.pl文件,更正回车换行问题,这是由于UnixWindows平台差异造成的: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 = '<bugs_password>'(mysql bugs用户的登陆密码)

14.OK!!脚本修改完毕,就差一步了,下面是正式安装Bugzilla

7 正式安装Bugzilla

1.打开CMD.exe,进入到D:\Bugzilla目录,键入perl checksetup.pl,会显示一系列的信息,仔细阅读,它可以反映你所配置的环境是否适合安装BugzillaGood 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

8 如何与Bugzilla开发小组的版本同步:

当各位看官费劲千辛万苦,终于把经过大量修改的脚本代码运行起来以后,没过多长时间,Bugzilla开发小组又发布了2.18版本,不仅更正了2.17中的大量Bug,而且功能增强不少,看得你心痒痒的,下载了一个最新版本,遇到了与以前同样的问题:修改大量的Perl脚本,真是一场恶梦!L!

鉴于这种情况,本人使用CVS系统来处理,供各位看官参考!!前提是,你已经搭建了一套CVSNT系统,如果你还没有,可以参考本人写的相关文档。

首先,从www.bugzilla.org下载最新的Bugzilla-2.17.6版本,解压后,使用WinCVSBugzilla代码ImportCVS系统中,并建立Mozilla开发分支和发行标记,注意:主分支是你自己使用的分支,根据你自己的需要进行修改;而Mozilla是开发旁分支,用于与MozillaBugzilla开发小组进行版本同步更新,即当Bugzilla有大的改进时,你可以下载那个发行版本,加入到这个Mozilla开发分支当中,然后再与主分支合并,就可以得到我们需要的最新的,而且是修改过的Bugzilla版本了。这样,就能很好的避免每一个新版本的Bugzilla源代码都去进行费时费力的大量修改。哈哈,‘爽’就一个字!!当然,在合并的过程中,可能会遇到冲突问题,不过,至少比直接修改源代码来得容易三。

下面是本人使用的分支名称,仅供参考:

Branch => Mozilla(Vendor Tag)

Release=> Ver-2-17-6(Release Tag)

(未完,待续)

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics