Bugzilla与Teslink安装与整合(Windows)


前些天有给公司做一个内部web系统的测试,于是搭建起bugzilla与testlink系统。因为初次搭建,所以选择了Windows系统,有空再研究一下在Linux上的搭建。

一、Bugzilla4.0.2安装

1.1.    准备

下载工具(可到各官方网站下载最新版本):

Ø  Mysql (5.5.17)

 http://dev.mysql.com/downloads/

Ø  Perl (ActivePerl-5.12.4.1205-MSWin32-x86-294981.msi)

http://www.activestate.com/activeperl/downloads

Ø  Bugzilla (bugzilla-4.0.2.tar.gz)

Ø http://www.bugzilla.org/download/

Ø  Apache (httpd-2.2.21-win32-src.zip)

下载Apache HTTP Server version 2.x 或更高版本:http://httpd.apache.org/download.cgi

1.2.     安装和配置mysql

安装

点击Setup.exe

Next,选择Complete完全安装,点击Next

点击Install开始安装

 

选择"Skip Sign-Up",点击“Next”

点击“Finish”

点击“next”

选择"Standard Configuration",点击“Next”

选择"Install As Widnows Service"

选择"Lauch the MySQL Serverautomatically"

选择"Include Bin Directory in WindowsPATH",

再点击“Next”

设置root用户的密码,点击“Next”

安装完成

1.3.     配置

创建Bugs数据库和用户

使用mysql 命令行创建,打开开始菜单-运行,输入cmd,打开命令行窗口进入 C:\mysql\bin>


需要输入的蓝字命令如下:

C:\mysql\bin>mysql--user=root -p mysql

Enterpassword: ******** (随意密码)

Welcometo the MySQL monitor. Commands end with ; or \g.

YourMySQL connection id is 15 to server version: 4.0.20a-debug

Type'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>create database bugs;

QueryOK, 1 row affected (0.11 sec)

mysql>grant all privileges on bugs.* to 'bugs'@'localhost'identified by 'shorelew';

QueryOK, 0 rows affected (0.03 sec)

mysql> flush privileges;

QueryOK, 0 rows affected (0.00 sec)

mysql>set password for 'bugs'@'localhost' =OLD_PASSWORD('shorelew');

QueryOK, 0 rows affected (0.00 sec)

mysql>quit

Bye

C:\mysql\bin>

 

1.4安装perl

安装Perl很容易,直接点击下一步下一步就可以了。

这里假设你安装的路径是C:\Perl

 

1.5安装bugzilla

1、             把下载到压缩包解压到一个文件夹,然后在cmd里面运行Bugzilla的安装检查程序(CheckSetup.pl),

如果本机上已经安装了oracle10g数据库的话, 此时会报错.

E:\Apache2.2\htdocs\bugzilla2.22.4>perl checksetup.pl
Perl lib version (v5.8.3) doesn't match executableversion (v5.8.8)......

解决办法: 我的电脑-->属性-->高级-->环境变量, 找到PERL5LIB, 发现它指的路径是oracle自带的perl, 将它修改为Perl的安装路径==>E:\Perl\lib,exit退出cmd窗口. 再开cmd进入之前的路径执行perl checksetup.pl看看.

 

在cmd中运行checksetup.pl 。这时将创建数据库相关表和初始化Bugzilla。操作如下。

C:\bugzilla>perl checksetup.pl

 

正常输出如下:

Microsoft Windows[版本 5.2.3790]

(C) 版权所有 1985-2003 Microsoft Corp.

 

C:\Documents andSettings\Administrator>"C:\ProgramFiles\bugzilla-4.0.2\checksetup.pl"

* This is Bugzilla4.0.2 on perl 5.12.4

* Running onWin2003 Build 3790 (Service Pack 2)

 

Checking perlmodules...

Checking for               CGI.pm (v3.51)     ok: found v3.55

Checking for           Digest-SHA (any)       ok: found v5.62

Checking for             TimeDate (v2.21)     not found

Checking for             DateTime (v0.28)     not found

Checking for    DateTime-TimeZone (v0.79)     not found

Checking for                  DBI (v1.41)     ok: found v1.616

Checking for     Template-Toolkit (v2.22)     not found

Checking for           Email-Send (v2.16)     not found

Checking for           Email-MIME (v1.904)    not found

Checking for                  URI (any)       ok: found v1.58

Checking for       List-MoreUtils (v0.22)     ok: found v0.32

 

