Bugzilla

 
 
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
  1. Download and unzip bugzilla-2.22.tar.gz

    For example: C:\Tools\bugzilla-2.22

  2. 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


  3. 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


  4. 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

  5. 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


  6. 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

  7. 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.

  8. 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


  9. 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';

  10. 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;

  11. [OPTIONAL]

    If you encounter the following problem(s), make the following changes:

    ProblemSolution
    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;





  12. 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.

  13. 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.

  14. 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

      Bugzilla registry setting.

      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!

  15. Restart Apache server.

  16. 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

  17. Now you can access the bugzilla main page: http://bugzilla.mobilefish.com

    Bugzilla main page.

    Login: [email protected]
    Password: mysecret

  18. In the bottom of the page select "Parameters".

  19. Make the following changes:

    • In the maintainer textbox enter: [email protected]

    • In the urlbase textbox enter: http://bugzilla.mobilefish.com

    Bugzilla required.