推动正版化进程--开源测试工具bugzilla

来源:互联网 发布:it部门培训计划 编辑:程序博客网 时间:2024/05/22 10:50

Installing Bugzilla on Microsoft Windows

(windows2000中安装bugzilla)

(注意在你安装所有软件并开始登录,请先进入

http://loalhost/editparams.cgi 登陆然后配置基本参数)

文章参考来源:http://www.bugzilla.org/docs/win32install.html

笔者Email: mailto:123steel@gmail.com

前言:

为了推动公司正版化进程,公司测试部将评估使用Bugzilla来作为bug跟踪管理工具。

I´m evaluating Bugzilla to employ it in our next project.

1: 软件安装位置及下载地址(soft downing address)

l        C:/Bugzilla       (V2.20.1) http://bugzilla.org/download.html

l        C:/ mysql         (mysql-essential-5.0.20-win32.msi) http://dev.mysql.com/downloads/mysql/5.0.html

l        C:/ perl          (ActivePerl-5.8.8.817-MSWin32-x86-257965.msi)                   http://activestate.com/Products/Download/Download.plex?id=ActivePerl

l        Apache 2.x        (apache_2.0.55-win32-x86-no_ssl.msi)

http://httpd.apache.org/download.cgi         

l         graphviz-2.8.exe  Glob's sendmail wrapper 这是发送邮件得程序,需要SMTP配置

l         sendmail-bugzilla-setup.exe  http://www.graphviz.org/Download_windows.php

2开始安装

Bugzilla

 

下载 Bugzilla From Web

Download the Bugzilla 2.20.1 from:
http://bugzilla.org/download.html

推荐安装在 C:/Bugzilla.

 

MySQL

Download MySQL 5.0.20

Install mysql-essential-5.0.20-win32.msi

推荐安装在 C:/mysql.

Create Bugs Database and User(创建数据库和用户名)

Use the mysql command line utility to create the Bugzilla database and a MySQL account for Bugzilla.

Note in the following example 'sockmonkey' is my password for the bugs account:

进入windows命令行

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

Enter password: ********

Welcome to the MySQL monitor.  Commands end with ; or /g.

Your MySQL 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;

 

Query OK, 1 row affected (0.11 sec)

 

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

Query OK, 0 rows affected (0.03 sec)

 

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

 

mysql> quit

 

Bye

 

C:/mysql/bin>

 

ActiveState Perl

Download ActiveState Perl 5.8.8 or Higher

Download the ActiveState Perl 5.8.8 or Higher MSI from:

ActivePerl-5.8.8.817-MSWin32-x86-257965.msi
http://activestate.com/Products/Download/Download.plex?id=ActivePerl

 

Install

ActiveState Perl uses a standard Windows Installer. Install, sticking with the defaults, which will install Perl into C:/Perl.

Note: Installing Perl into a directory that contains a space (eg "C:/Program Files") will break the Template-Toolkit installer. (注意对C:/Program Files有读写权限)

Create Temp Directory

On Windows, Perl has a hard time of locating the correct directory to write its temporary files (CGI.pm, File::Spec). Basically it has a list of paths hard coded to use, instead of querying Windows for the correct path.

To avoid problems, create the C:/Temp directory (it has to be on drive C) and ensure SYSTEM has write and modify access.

Install Modules

Bugzilla requires a number of perl modules to be installed, all of which are available at http://landfill.bugzilla.org/ppm/.

If you use a proxy server or a firewall you may have trouble running PPM. This is covered in the ActivePerl FAQ.

The Net::LDAP module is only required if you want to use Active Directory for authentication.

C:/>ppm

 

PPM - Programmer's Package Manager version 3.1.

Copyright (c) 2001 ActiveState Corp. All Rights Reserved.

ActiveState is a devision of Sophos.

 

Entering interactive shell. Using Term::ReadLine::Stub as readline library.

 

Type 'help' to get started.

 

ppm> rep add Bugzilla http://landfill.bugzilla.org/ppm

Repositories:

[1] ActiveState PPM2 Repository

[2] ActiveState Package Repository

[3] Bugzilla

ppm> install AppConfig

====================

Install 'AppConfig' version 1.52 in ActivePerl 5.8.7.813.

====================

Downloaded 50508 bytes.

...

Successfully installed AppConfig version 1.52 in ActivePerl 5.8.7.813.

ppm> install TimeDate

====================

Install 'TimeDate' version 1.16 in ActivePerl 5.8.7.813.

====================

Downloaded 19235 bytes.

...

Successfully installed TimeDate version 1.16 in ActivePerl 5.8.7.813.

ppm> install DBI

====================

Install 'DBI' version 1.43 in ActivePerl 5.8.7.813.

====================

Downloaded 508164 bytes.

...

Successfully installed DBI version 1.43 in ActivePerl 5.8.7.813.

ppm> install DBD-mysql

 

====================

Install 'DBD-mysql' version 2.9002 in ActivePerl 5.8.7.813.

====================

Downloaded 178803 bytes.

...

Successfully installed DBD-mysql version 2.9002 in ActivePerl 5.8.7.813.

ppm> install Template-Toolkit

====================

Install 'Template-Toolkit' version 2.13 in ActivePerl 5.8.7.813.

====================

Downloaded 530770 bytes.

...

Successfully installed Template-Toolkit version 2.13 in ActivePerl 5.8.7.813.

ppm> install MailTools

====================

Install 'MailTools' version 1.67 in ActivePerl 5.8.7.813.

====================

Downloaded 46881 bytes.

...

Successfully installed MailTools version 1.67 in ActivePerl 5.8.7.813.

ppm> install GD

====================

Install 'GD' version 2.07 in ActivePerl 5.8.7.813.

====================

Downloaded 363039 bytes.

...

Successfully installed GD version 2.07 in ActivePerl 5.8.7.813.

ppm> install Chart

====================

Install 'Chart' version 2.3 in ActivePerl 5.8.7.813.

====================

Downloaded 58641 bytes.

...

Successfully installed Chart version 2.3 in ActivePerl 5.8.7.813.

ppm> install GDGraph

====================

Install 'GDTextUtil' version 0.86 in ActivePerl 5.8.7.813.

====================

Downloaded 19178 bytes.

...

Successfully installed GDTextUtil version 0.86 in ActivePerl 5.8.7.813.

====================

Install 'GDGraph' version 1.43 in ActivePerl 5.8.7.813.

====================

Downloaded 71764 bytes.

...

Successfully installed GDGraph version 1.43 in ActivePerl 5.8.7.813.

ppm> install PatchReader

 

====================

Install 'PatchReader' version 0.9.4 in ActivePerl 5.8.7.813.

====================

Downloaded 9558 bytes.

...

Successfully installed PatchReader version 0.9.4 in ActivePerl 5.8.7.813.

 

ppm>

 

Apache

 

Download Apache 2.x

Download the Apache HTTP Server version 2.x or high from:
http://httpd.apache.org/download.cgi

Install

Yet another standard Windows Installer. Just follow the prompts, making sure you Install for All Users. Be aware the Apache will always install itself into an Apache2 directory under what ever path you specify. The default install path will be displayed as C:/Program Files/Apache Group which will result in Apache being installed to C:/Program Files/Apache Group/Apache2. This gets me every time.

For the remainder of this document I will assume you installed Apache into the default location, C:/Program Files/Apache Group/Apache2.

If you are already running IIS, you must configure apache to run on a port other than 80, however you aren't asked the port to listen on at install time. Choose All Users (which says port 80), and we'll change the port later.

By default Apache installs itself to run as the SYSTEM account. For security reasons it's better the reconfigure the service to run as an Apache user. Create a user that is a member of no groups, and reconfigure the Apache2 service to run as that account.

Grant write access for Apache account

By default Apache will run as the SYSTEM account. This account needs write and modify access to the following directorys, and all their subdirectories. Depending on your version of Windows, this access may already be granted.

  • C:/Bugzilla/data
  • C:/Program Files/Apache Group/Apache2/logs
  • C:/Temp

Note that C:/Bugzilla/data is created the first time you run checksetup.pl.

Configure Port and DocumentRoot

Edit C:/Program Files/Apache Group/Apache2/conf/httpd.conf with your favourite text editor.

To change the port that Apache runs on (listens on, or binds to), edit the Listen option.

#

# Listen: Allows you to bind Apache to specific IP addresses and/or

# ports, instead of the default. See also the <VirtualHost>

# directive.

#

# Change this to Listen on specific IP addresses as shown below to

# prevent Apache from glomming onto all bound IP addresses (0.0.0.0)

#

#Listen 12.34.56.78:80

Listen 80

 

Change the DocumentRoot setting to point to C:/Bugzilla. Note there are two locations in httpd.conf that need to be updated. Note you need to use / instead of / as a path separator.

#

# DocumentRoot: The directory out of which you will serve your

# documents. By default, all requests are taken from this directory, but

# symbolic links and aliases may be used to point to other locations.

#

DocumentRoot "C:/Bugzilla"

 

#

# Each directory to which Apache has access can be configured with respect

# to which services and features are allowed and/or disabled in that

# directory (and its subdirectories).

#

# First, we configure the "default" to be a very restrictive set of

# features.  

#

<Directory />

    Options FollowSymLinks

    AllowOverride None

</Directory>

 

#

# Note that from this point forward you must specifically allow

# particular features to be enabled - so if something's not working as

# you might expect, make sure that you have specifically enabled it

# below.

#

 

#

# This should be changed to whatever you set DocumentRoot to.

#

<Directory "C:/Bugzilla">

Configure CGI

To enable CGI support in Apache, you need to enable the CGI handler, by uncommenting the AddHandler cgi-script .cgi line.

#

# AddHandler allows you to map certain file extensions to "handlers":

# actions unrelated to filetype. These can be either built into the server

# or added with the Action directive (see below)

#

# To use CGI scripts outside of ScriptAliased directories:

# (You will also need to add "ExecCGI" to the "Options" directive.)

#

AddHandler cgi-script .cgi

And allow .cgi scripts in the Bugzilla directory by adding the ExecCGI option. We also need to allow Bugzilla's .htaccess file to restrict access to sensitive documents by allowing it to override the defaults. This involves changing AllowOverride None to AllowOverride All.

Apache also needs to know to use Perl to execute .cgi files, via the ScriptInterpreterSource directive.

#

# This should be changed to whatever you set DocumentRoot to.

#

<Directory "C:/Bugzilla">

 

#

# Possible values for the Options directive are "None", "All",

# or any combination of:

#   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews

#

# Note that "MultiViews" must be named *explicitly* --- "Options All"

# doesn't give it to you.

#

# The Options directive is both complicated and important.  Please see

# http://httpd.apache.org/docs-2.0/mod/core.html#options

# for more information.

#

    Options Indexes FollowSymLinks ExecCGI

 

#

# AllowOverride controls what directives may be placed in .htaccess files.

# It can be "All", "None", or any combination of the keywords:

#   Options FileInfo AuthConfig Limit

#

    AllowOverride All

 

#

# Controls who can get stuff from this server.

#

    Order allow,deny

    Allow from all

 

#

# Tell Apache to use Perl to execute .cgi

#

    ScriptInterpreterSource Registry-Strict

 

</Directory>

You also should add index.cgi to the DirectoryIndex list.

#

# DirectoryIndex: sets the file that Apache will serve if a directory

# is requested.

#

# The index.html.var file (a type-map) is used to deliver content-

# negotiated documents.  The MultiViews Option can be used for the

# same purpose, but it is much slower.

#

DirectoryIndex index.html index.html.var index.cgi

In order for ScriptInterpreterSource Registry-Strict to work, you also need to add an entry to the Registry so Apache will use Perl to execute .cgi files.

Create a key HKEY_CLASSES_ROOT/.cgi/Shell/ExecCGI/Command with the default value of the full path of perl.exe with a -T parameter. For example C:/Perl/bin/perl.exe -T

Disable Logging

Unless you want to keep statistics on how many hits your Bugzilla install is getting, it's a good idea to disable logging by commenting out the CustomLog directive.

 

#

# The location and format of the access logfile (Common Logfile Format).

# If you do not define any access logfiles within a <VirtualHost>

# container, they will be logged here.  Contrariwise, if you *do*

# define per-<VirtualHost> access logfiles, transactions will be

# logged therein and *not* in this file.

#

#CustomLog logs/access.log common

Restart Apache

Finally, restart Apache to get it pick up the changes.

Extras

While Bugzilla 2.20.1 has built in support for SMTP servers, it doesn't (yet) support SMTP authentication or debugging of SMTP errors.

If you require SMTP authentiation (including POP before SMTP), you can use Glob's sendmail wrapper. Download and install as per the instructions on that site.

If you enable logging in Sendmail, you need to ensure that your Apache account has write access to C:/usr/lib.

Configure Bugzilla

checksetup.pl

Run checksetup.pl. This will check your Perl modules and create localconfig.

C:/>cd bugzilla

 

C:/bugzilla>perl checksetup.pl

 

Checking perl modules ...

Checking for       AppConfig (v1.52)   ok: found v1.55

Checking for             CGI (v2.93)   ok: found v3.10

Checking for    Data::Dumper (any)     ok: found v2.121_04

Checking for    Date::Format (v2.21)   ok: found v2.22

Checking for             DBI (v1.38)   ok: found v1.48

Checking for      File::Spec (v0.84)   ok: found v3.05

Checking for      File::Temp (any)     ok: found v0.16

Checking for        Template (v2.08)   ok: found v2.13

Checking for      Text::Wrap (v2001.0131) ok: found v2001.09293

Checking for    Mail::Mailer (v1.65)   ok: found v1.67

Checking for        Storable (any)     ok: found v2.13

 

The following Perl modules are optional:

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

Checking for     Chart::Base (v1.0)    ok: found v2.3

Checking for     XML::Parser (any)     ok: found v2.34

Checking for       GD::Graph (any)     ok: found v1.43

Checking for GD::Text::Align (any)     ok: found v1.18

Checking for     PatchReader (v0.9.4)  ok: found v0.9.5

 

Most ActivePerl modules are available at Apache's ppm repository.

A list of mirrors is available at

    http://www.apache.org/dyn/closer.cgi/perl/win32-bin/ppms/

You can add the repository with the following command:

    ppm rep add apache http://www.apache.org/dist/perl/win32-bin/ppms/

 

Checking user setup ...

 

This version of Bugzilla contains some variables that you may want

to change and adapt to your local settings. Please edit the file

'./localconfig' and rerun checksetup.pl

 

The following variables are new to localconfig since you last ran

checksetup.pl:   index_html cvsbin interdiffbin diffpath create_htaccess

webservergroup db_driver db_host db_pass db_sock db_check

 

C:/bugzilla>

Edit localconfig

Open C:/Bugzilla/localconfig in your favourite text editor to configure Bugzilla.

You have to tell Bugzilla how to access your database. If you used bugs/bugs, you'll only have to set db_pass.

#

# How to access the SQL database:

#

$db_host = "localhost";         # where is the database?

$db_port = 3306;                # which port to use

$db_name = "bugs";              # name of the MySQL database

$db_user = "bugs";              # user to attach to the MySQL database

 

#

# Enter your database password here. It's normally advisable to specify

# a password for your bugzilla database user.

# If you use apostrophe (') or a backslash (/) in your password, you'll

# need to escape it by preceding it with a / character. (/') or (//)

#

$db_pass = 'sockmonkey';

checksetup.pl

Run checksetup.pl again. This time it will build your database tables and initialise Bugzilla.

C:/bugzilla>perl checksetup.pl

 

Checking perl modules ...

Checking for       AppConfig (v1.52)   ok: found v1.55

Checking for             CGI (v2.93)   ok: found v3.10

Checking for    Data::Dumper (any)     ok: found v2.121_04

Checking for    Date::Format (v2.21)   ok: found v2.22

Checking for             DBI (v1.38)   ok: found v1.48

Checking for      File::Spec (v0.84)   ok: found v3.05

Checking for      File::Temp (any)     ok: found v0.16

Checking for        Template (v2.08)   ok: found v2.13

Checking for      Text::Wrap (v2001.0131) ok: found v2001.09293

Checking for    Mail::Mailer (v1.65)   ok: found v1.67

Checking for        Storable (any)     ok: found v2.13

 

The following Perl modules are optional:

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

Checking for     Chart::Base (v1.0)    ok: found v2.3

Checking for     XML::Parser (any)     ok: found v2.34

Checking for       GD::Graph (any)     ok: found v1.43

Checking for GD::Text::Align (any)     ok: found v1.18

Checking for     PatchReader (v0.9.4)  ok: found v0.9.5

 

Most ActivePerl modules are available at Apache's ppm repository.

A list of mirrors is available at

    http://www.apache.org/dyn/closer.cgi/perl/win32-bin/ppms/

You can add the repository with the following command:

    ppm rep add apache http://www.apache.org/dist/perl/win32-bin/ppms/

 

Checking user setup ...

Creating data directory (./data) ...

Creating graphs directory...

Creating .htaccess...

Creating Bugzilla/.htaccess...

Creating ./data/.htaccess...

Creating ./template/.htaccess...

Creating ./data/webdot/.htaccess...

Precompiling templates ...

Checking for    MySQL Server (v3.23.41) ok: found v4.0.20a-debug

 

Creating table user_group_map ...

Creating table series_data ...

Creating table longdescs ...

Creating table dependencies ...

Creating table components ...

Creating table keywords ...

Creating table cc ...

Creating table duplicates ...

Creating table groups ...

Creating table flagtypes ...

Creating table profiles ...

Creating table products ...

Creating table bugs_activity ...

Creating table series_categories ...

Creating table keyworddefs ...

Creating table fielddefs ...

Creating table group_control_map ...

Creating table profiles_activity ...

Creating table group_group_map ...

Creating table user_series_map ...

Creating table bugs ...

Creating table series ...

Creating table versions ...

Creating table flagexclusions ...

Creating table logincookies ...

Creating table watch ...

Creating table bug_group_map ...

Creating table votes ...

Creating table attachments ...

Creating table flags ...

Creating table milestones ...

Creating table tokens ...

Creating table flaginclusions ...

Creating table quips ...

Creating table namedqueries ...

Creating initial dummy product 'TestProduct' ...

Populating duplicates table...

Creating duplicates directory...

Migrating old chart data into database ...

Adding group tweakparams ...

Adding group editusers ...

Adding group creategroups ...

Adding group editcomponents ...

Adding group editkeywords ...

Adding group admin ...

Adding group editbugs ...

Adding group canconfirm ...

 

Looks like we don't have an administrator set up yet.  Either this is your

first time using Bugzilla, or your administrator's privileges might have

accidently been deleted.

Enter the e-mail address of the administrator: byron@example.com

You entered 'byron@example.com'.  Is this correct? [Y/n] y

Enter the real name of the administrator: Byron Jones

 

Enter a password for the administrator account: beef

 

Please retype the password to verify: beef

 

'byron@example.com' is now set up as an administrator account.

 

C:/bugzilla>

Parameters

You should now be able to log into to Bugzilla using the account checksetup.pl just created. Point your web browser to http://localhost/, choose Log in to an existing account, and login.

(这里will happen error: http://you-havent-visited-editparams.cgi-yet/index.cgi)

You should enter   http://localhost/editparams.cgi

In the page footer, choose Parameters.

Put in your email address as the maintainer.

maintainer:

The email address of the person who maintains this installation of Bugzilla.

123steel@gmail.com

Put in the URL to Bugzilla in the urlbase field. This URL will be used in emails, so don't use localhost.

urlbase:

The URL that is the common initial leading part of all Bugzilla URLs.

http://loalhost/

Download and install WebDot from http://www.graphviz.org/Download_windows.php. Put the complete path to dot.exe in webdotbase.

webdotbase:

It is possible to show graphs of dependent bugs. You may set this parameter to any of the following:

  * A complete file path to 'dot' (part of GraphViz) will generate the graphs locally.
  * A URL prefix pointing to an installation of the webdot package will generate the graphs remotely.
  * A blank value will disable dependency graphing.

The default value is a publically-accessible webdot server. If you change this value, make certain that the webdot server can read files from your webdot directory. On Apache you do this by editing the .htaccess file, for other systems the needed measures may vary. You can run checksetup.pl to recreate the .htaccess file if it has been lost.

C:/Program Files/ATT/Graphviz/bin/dot.exe

 

原创粉丝点击