Bugzilla Setup on CentOS 6

Learn | Teach Open Source Technologies

Bugzilla Setup on CentOS 6

About

What is Bugzilla?

Bugzilla is a “Defect Tracking System” or “Bug-Tracking System”. Defect Tracking Systems allow individual or groups of developers to keep track of outstanding bugs in their product effectively. Most commercial defect-tracking software vendors charge enormous licensing fees. Despite being “free”, Bugzilla has many features its expensive counterparts lack. Consequently, Bugzilla has quickly become a favorite of thousands of organizations across the globe.

What Does Bugzilla Do?

  • Track bugs and code changes
  • Communicate with teammates
  • Submit and review patches
  • Manage quality assurance (QA)

Bugzilla can help you get a handle on the software development process. Successful projects often are the result of successful organization and communication. Bugzilla is a powerful tool that will help your team get organized and communicate effectively.

 

Download latest stable bugzilla version from the website. http://www.bugzilla.org/download/

Disable selinux
#vi /etc/selinux/config
set SELINUX=disabled

Install required components
#yum install perl*
#yum install httpd*
#yum install mysql-server*
#yum install mod_perl-devel

#perl -v
#rpm -qa | grep httpd
#rpm -qa | grep mysql

Change to the apache directory from where it serves files
#cd /var/www/html/
#tar xvfz bugzilla-4.0.2.tar.gz

Rename the directory
#mv bugzilla-4.0.2/ bugzilla
#chmod -R 777 bugzilla

Change to bugzilla directory
#cd /var/www/html/bugzilla/
#ll
#./checksetup.pl

Install any missing modules //here are commonly missing modules
#/usr/bin/perl install-module.pl –all

commonly missing 2 modules
Oracle:  DBD::Oracle
apache:  size::sizelimit

Installing apache module
#/usr/bin/perl install-module.pl Apache2::SizeLimit

Installing Oracle Instant Client and making it work with PHP

#oracle-instantclient-sqlplus-xxx
#oracle-instantclient-devel-xxxx
#oracle-instantclient-basic-xxxx
#rpm -ivh oracle-instantclient-*
Set Oracle environment variables
#vim .bashrc
export ORACLE_HOME=/usr/lib/oracle/x.x.x/client
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$PATH:$ORACLE_HOME/bin
:wq!

Install perl DBD::Oracle
Download the package :DBD::Oracle
#tar -xvzf DBD-Oracle-1.28.tar.gz
# cd DBD-Oracle-1.28
#perl Makefile.PL
#make
#make install

display all list package
#./checksetup.pl –check-modules

Mysql setup
Login as root
#mysql -u root -p
Create the database for bugs in the mysql terminal by using the following sql
#create database bugs;
#Create the user bugs
#create user bugs identified by ‘passw0rd’;
Grant the permissions to user bugs on bugs database
#GRANT ALL PRIVILEGES ON bugs.*TO ‘bugs’@’localhost’ IDENTIFIED BY ‘password’;
#GRANT ALL PRIVILEGES ON bugs.*TO ‘bugs’@’%’ IDENTIFIED BY ‘password’;
Flush privileges in order to take effect immediately. Very important!
#FLUSH PRIVILEGES;
Edit localconfig :
#cd /var/www/html/bugzilla
#vim localconfig
set the bugs password
$db_pass = ‘bugs’;

#./checksetup.pl

Enter the e-mail address of the administrator: xxxxxxxxxxxxx
Enter the real name of the administrator: xxxxxxxxxxxxxxxxxxx
Enter a password for the administrator account: xxxxxxxxxxxxxx
Final checksetup.pl execution:

#./checksetup.pl
Now that you have installed Bugzilla,

Apache setup
Configure Port and DocumentRoot
Listen 80

DocumentRoot “var/www/html”

Find the line
DirectoryIndex index.html index.html.var
Change it to
DirectoryIndex index.html index.html.var index.cgi
Add the following lines
ScriptAlias /cgi-bin/ “/var/www/html/bugzilla/”
Add the following lines
Options Indexes FollowSymLinks ExecCGI
Add the following lines
AllowOverride All
PerlSwitches -w -T
PerlConfigRequire /var/www/html/bugzilla/mod_perl.pl
<Directory /var/www/html/bugzilla>
AddHandler cgi-script .cgi
Options +Indexes +ExecCGI
DirectoryIndex index.cgi
AllowOverride Limit
</Directory>

restart apache:

#/etc/init.d/httpd restart

Try http://localhost/bugzilla and have fun!