Checking availableperl DBD modules...

Checking for               DBD-Pg (v1.45)     ok: found v2.17.2

Checking for            DBD-mysql (v4.00)     not found

Checking for           DBD-Oracle (v1.19)     ok: found v1.27

 

The following Perlmodules are optional:

Checking for                   GD (v1.20)     ok: found v2.45

Checking for                Chart (v2.1)      not found

Checking for          Template-GD (any)       not found

Checking for           GDTextUtil (any)       ok: found v0.86

Checking for              GDGraph (any)       ok: found v1.44

Checking for           MIME-tools (v5.406)    not found

Checking for          libwww-perl (any)       ok: found v6.02

Checking for             XML-Twig (any)       not found

Checking for          PatchReader (v0.9.4)    not found

Checking for            perl-ldap (any)       not found

Checking for          Authen-SASL (any)       not found

Checking for           RadiusPerl (any)       not found

Checking for            SOAP-Lite (v0.712)    not found

Checking for             JSON-RPC (any)       not found

Checking for              JSON-XS (v2.0)      not found

Checking for           Test-Taint (any)       not found

Checking for          HTML-Parser (v3.40)     ok: found v3.68

Checking for        HTML-Scrubber (any)       not found

Checking forEmail-MIME-Attachment-Stripper (any)       not found

Checking for          Email-Reply (any)       not found

Checking for          TheSchwartz (any)       not found

Checking for       Daemon-Generic (any)       not found

Checking for             mod_perl (v1.999022) not found

Checking for     Apache-SizeLimit (v0.93)     not found

Checking for   Math-Random-Secure (v0.05)     not found

Checking for            Win32-API (any)       ok: found v0.62

………

它会自动检验需要安装的软件。

 

对应也会显示出来需要安装的PPM,如下:

COMMANDS TOINSTALL REQUIRED MODULES (You *must* run all these commands and then re-runthis script):

 

    ppm install TimeDate

    ppm install DateTime

    ppm install DateTime-TimeZone

    ppm install Template-Toolkit

    ppm install Email-Send

    ppm install Email-MIME

2、逐个运行上面六行命令,进行安装必须安装的这六个PPM(这时必须保证计算机能上网)

这段时间可能会比较长,请耐心等候。

也可在其间运行Bugzilla的安装检查程序(CheckSetup.pl)查看有什么程序要安装。

(最好能将所有东西都装上)

3、在这五个PPM安装完成后,重新运行CheckSetup.pl,bugzilla目录下生成localconfig文件.

修改localconfig:

$db_host改成mysql server端的服务器,我装在本机,所以不用修改;

$db_name = 'bugs';也是我新建的BUG数据库的名称,所以不用修改;;

$db_user = 'bugs';改为$db_user = 'root';root是我登录bugzilla数据库的用户名

$db_pass = '';改为$db_pass = '123';是我登录bugzilla数据库的用户root的密码

$db_port = 0;改成$db_port = 3306; ----mysql安装默认端口是3306;

修改完成后,保存.

 

4、重新执行checksetup.pl,这时会提示DBD-mysql(v4.00)找不到,如下:

 

Checking for           DBD-mysql (v4.00)     not found

 

For MySQL, Bugzilla requires that perl's DBD::mysql 4.00 orlater be

installed. To install this module, run the following command (asAdministrator):

    ppm install DBD-mysql

 

5、运行“ppm installDBD-mysql”,进行安装DBD-mysql

 

6、重新执行checksetup.pl

dos窗口中可以看到在往数据库中创建相应的表结构.

表结构创建完后,提示要求输入管理帐号的邮件,realname和密码,

输入后,继续执行,直到提示"Nowthat you have installed Bugzilla......".

 

1.6 把bugzilla部署到apache服务器上

如果已经把bugzilla部署到IIS上,可以跳过这一步。

!注意:安装server的机器上关闭防火墙。

1、         部署apache参数,针对httpd.conf做一些修改:

(1)     在该文件的末尾添加如下代码,路经可以替换成你所需要的bugzilla目录

Alias /bugzilla "C:\sites\bugzilla "
<Directory "C:\sites\bugzilla ">
Options ExecCGI All
AllowOverride All
ScriptInterpreterSource Registry-Strict
Order allow,deny
Allow from all
</Directory>

(2)     修改Httpd.conf中的配置CGI访问,

同样需要把下面这一句前面的#给去掉,AddHandler cgi-script .cgi(使cgi脚本有效);

