Bugzilla – Installation

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.

git clone --branch release-X.X-stable https://github.com/bugzilla/bugzilla 
C:\bugzilla 

Where, “X.X” is the 2-digit version number of the stable release of Bugzilla (e.g. 5.0)

The another way to download Bugzilla is from the following link โˆ’ https://www.bugzilla.org/download/ and move down to the Stable Release section and select the latest one from the list as shown in the following screenshot. Click on Download Bugzilla 5.0.3.

Bugzilla comes as a ‘tarball’ (.tar.gz extension), which any competent Windows archiving tool should be able to open.

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.

Install the following mandatory modules with the following command.

ppm install <modulename> 

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.
  • TimeDate โˆ’ TimeDate is a class for the representation of time/date combinations, and is part of the Perl TimeDate project.
  • DateTime โˆ’ DateTime is a class for the representation of date/time combinations, and is part of the Perl DateTime project.
  • 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.
  • Template-Toolkit โˆ’ The Template Toolkit is a collection of Perl modules, which implement a fast, flexible, powerful and extensible template processing system. It can be used for processing any kind of text documents and is input-agnostic.
  • 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.
  • Email-MIME โˆ’ This is an extension of the Email-Simple module. It is majorly used to handle MIME encoded messages. It takes a message as a string, splits it into its constituent parts and allows you to access the different parts of the message.
  • URI โˆ’ A Uniform Resource Identifier is a compact string of characters that identifies an abstract or physical resource. A URI can be further classified as either a Uniform Resource Locator (URL) or a Uniform Resource Name (URN).
  • List-MoreUtils โˆ’ It provides some trivial but commonly needed functionality on lists, which is not going to go into the List-Util module.
  • Math-Random-ISAAC โˆ’ The ISAAC (Indirection, Shift, Accumulate, Add, and Count) algorithm is designed to take some seed information and produce seemingly random results as the output.
  • 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 โˆ’ The Win32 module contains functions to access Win32 APIs.
  • 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.
  • DateTime-TimeZone-Local-Win32 โˆ’ This module provides methods for determining the local time zone on a Windows platform.

The following modules enable various optional Bugzilla features; try to install these based on your requirements โˆ’

  • GD โˆ’ The GD module is only required if you want graphical reports.
  • Chart โˆ’ This module is only required if you would want graphical reports as the GD module.
  • Template-GD โˆ’ This module has the template toolkit for the template plugins.
  • GDTextUtil โˆ’ This module has the text utilities for use with the GD.
  • GDGraph โˆ’ It is a Perl5 module to create charts using the GD module.
  • MIME-tools โˆ’ MIME-tools is a collection of Perl5 MIME modules for parsing, decoding and generating single or multipart (even nested multipart) MIME messages.
  • libwww-perl โˆ’ The World Wide Web library for Perl is also called as the libwww-perl. It is a set of Perl modules, which give Perl programming an easy access to send requests to the World Wide Web.
  • XML-Twig โˆ’ It is a Perl module used to process XML documents efficiently. This module offers a tree-oriented interface to a document while still allowing the processing of documents of any size.
  • PatchReader โˆ’ This module has various utilities to read and manipulate patches and CVS.
  • perl-ldap โˆ’ It is a collection of modules that implements LDAP services API for Perl programs. This module may be used to search directories or perform maintenance functions such as adding, deleting or modifying entries.
  • Authen-SASL โˆ’ This module provides an implementation framework that all protocols should be able to share.
  • Net-SMTP-SSL โˆ’ This module provides the SSL support for Net-SMTP 1.04
  • RadiusPerl โˆ’ This module provides simple Radius client facilities.
  • SOAP-Lite โˆ’ This module is a collection of Perl modules, which provide a simple and lightweight interface to the Simple Object Access Protocol (SOAP) on both the client and the server side.
  • XMLRPC-Lite โˆ’ This Perl module provides a simple interface to the XML-RPC protocol both on client and server side.
  • JSON-RPC โˆ’ A set of modules that implement the JSON RPC 2.0 protocols.
  • Test-Taint โˆ’ This module has Tools to test taintedness.
  • HTML-Parser โˆ’ This module defines a class HTMLParser, which serves as the basis for parsing text files formatted in HTML and XHTML.
  • HTML-Scrubber โˆ’ This module helps to sanitize of scrub the html input in a reliable and flexible fashion.
  • Encode โˆ’ This module provides an interface between Perl’s strings and the rest of the system.
  • Encode-Detect โˆ’ This module is an Encode-Encoding subclass that detects the encoding of data.
  • Email-Reply โˆ’ This module helps in replying to an email or a message.
  • HTML-FormatText-WithLinks โˆ’ This module takes it and turns it into plain text, but prints all the links in the HTML as footnotes.
  • TheSchwartz โˆ’ This module is a reliable job queue system.
  • Daemon-Generic โˆ’ This module provides a framework for starting, stopping, reconfiguring daemon-like programs.
  • mod_perl โˆ’ This module helps in embedding a Perl interpreter into the Apache server.
  • Apache-SizeLimit โˆ’ This module allows you to kill the Apache httpd processes, if they grow too large.
  • File-MimeInfo โˆ’ This module is used to determine the mime type of a file.
  • IO-stringy โˆ’ This toolkit mainly provides modules for performing both traditional and object-oriented on things other than normal filehandles.
  • Cache-Memcached โˆ’ This module is a client library for the memory cache daemon (memcached).
  • Text-Markdown โˆ’ This module is a text-to-HTML filter; it translates an easy-to-read / easy-to-write structured text format into HTML.
  • File-Copy-Recursive โˆ’ This module is a Perl extension for recursively copying files and directories.

In Strawberry Perl, use the cpanm script to install modules. Some of the most important modules are already installed by default. The remaining ones can be installed using the following command โˆ’

cpanm -l local <modulename>

The list of modules to install will be displayed by using the checksetup.pl command.

Leave a Reply