Bugzilla is a free defect tracking systems which allow individual or groups of developers
to keep track of outstanding bugs in their product.
Bugzilla is licensed under the Mozilla Public License,
and is thus both free and open source software.
The latest bugzilla version can be downloaded from:
http://www.bugzilla.org/download/
Installing Bugzilla 2.22
Information
none
Operating system used
Windows XP Home Edition Version 5.1 SP 2
Software prerequisites
Perl 5.8.1 or higher for Windows (or Perl 5.6.1 or higher for non-Windows platforms).
MySQL 4.0.14 or higher (or PostgreSQL 7.3.x or higher).
Apache 1.3.x or 2.x
Procedure
- Download and unzip bugzilla-2.22.tar.gz
For example: C:\Tools\bugzilla-2.22
- First check if you have all appropriate versions of all the required Perl modules installed, type:
C:\Tools\bugzilla-2.22>perl checksetup.pl --check-modules
You should see something like:
Checking perl modules ...
Checking for AppConfig (v1.52) not found
Checking for CGI (v2.93) ok: found v3.04
Checking for Data::Dumper (any) ok: found v2.121
Checking for Date::Format (v2.21) not found
Checking for DBI (v1.38) not found
Checking for File::Spec (v0.84) ok: found v0.87
Checking for File::Temp (any) ok: found v0.14
Checking for Template (v2.08) not found
Checking for Text::Wrap (v2001.0131) ok: found v2001.09291
Checking for Mail::Mailer (v1.67) not found
Checking for MIME::Base64 (v3.01) ok: found v3.01
Checking for MIME::Tools (v5.406) not found
Checking for Storable (any) ok: found v2.12
The following Perl modules are optional:
Checking for GD (v1.20) not found
Checking for Chart::Base (v1.0) not found
Checking for XML::Twig (any) not found
Checking for GD::Graph (any) not found
Checking for GD::Text::Align (any) not found
Checking for PatchReader (v0.9.4) not found
Checking for Image::Magick (any) not found
All the required modules are available at:
http://landfill.bugzilla.org/ppm/
You can add the repository with the following command:
ppm rep add bugzilla http://landfill.bugzilla.org/ppm/
If you you want to see graphical bug charts (plotting historical data over
time), you should install libgd and the following Perl modules:
GD: ppm install GD
Chart: ppm install Chart
If you want to use the bug import/export feature to move bugs to
or from other bugzilla installations, you will need to install
the XML::Twig module by running (as Administrator):
ppm install XML::Twig
If you want to convert BMP image attachments to PNG to conserve
disk space, you will need to install the ImageMagick application
Available from http://www.imagemagick.org, and the Image::Magick
Perl module by running (as Administrator):
ppm install Image::Magick
If you you want to see graphical bug reports (bar, pie and line charts of
current data), you should install libgd and the following Perl modules:
GD: ppm install GD
GD::Graph: ppm install GDGraph
GD::Text::Align: ppm install GDTextUtil
If you want to see pretty HTML views of patches, you should install the
PatchReader module:
PatchReader: ppm install PatchReader
Bugzilla requires some Perl modules which are either missing from
your system, or the version on your system is too old.
They can be installed by running (as Administrator) the following:
ppm install MailTools
Minimum version required: 1.67
ppm install MIME-Tools
Minimum version required: 5.406
ppm install AppConfig
Minimum version required: 1.52
ppm install Template-Toolkit
Minimum version required: 2.08
ppm install TimeDate
Minimum version required: 2.21
ppm install DBI
Minimum version required: 1.38
- You can use the Programmer's Package Manager (PPM) to display all repositories.
Open a dos window and type:
ppm rep
You should see something like:
Repositories:
[1] ActiveState PPM2 Repository
[2] ActiveState Package Repository
- Add the bugzilla repository, type:
ppm rep add bugzilla http://landfill.bugzilla.org/ppm/
You should see something like:
Repositories:
[1] ActiveState PPM2 Repository
[2] ActiveState Package Repository
[3] bugzilla
Note:
If you want to know more about a particular repository, type:
ppm rep describe <name or num>
For example: ppm rep describe 3
- Put bugzilla on top of the list, type:
ppm rep up bugzilla (do this twice)
You should see something like:
Repositories:
[1] bugzilla
[2] ActiveState PPM2 Repository
[3] ActiveState Package Repository
- All required modules can be found at:
http://landfill.bugzilla.org/ppm/
As you might have noticed some modules were already installed. However we will install all these modules.
An already installed module will not be installed by the tool, type:
ppm install AppConfig
ppm install Chart
ppm install DBD-mysql
ppm install DBI
ppm install GD
ppm install GDGraph
ppm install GDTextUtil
ppm install MIME-tools
ppm install MailTools
ppm install PatchReader
ppm install Template-Toolkit
ppm install TimeDate
Note: To remove an already installed module, type:
ppm uninstall <module>
For example: ppm uninstall AppConfig
- Verify if all required modules are installed, type:
C:\Tools\bugzilla-2.22>perl checksetup.pl --check-modules
Note: The "XML::Twig" and "Image::Magick" module are not installed.
- Run checksetup.pl again without the --check-modules switch, type:
C:\Tools\bugzilla-2.22>perl checksetup.pl
You should see:
:
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
- Edit file C:\Tools\bugzilla-2.22\localconfig and add a password for the user you will later create for your database.
$db_pass = 'mybugsecret';
- Create a "bugs" database and a "bugs" user.
The "bugs" user will have password "mybugsecret" (set in localconfig) to access the "bugs" database.
Note: The database name and user were already set in the localconfig file.
- Start the command line MySQL monitor:
C:\Tools\mysql\bin>mysql -uroot -pmysecret
- Create the database and user:
mysql>grant select, insert, update, delete, index, alter, create, lock tables, create temporary tables, drop, references on bugs.* to bugs@localhost identified by 'mybugsecret';
mysql>flush privileges;
mysql>quit;
- [OPTIONAL]
If you encounter the following problem(s), make the following changes:
MySQL accept by default packets up to 64Kb in size.
If you want to upload attachments larger than this you need
to change the c:\windows\my.ini file.
There is also a parameter in Bugzilla called 'maxattachmentsize'
(default = 1000 Kb) that controls the maximum allowable attachment size.
Attachments larger than either the 'max_allowed_packet' or 'maxattachmentsize'
value will not be accepted by Bugzilla.
|
Add the following lines in the my.ini file:
# Allow packets up to 1M
max_allowed_packet=1M
|
By default, MySQL will limit the size of a table to 4GB.
|
To change the limit to 20GB in the "bugs" database:
- C:\Tools\mysql\bin>mysql -uroot -pmysecret
- mysql>use bugs
- mysql>ALTER TABLE attachments AVG_ROW_LENGTH=1000000, MAX_ROWS=20000;
|
- Run checksetup.pl again, type:
C:\Tools\bugzilla-2.22>perl checksetup.pl
You should see:
:
Checking user setup ...
Bugzilla requires an SMTP server to function on Windows.
Please enter your SMTP server's hostname: smtp.mobilefish.com
Precompiling templates ...
Checking for DBD::mysql (v2.9003) ok: found v2.9004
Checking for MySQL (v4.0.14) ok: found v4.0.18-nt
Creating database bugs ...
Building Schema object from database...
Adding new table bz_schema ...
Initializing the new Schema storage...
Adding new table attach_data ...
Adding new table attachments ...
Adding new table bug_group_map ...
Adding new table bug_severity ...
Adding new table bug_status ...
Adding new table bugs ...
Adding new table bugs_activity ...
Adding new table category_group_map ...
Adding new table cc ...
Adding new table classifications ...
Adding new table components ...
Adding new table dependencies ...
Adding new table duplicates ...
Adding new table email_setting ...
Adding new table fielddefs ...
Adding new table flagexclusions ...
Adding new table flaginclusions ...
Adding new table flags ...
Adding new table flagtypes ...
Adding new table group_control_map ...
Adding new table group_group_map ...
Adding new table groups ...
Adding new table keyworddefs ...
Adding new table keywords ...
Adding new table logincookies ...
Adding new table longdescs ...
Adding new table milestones ...
Adding new table namedqueries ...
Adding new table op_sys ...
Adding new table priority ...
Adding new table products ...
Adding new table profile_setting ...
Adding new table profiles ...
Adding new table profiles_activity ...
Adding new table quips ...
Adding new table rep_platform ...
Adding new table resolution ...
Adding new table series ...
Adding new table series_categories ...
Adding new table series_data ...
Adding new table setting ...
Adding new table setting_value ...
Adding new table tokens ...
Adding new table user_group_map ...
Adding new table versions ...
Adding new table votes ...
Adding new table watch ...
Adding new table whine_events ...
Adding new table whine_queries ...
Adding new table whine_schedules ...
Converting attach_data maximum size to 100G...
Inserting value 'P1' in table priority with sortkey 100...
Inserting value 'P2' in table priority with sortkey 200...
Inserting value 'P3' in table priority with sortkey 300...
Inserting value 'P4' in table priority with sortkey 400...
Inserting value 'P5' in table priority with sortkey 500...
Inserting value 'UNCONFIRMED' in table bug_status with sortkey 100...
Inserting value 'NEW' in table bug_status with sortkey 200...
Inserting value 'ASSIGNED' in table bug_status with sortkey 300...
Inserting value 'REOPENED' in table bug_status with sortkey 400...
Inserting value 'RESOLVED' in table bug_status with sortkey 500...
Inserting value 'VERIFIED' in table bug_status with sortkey 600...
Inserting value 'CLOSED' in table bug_status with sortkey 700...
Inserting value 'All' in table rep_platform with sortkey 100...
Inserting value 'PC' in table rep_platform with sortkey 200...
Inserting value 'Macintosh' in table rep_platform with sortkey 300...
Inserting value 'Other' in table rep_platform with sortkey 400...
Inserting value '' in table resolution with sortkey 100...
Inserting value 'FIXED' in table resolution with sortkey 200...
Inserting value 'INVALID' in table resolution with sortkey 300...
Inserting value 'WONTFIX' in table resolution with sortkey 400...
Inserting value 'LATER' in table resolution with sortkey 500...
Inserting value 'REMIND' in table resolution with sortkey 600...
Inserting value 'DUPLICATE' in table resolution with sortkey 700...
Inserting value 'WORKSFORME' in table resolution with sortkey 800...
Inserting value 'MOVED' in table resolution with sortkey 900...
Inserting value 'blocker' in table bug_severity with sortkey 100...
Inserting value 'critical' in table bug_severity with sortkey 200...
Inserting value 'major' in table bug_severity with sortkey 300...
Inserting value 'normal' in table bug_severity with sortkey 400...
Inserting value 'minor' in table bug_severity with sortkey 500...
Inserting value 'trivial' in table bug_severity with sortkey 600...
Inserting value 'enhancement' in table bug_severity with sortkey 700...
Inserting value 'All' in table op_sys with sortkey 100...
Inserting value 'Windows' in table op_sys with sortkey 200...
Inserting value 'Mac OS' in table op_sys with sortkey 300...
Inserting value 'Linux' in table op_sys with sortkey 400...
Inserting value 'Other' in table op_sys with sortkey 500...
Creating initial dummy product 'TestProduct' ...
Populating duplicates table...
Creating duplicates directory...
Migrating old chart data into database ...
Initializing "Dependency Tree Changes" email_setting ...
Adding group tweakparams ...
Adding group editusers ...
Adding group creategroups ...
Adding group editclassifications ...
Adding group editcomponents ...
Adding group editkeywords ...
Adding group admin ...
Adding group editbugs ...
Adding group canconfirm ...
Adding group bz_canusewhines ...
Adding group bz_canusewhineatothers ...
Adding group bz_sudoers ...
Adding group bz_sudo_protect ...
Adding a new user setting called 'display_quips'
Adding a new user setting called 'comment_sort_order'
Adding a new user setting called 'post_bug_submit_action'
Adding a new user setting called 'csv_colsepchar'
Adding a new user setting called 'per_bug_queries'
Creating database bugs ...
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 accidentally been deleted.
Enter the email address of the administrator: bugzilla@mobilefish.com
You entered bugzilla@mobilefish.com. Is this correct? [Y/n] y
Enter the real name of the administrator: Robert Lie
Enter a password for the administrator account: mysecret
Creating database bugs ...
Please retype the password to verify: mysecret
Creating database bugs ...
bugzilla@mobilefish.com is now set up as an administrator account.
Now that you have installed Bugzilla, you should visit the
'Parameters' page (linked in the footer of the Administrator
account) to ensure it is set up as you wish - this includes
setting the 'urlbase' option to the correct url.
Note: You can setup your own SMTP server, see guide Installing James 2.2.0.
- Edit C:\Tools\Apache Group\Apache2\conf\httpd.conf file. Add the following lines:
:
:
<VirtualHost 192.168.1.100:80>
ServerAdmin [email protected]
DocumentRoot c:/tools/bugzilla-2.22
ServerName bugzilla.mobilefish.com
ErrorLog logs/bugzilla.mobilefish.com-error_log
<Directory "c:/tools/bugzilla-2.22">
AddHandler cgi-script .cgi
Options Indexes FollowSymLinks ExecCGI
DirectoryIndex index.html index.html.var index.cgi
AllowOverride All
ScriptInterpreterSource Registry-Strict
</Directory>
</VirtualHost>
View the updated httpd.conf file.
- To make ScriptInterpreterSource Registry-Strict (see httpd.conf file) work, you need to
add an entry in your Windows registry.
- Open a dos window.
- Type: regedit
- Create the following key/value pair:
key: HKEY_CLASSES_ROOT\.cgi\Shell\ExecCGI\Command
value: C:\Perl\bin\perl.exe -T
Instead of manually editing the registry you can download two registry files:
When downloaded, double click the appropriate file to update the registry.
Use at your own risk!
- Restart Apache server.
- If you do not have a DNS server, you can modify file: c:\windows\system32\drivers\etc\hosts
Add the following line:
192.168.1.100 bugzilla.mobilefish.com
- Now you can access the bugzilla main page: http://bugzilla.mobilefish.com
Login: [email protected]
Password: mysecret
- In the bottom of the page select "Parameters".
- Make the following changes:
- In the maintainer textbox enter: [email protected]
- In the urlbase textbox enter: http://bugzilla.mobilefish.com
|
|