同时修改apache的缺省访问文件:在DirectoryIndex index.html index.html.var后面添加一个index.cgi。

2、         添加注册表项(参考blog2__will2专栏),新建以下项目HKEY_CLASSES_ROOT\.cgi\Shell\ExecCGI\Command,以前系统是不包含这个路径的,然后在数据中找到perl脚本的安装位置并写入,以“-T”结束。

 

3、         重启Apache服务器,打开http://localhost/Bugzilla,如下图所示

 

1.6.1设置urlbase

Urlbase是bugzilla的基本链接地址

管理员登录后“Administrator”-〉“parameters”找到urlbase设置项,进行设置,

如:http://192.168.10.128/bugzilla/

                                注意:urlbase不要随便设置,不然会影响后面的bug的seach 以及在testlink中的bugmanagement

 

 

 

二、Testlink安装

 

1、 php5.3.8安装(In windows),配置

 

11: 下载php5.3.8 for windows.

说明一下,官网的windows版本有2,

上面是非线程安全的VC9 x86 Non Thread Safe , 缺少了php5apache2_2.dll 这些文件, 大小是14.93M .

下面那个Thread Safe线程安全版的.才是我们需要的,大小是15.06M

点击这里下载php5.3.8 for windows VC9 X86

至于VC6VC9,一个支持apache一个支持IIS.但是试了下VC9用在apache上没问题 .

线程安全Thread Safe(TS)和非线程安全(NTS),就是在执行时是否进行线程安全检查,以防止有新要求就启动新建成的CGI执行方式,进而耗尽系统资源.

执行方式有ISAPIFastCGI,

前者ISAPI(Internet Server Application ProgrammingInterface)是以DLL动态链接库的形式使用,在用户请求后执行,在处理完一个用户请求后不会马上消失,因此需要进行线程安全检查.以此来提高程序的执行效率. 所以以ISAPI的方式来执行PHP,最好选择Thread Safe版本也就是我们下载的版本,对应的apache的设置在第4段末尾有.

FastCGI是以单一线程执行,所以不需要进行线程安全检查,因为没有了线程安全检查,反而加快了PHP的执行效率.所以如果用FastCGI来执行PHP,最好选择Not Thread Safe版本 .而在apache中就需要设置成下面的.(这里我们配置的环境不用设置)

view plaincopy toclipboardprint?

1        ScriptAlias /php/"F:/php/PHP5" 

2        Actionapplication/x-httpd-php "/php/php-cgi.exe" 

(Notice: 如果安装其它的集成环境,比如wamp会报错,由于这是VC9的原因.会导致加载PHPIniDirapache不能重启.同理,如果有phper的机器装不上APACHE.PHP5.3.8.解决办法有2,第一办法是建议换成VC6的版本.官方apache手册也说了VC 9 for apache unstable behaviour,需要大家重新安装.设置跟5.3.8一样.第二个办法是装一个VC++2008的运行环境,具体解决方法请看下面的第10.

Windows users: please mind that we dono longer provide builds created with Visual Studio C++ 6. It is impossible tomaintain a high quality and safe build of PHP for Windows using thisunmaintained compiler.

For Apache SAPIs (php5_apache2_2.dll), be sure that you usea Visual Studio C++ 9 version of Apache. We recommend the Apache builds asprovided by ApacheLounge. For any other SAPI (CLI, FastCGI via mod_fcgi,FastCGI with IIS or other FastCGI capable server), everything works as before.Third party extension providers must rebuild their extensions to make themcompatible and loadable with the Visual Studio C++9 builds that we now provide.)

1.2:解压,以前的php.ini是由php.ini-dist文件转变过来的

php5.3.8里面这个文件变成了php.ini-development

php.ini-development 意味着是开发版本的配置.

php.ini-production 是网站发布时的配置.

这里我们用开发版php.ini-development  修改成php.ini打开.



1.3:下面修改php.ini的配置 我的php5.3.8是放在了F:/php/php5 文件夹下面

修改下面的为以下内容()

view plaincopy toclipboardprint?

3        short_open_tag = On                 短标签<?  ?>开启 

4        asp_tags = On                       asp的短标签<* *>开启 

5        register_globals = off              超级全局变量,建议关闭,打开它会造成安全上的漏洞 

6        post_max_size= 8M                   POST提交时候的最大数据提交量 

7        magic_quotes_gpc = off              php自带的安全验证,建议开启 

8        file_uploads = On                   php支持文件上传 

