Bugzilla Tutorial
Bugzilla Tutorial
Audience
This tutorial has been prepared for beginners to help them understand how to use the Bugzilla
tool. This tutorial will give you enough understanding of the various components of Bugzilla
with suitable examples.
Prerequisites
As a reader of this tutorial, you should have a basic understanding of bug lifecycle and contents
to provide in a bug.
All the content and graphics published in this e-book are the property of Tutorials Point (I) Pvt.
Ltd. The user of this e-book is prohibited to reuse, retain, copy, distribute or republish any
contents or a part of contents of this e-book in any manner without written consent of the
publisher.
We strive to update the contents of our website and tutorials as timely and as precisely as
possible, however, the contents may contain inaccuracies or errors. Tutorials Point (I) Pvt. Ltd.
provides no guarantee regarding the accuracy, timeliness or completeness of our website or
its contents including this tutorial. If you discover any errors on our website or in this tutorial,
please notify us at [email protected]
1
Bugzilla
Table of Contents
About the Tutorial ......................................................................................................................................... 1
Audience ....................................................................................................................................................... 1
Prerequisites ................................................................................................................................................. 1
3. BUGZILLA ─ INSTALLATION........................................................................................................ 5
2
Bugzilla
3
1. Bugzilla – Overview Bugzilla
Bugzilla is an open-source tool used to track bugs and issues of a project or a software. It
helps the developers and other stakeholders to keep track of outstanding problems with the
product
Most commercial and defect-tracking software vendors charged enormous licensing fees in the
starting days of Bugzilla. As a result, Bugzilla quickly became a favorite among the open-source
users, due to its genesis in the open-source browser project with Mozilla. It is now the most
precious defect-tracking system against which all the others are measured.
Bugzilla puts the power in an individual’s hand to improve the value of business while providing
a usable framework for natural attention to detail and knowledge store to flourish.
Bugzilla supports user configurable email notifications whenever the bug status
changes.
Bugzilla allows users to attach Bug supportive files and manage it.
Bugzilla has integrated, product-based, granular security schema that makes it more
secure.
It has complete security audit and runs under the Perl’s taint mode.
Bugzilla supports a robust, stable RDBMS (Rational Data Base Management System)
back end.
4
Bugzilla
In the next chapter, we will discuss the prerequisites for installing Bugzilla.
5
2. Bugzilla – Installation Prerequisites Bugzilla
To install and run Bugzilla on the server, the core requirement is to have Perl installed. This
means that Bugzilla can be installed on any platform, where Perl can be installed; including
Windows, Linux and Mac OS X.
Hardware Requirements
It is recommended to have a 4 GB RAM or more.
Should have a Fast Processor, for instance, at least 3GHz or more.
The hard disk space depends on the size of the team and the number of defects. A
50GB hard disk memory is a quite enough.
Software Requirements
Bugzilla requires a database server, a web server and Perl. In all the cases, (the newer, the
better) the newer releases have more bug fixes, but they are still supported and they still get
security fixes from time to time.
Perl: Bugzilla 4.4 and older requires Perl 5.8.1 or newer, but Bugzilla 5.0 and newer
will require Perl 5.10.1 or newer. It is not recommend installing Perl 5.8.x at this stage.
Instead, install Perl 5.12 or newer, as these newer versions have some useful
improvements, which will give better user experience.
Database Server: Bugzilla supports MySQL, PostgreSQL, Oracle and SQLite. MySQL
and PostgreSQL are highly recommended, as they have the best support from Bugzilla
and are used daily by the Bugzilla developers. Oracle has several known issues and is
a 2nd-class citizen. It should work decently in most cases, but may fail miserably in
some cases too. SQLite is recommended for testing purposes only for small teams.
If MySQL is used, version 5.0.15 is required by Bugzilla 4.x, but highly recommended
version 5.5 or newer. For PostgreSQL installation, version 8.3 is required.
Web Server: Bugzilla has no minimum requirements for its web server. It is
recommended to install Apache 2.2, although Bugzilla works fine with IIS too (IIS 7 or
higher recommended). To improve performances in Apache, recommend to enable its
mod_perl module.
6
3. Bugzilla ─ Installation Bugzilla
The Bugzilla GIT website is the best way to get Bugzilla. Download and install GIT from the
website – https://git-scm.com/download and Run it.
Where, "X.X" is the 2-digit version number of the stable release of Bugzilla (e.g. 5.0)
Bugzilla comes as a 'tarball' (.tar.gz extension), which any competent Windows archiving tool
should be able to open.
7
Bugzilla
PERL Modules
Bugzilla requires a number of Perl modules to be installed. Some of them are mandatory, and
some others, which enable additional features, are optional.
In ActivePerl, these modules are available in the ActiveState repository, and are installed
with the ppm tool. Either it can use it on the command line or just type ppm and the user will
get a GUI.
Some of the most important PERL modules have been described below.
CGI.pm – It is an extensively used Perl module for programming the CGI (Common
Gateway Interface) web applications. It helps to provide a consistent API for receiving
and processing user inputs.
Digest-SHA – The Digest-SHA1 module allows you to use the NIST SHA-1 message
digest algorithm from within the Perl programs. The algorithm takes as input a
message of arbitrary length and produces as output a 160-bit "fingerprint" or
"message digest" of the input.
8
Bugzilla
DateTime-TimeZone – This class is the base class for all time zone objects. A time
zone is represented internally as a set of observances, each of which describes the
offset from GMT for a given time period.
DBI – It is the standard database interface module for Perl. It defines a set of
methods, variables and conventions that provide a consistent database interface
independent of the actual database being used.
Email-Sender – The Email-Sender replaces the old and problematic email send
library, which did a decent job at handling the simple email sending tasks, but it was
not suitable for serious use for a several reasons.
File-Slurp – This module provides subs that allow you to read or write files with one
simple call. They are designed to be simple, have flexible ways to pass in or get the
file content and are very efficient.
JSON-XS – This module converts the Perl data structures to JSON and vice versa. The
primary goal of JSON-XS is to be correct and its secondary goal is to be fast.
Win32-API – With this module, you can import and call arbitrary functions from the
Win32's Dynamic Link Libraries (DLL), without having to write an XS extension.
9
Bugzilla
10
Bugzilla
11