Bugzilla administration

From Meta, a Wikimedia project coordination wiki

Bugzilla Administration[edit]

Installing Bugzilla[edit]

Installation[edit]

In outline, the installation proceeds as follows:

  • Install Perl (5.8.0 or above for non-Windows platforms; 5.8.1 for Windows)
    • Perl for Windows can be obtained from ActiveState
    • The current installation of Bugzilla uses Perl located at C:\Perl
  • Install a Database Engine
    • Bugzilla works with MySQL and PostgreSQL database servers.
    • You only require one of these systems to make use of Bugzilla.
    • The current installation of Bugzilla uses MySql , which is already installed as a service on the machine as part of the XAmpp bundle.
  • Install a Webserver
    • Any web server that is capable of running CGI scripts will work
    • The current installation of Bugzilla uses Apcahe , which is already installed as a service on the machine as part of the XAmpp bundle.
  • Install Bugzilla
    • Download Bugzilla and place it in a suitable directory, accessible by the default web server user
    • The current instalation of bugzilla is placed at D:\compwest\bugzilla-3.0
  • Install Perl modules
    • Bugzilla's installation process is based on a script called checksetup.pl. The first thing it checks is whether you have appropriate versions of all the required Perl modules
    • Run checksetup.pl
  checksetup.pl --check-modules
    • checksetup.pl will print out a list of the required and optional Perl modules, together with the versions (if any) installed on your machine.
    • The Perl modules can be installed as follows:
 C:\perl> ppm install <module name>
    • The best source for the Windows PPM modules needed for Bugzilla is probably the Bugzilla Test Server (aka 'Landfill'), so you should add the Landfill package repository as follows:
  ppm repository add landfill http://www.landfill.bugzilla.org/ppm/
    • Here is a complete list of modules and their minimum versions
  1. Required Perl modules:
    1. CGI 2.93 or CGI 3.11 if using mod_perl
    2. Date::Format (2.21)
    3. DBI (1.41)
    4. DBD::mysql (2.9003) if using MySQL
    5. DBD::Pg (1.45) if using PostgreSQL
    6. File::Spec (0.84)
    7. Template (2.12)
    8. Email::Send (2.00)
    9. Email::MIME::Modifier (any)
  2. Optional Perl modules:
    1. GD (1.20) for bug charting
    2. Template::Plugin::GD::Image (1.20) for Graphical Reports
    3. Chart::Base (1.0) for bug charting
    4. GD::Graph (any) for bug charting
    5. GD::Text (any) for bug charting
    6. XML::Twig (any) for bug import/export
    7. MIME::Parser (5.406) for bug import/export
    8. LWP::UserAgent (any) for Automatic Update Notifications
    9. PatchReader (0.9.4) for pretty HTML view of patches
    10. Image::Magick (any) for converting BMP image attachments to PNG
    11. Net::LDAP (any) for LDAP Authentication
    12. SOAP::Lite (any) for the web service interface
    13. HTML::Parser (3.40) for More HTML in Product/Group Descriptions
    14. HTML::Scrubber (any) for More HTML in Product/Group Descriptions
    15. Email::MIME::Attachment::Stripper (any) for Inbound Email
    16. Email::Reply (any) for Inbound Email
    17. mod_perl2 (1.999022) for mod_perl
    18. CGI (2.93) for mod_perl
    19. Apache::DBI (0.96) for mod_perl2
  • Install a Mail Transfer Agent or a SMTP Server
    • Bugzilla uses this to send emails. You have to set it correctly to send emails.
    • The current installation of bugzilla uses JAMES, which is installed as a service using default settings

Configuration[edit]

  • localconfig
    • You should now run checksetup.pl again, this time without the --check-modules switch.
    • This time, checksetup.pl should tell you that all the correct modules are installed and will display a message about, and write out a file called, localconfig. This file contains the default settings for a number of Bugzilla parameters.
    • Load this file in your editor and modify the parameters accordingly.
    • The current instalation of bugzilla is configured as follows
 $db_driver = 'mysql';
 $db_host = 'localhost';
 $db_name = 'bugs';
 $db_user = 'bugs';
 $db_pass = 'XXXX';
 $db_port = 0;
  • Configuring Database
    • You need to add a new MySQL user for Bugzilla to use
    • We use an SQL GRANT command to create a "bugs" user. This also restricts the "bugs"user to operations within a database called "bugs", and only allows the account to connect from "localhost". Modify it to reflect your setup if you will be connecting from another machine or as a different user.

(NOTE : The $db_pass in the query should match the $db_pass in localconfig file)

  mysql> GRANT SELECT, INSERT,
         UPDATE, DELETE, INDEX, ALTER, CREATE, LOCK TABLES,
         CREATE TEMPORARY TABLES, DROP, REFERENCES ON bugs.*
         TO bugs@localhost IDENTIFIED BY '$db_pass';
   mysql> FLUSH PRIVILEGES;


  • Configuring webserver
    • Load the apache hhtpd.conf file into a editor.(In this case it can be found at C:\xampp\apache\conf)
    • Make apache to listen on a new port by adding LISTEN portnumber
    • Uncomment the line Include conf/extra/httpd-vhosts.conf
    • Load httpd-vhosts.conf file into a editor.(In this case it can be found at C:\xampp\apache\conf\extra)
    • Add a virual host

For the current installation a new virtual host is defined as follows

 <VirtualHost *:90>
      DocumentRoot D:\compwest\bugzilla-3.0
      ServerName localhost:90
  </VirtualHost> 


Configuring Bugzilla[edit]

Bugzilla is configured by changing various parameters, accessed from the "Edit parameters" link in the page footer. For the description of the parameters click on the link ConfiguringBugzilla