首 页 | 新 闻 | 技术中心 | 第二书店 | 《程序员》 | 《开发高手》 | 社 区 | 黄 页 | 人 才
移 动专 题SUNIBM微 软微 创精 华Donews人 邮
我的技术中心 
我的分类 我的文档
全部文章 发表文章
专栏管理 使用说明



 RSS 订阅 
最新文档列表
Windows/.NET
.NET  (rss)    
Visual C++  (rss)    
Delphi  (rss)    
Visual Basic  (rss)    
ASP  (rss)    
JavaScript  (rss)    
Java/Linux
Java  (rss)    
Perl  (rss)    
综合
其他开发语言  (rss)    
文件格式  (rss)    
企业开发
游戏开发  (rss)    
网站制作技术  (rss)    
数据库
数据库开发  (rss)    
软件工程
其他  (rss)    

积极原创作者 
tellmenow (22)
cutemouse (22)
softj (78)
iiprogram (69)
qdzx2008 (50)
goodboy1881 (14)
wangchinaking (58)
fancyhf (1)
harrymeng (41)
yjz0065 (113)
CSDN - 文档中心 - 其他 阅读:6900   评论: 1    参与评论
标题   Win2000下Bugzilla安装实录(二)     选择自 ycw 的 Blog
关键字   Bugzilla、Win2000、Perl、MySql
出处  

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)

 

(未完,待续)


相关文章
对该文的评论
littlecpu ( 2004-05-12)
$db_pass = "I am ladeng"

强啊,拉登