Sunday, September 04, 2005

A Quick Setup guide for Bugzilla on Linux

I wanted to setup and configure Bugzilla in my personal computer so just downloaded the package and started playing around with it. I will just run through the set up process which is quite simple.

My Personal Computer runs on Fedora Core 4 so i didnt have to install any of the basic packages that are required for bugzilla. They are as follows:

1. Apache
2. MySQL(3.22.5 or greater)
3. Perl(5.005 or greater, 5.6.1 is recommended if you wish to use Bundle::Bugzilla)
4. Apache (recommended)
5. Sendmail (Version 8.7)

Step 1: The first step would be to download bugzilla and then move the zipped archive to the following directory /var/www/html


Listing 1

$ cd /var/www/html/
$ tar zxvf bugzilla-2.18.tgz
$ mv bugzilla-2.18/ Bugzilla/



Step 2: Now log on to the bugzilla directory i.e;, (/var/www/html/Bugzilla) and execute the Perl Script. checksetup.pl

Listing 2

$ su root
$ ./checksetup.pl

Step 3: Once this script is executed it should tell you what modules you need and the corresponding CPAN command needed to install from the CPAN repository. The CPAN command would look like this

Listing 3

$ perl -MCPAN -e 'install ""'

Step 4: Issue the above command for each Perl module that you need to install. If your system is connected to the internet this downloads and installs the requested module automatically.

Configure Bugzilla

Step 5: Once the above Processes are completed successfully the script would generate a file called localconfig in the same directory (/var/www/html/Bugzilla)

Step 6: Open the localconfig file and configure the Bugzilla application to use your local database server.You might have to change the following entries in the localconfig file

Listing 4

$db_host = "localhost"; # where is the database?
$db_port = 3306; # which port to use
$db_name = "test"; # name of the MySQL database
$db_user = "balaji"; # user to attach to the MySQL database

Step 7: Save the settings and the next thing to be done is to Create a database account for Bugzilla. To do this the first step would be to connect to mysql and then issue the following command.

Listing 5

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;

Step 8: This set of commands creates the bugs user and grants that user account numerous levels of access to the database configured when connecting locally.

To make sure that the required PERL modules are present rerun the PERL script from the Bugzilla directory.

Listing 6:

$ su root
$ ./checksetup.pl

Step 9: Finally during this process you are asked to configure the Bugzilla's Administrator account.

Configure Apache

Step 10: Open the configuration file for Apache (/etc/httpd/conf/httpd.conf) and then add the following lines First you need to allow Apache to run CGI Scripts outside of the cgi-bin directory. To do so you need to add or uncomment the following line in httpd.conf

Listing 7:

AddHandler cgi-script .cgi

Step 11: Next you need to allow Bugzilla's .cgi files from the Bugzilla directory.Add the following lines

Listing 8:


AddHandler cgi-script .cgi
Options +Indexes +ExecCGI
DirectoryIndex index.cgi
AllowOverride Limit


Step 12: Now You need to configure Apache to accept index.cgi file when entering the Bugzilla directory by adding the following in the httpd.conf file

Listing 9:

DirectoryIndex index.html index.html.var index.cgi

Screenshots on how to create new Products and new Components (i.e,Sections and Subsections)

To add a new Section





To add a new subsection for an already created Section







To enter bugs in the appropriate Sections and Subsections