9        upload_max_filesize =2M            文件上传最大值 2M  

10     max_file_uploads = 20               同时并发上传的最大文件数 

 

找到extension_dir 和下面很多的 extension= ****.dll 这里

extension=****.dll 的前面加上这一段来配置php的动态链接库地址

view plaincopy toclipboardprint?

11     extension_dir="F:\php\php5\ext" 

去掉以下的extension前面的分号使其开启

view plaincopy toclipboardprint?

12     extension=php_bz2.dll 

13     extension=php_curl.dll 

14       

15     extension=php_gd2.dll 

16     extension=php_gettext.dll 

17       

18     extension=php_mbstring.dll 

19     extension=php_mysql.dll 

20     extension=php_mysqli.dll 

21       

22     extension=php_openssl.dll 

23     extension=php_pdo_mysql.dll 

24       

25     extension=php_sockets.dll 

26       

27     extension=php_xmlrpc.dll 

找到data.timezone 

设置时区为中国时区

view plaincopy toclipboardprint?

28     date.timezone = prc  (注意,这儿可能引起后面的问题,详见后面的问题解决2

保存php.ini 并且复制一份到C:\windows



1.4:Apahce支持php. (Apache的安装很简单,这里省略下)

打开.\apache2.2\conf\httpd.conf

在大约60行的位置添加

view plaincopy toclipboardprint?

29     PHPIniDir"F:/php/php5" 

注意一定要添加在LoadModule那一段的前面,以便提前加载,不然稍后的phpMyAdmin容易出错.

LoadModule这段后面添加

view plaincopy toclipboardprint?

30     LoadModule php5_module"F:/php/php5/php5apache2_2.dll" 

apachehtdocs重写这里就省略下. ( T _ T 刚才都要写完了,没保存掉chromium假死了下,然后就白写了...)

在大约380Addtype那里加入

view plaincopy toclipboardprint?

31     AddTypeapplication/x-httpd-php .php .php5 .php4 .php3 .phtml .phpt 

32     AddTypeapplication/x-httpd-php-source .phps 

 

1.5:重启Apache

这时候弹出找不到php_curl.dll php_openssl.dll

可是我们路径都指定了的,解决办法

复制php5文件夹下面的

libeay32.dll,ssleay32.dll, php5ts.dll,

 php5/ext文件夹下面的

php_curl.dll,php_openssl.dll

复制到C:/windows/system32 里面.

重启apache

 

注意:Apache一定要重新启动

 

1.6:测试phpinfomysqlConn.

老版本的php是有一个libmysql.dll文件的,新版的libmysql.dll这个文件已经移交给了MySQL的开发团队,所以大家不用费心去找这个文件了.它就在MySQL安装目录的lib文件夹下. 复制一份到C:/windows/system32即可

在你的apache指定的www目录下新建一个phpinfo()文件.输入

 

view plaincopy toclipboardprint?

33     <?php 

34     echo phpinfo(); 

35     ?> 

打开浏览器输入http://127.0.0.1/phpinfo.php 得到php的信息

新建一个mysqlconn.php文件.输入

 

view plaincopy to clipboardprint?

36     <?php 

37         $conn=mysql_connect("localhost","root","123456")or die ("mysql_error()"); 

38         if(!$conn)echo "Failed!"; 

39         elseecho "Successful!"; 

40         print_r ($conn); 

41         mysql_close(); 

42     

打开浏览器输入http://127.0.0.1/mysqlconn.php

得到 Successful! 表明数据库链接成功

 

问题解决1:安装后无法重启apache,找到log日志

Cannot load php5apache2_2.dll into server

如果apache安装完后,打开127.0.0.1显示it works,但是加载配置了的php.ini,重启apache不能启动报错的话,,这里我们先查阅apacheerror.log,发现出现cannot load php5apache2_2.dll,这里说下这个问题的解决和缘由

首先去掉

LoadModulephp5_module "F:/php/php5apache2_2.dll"

PHPIniDir"F:/php/php5"

重启apache正常.apache版本2.2.18 php版本5.3.8 VC9. 由于5.3.8PHP是由VC编译完成,如果调用或者运行该PHP的相关文件,则需要安装VC的运行环境,如果没有这个环境,那么Apache调用时就会报上述错误信息.

解决的方法很简单:下一个VC2008运行库安装,地址在这里VC2008.,然后就可以解决了

 

 

 

2、   安装Testlink 1.9.3

(1)将TestLink解压缩到C:/Program Files/Apache SoftwareFoundation/Apache2.2/htdocs,重新命名为testlink

 

(3)访问http://127.0.0.1/testlink/install/index.php

 

(4)点击NewInstallation

 

(5)数据库管理员填写root及root的密码(先前的设定为12345678),数据库用户名填写tl,密码填写123456

 

(6)点击安装按钮,然后同意许可协议,继续

 

(7)安装完成,点击最后一行的(PleaseClick Me!)

 

(8)使用admin登录,密码:admin

 

(9)在菜单栏中的Personal中更改admin的密码,更改成功后在右上角点击注销

 

(10)删除C:/ProgramFiles/Apache Software Foundation/Apache2.2/htdocs/testlink/install目录

 

(11)访问http://127.0.0.1/testlink/index.php即可使用出现TestLink登陆界面,此时登陆界面为英文,如果需要修改为中文则

 

按以下步骤操作

 

打开testlink下cfg文件夹下的config.inc.php文件

 

查找$g_default_language = 'en_GB';

 

修改为

 

$g_default_language = 'zh_CN';

 

则可以解决登陆界面汉化的问题

 

注意:如果在步骤8之前出现错误提示信息,则需要重新启动电脑。

 

详细安装过程请参考 Testlink1.8.4安装及使用手册.pdf

 

问题解决2:安装好testlink后出现Warning:date() 【Function.date】:It is not safe to rely on the system’s timezone setting……

                解决方法:1、在config.inc.php页头使用date_default_timezone_set()设置默认时区为北京时间,即

<?php

Date_default_timezone_set(“PRC”);

?>

就可以了

2、在php.ini中设置date.timezone的值为PRC,设置好以后的为:

date. Timezone=PRC,同时取消前面的“;”

 

注意:第一种方法是可行的,第二种方法修改了之后,然后关闭apache,依然不行。最好使用第一种方法

 

 

 

 

 

三、Bugzilla4.0 与 Testlink1.9整合

这样,我们便成功部署好了Bugzilla和Testlink,下面则需要将两者整合起来,相比上面那么繁琐的配置来说非常的简单。

 

前提条件:

1.Bugzilla安装完成

2.如果是bugzilla和testlink不在同一服务器,需要远程访问bugzilla数据库的帐户

 

 

集成配置:

1.打开testlink下config.inc.php文件

查找$g_interface_bugs='NO';

修改为$g_interface_bugs='BUGZILLA';

注意:一定要大写BUGZILLA

2.打开testlink下cfg文件夹下的bugzilla.cfg.php文件夹,做如下修改

 

//Setthe bug tracking system Interface

/** TheDB host to use when connecting to the Bugzilla db */

define('BUG_TRACK_DB_HOST','localhost');

说明:安装bugzilla的服务器地址

注意:这里要写成”localhsot”,不要写成IP

 

/** Thename of the database that contains the Bugzilla tables */

define('BUG_TRACK_DB_NAME','bug');

说明:bugzilla的数据库名称

 

define('BUG_TRACK_DB_CHARSET','UTF-8');

说明:字符格式,否则会出现DB access error

 

/** TheDB type being used by Bugzilla */

define('BUG_TRACK_DB_USER','mysql');

说明:访问bugzilla数据库的帐户

 

/** TheDB password to use for connecting to the Bugzilla db */

define('BUG_TRACK_DB_PASS','123456');

说明:访问bugzilla数据库的密码

 

/** TheDB type to use for connecting to the bugtracking db */

define('BUG_TRACK_DB_TYPE','mysql');

/** linkof the web server */

define('BUG_TRACK_HREF',"http://192.168.0.77/cgi-bin/index.cgi/show_bug.cgi?id=");

说明:bugzilla访问地址+/show_bug.cgi?id=

 

/** linkto the bugtracking system, for entering new bugs */

define('BUG_TRACK_ENTER_BUG_HREF',"http://192.168.0.77/cgi-bin/index.cgi/");

说明:bugzilla访问地址

?>

 

注意:以上标记为“说明”的是增加的说明性文字。

修改完成后,如果bugzilla可以访问到,则在testlink下,执行测试的时候,每个执行结果记录后,都会有一个小虫子标记,如果某个测试用例执行失败,在bugzilla提交相关bug后,在testlink中点击该小虫子标记,可以填写bugzilla中的bug号。然后,会在执行结果中显示该bug号,点击bug号,则可以直接链接到bugzilla中提交的bug。

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值