一、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),配置
1、1: 下载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
至于VC6和VC9,一个支持apache一个支持IIS.但是试了下VC9用在apache上没问题 .
线程安全Thread Safe(TS)和非线程安全(NTS),就是在执行时是否进行线程安全检查,以防止有新要求就启动新建成的CGI执行方式,进而耗尽系统资源.
执行方式有ISAPI和FastCGI,
前者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的原因.会导致加载PHPIniDir后apache不能重启.同理,如果有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"
apache的htdocs重写这里就省略下. ( T _ T 刚才都要写完了,没保存掉chromium假死了下,然后就白写了...)
在大约380行Addtype那里加入
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:测试phpinfo和mysqlConn.
老版本的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不能启动报错的话,,这里我们先查阅apache的error.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.8的PHP是由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。