Support Wikipedia

Wednesday, January 27, 2010

Bugzilla Setup : Mysql and Apache on Centos

Mysql setup

Install mysql

sudo yum search mysql // find the right names of the packages here

sudo yum install mysql-server.x86_64 mysql.x86_64 mysql-devel.x86_64

Edit mysql configuration

sudo vim /etc/my.cnf

Add the following lines if not already present


# Allow packets up to 4MB


# Allow small words in full-text indexes


Start Mysql server

sudo /etc/init.d/mysqld start

Login as root

mysql -uroot // no password by default

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


Flush privileges in order to take effect immediately. Very important!


NOTE: Update your password if you need to :

update mysql.user set Password=password('passw0rd') where User='bugs';

Bugzilla Setup

Download latest stable bugzilla version from the website. It’s 3.4.4 as of now

wget -O bugzilla-3.4.4.tar.gz

Change to the apache directory from where it serves files

cd /var/www/html/

Unzip the tar here /var/www/html/ so that apache can see it

sudo tar -xzvf ~/bugzilla-3.4.4.tar.gz

(optional) Rename the directory to hide the version

sudo mv bugzilla-3.4.4/ bugzilla

Change ownership so that apache can read/write to it

sudo chown -R apache.apache /var/www/html/bugzilla/

Change to bugzilla directory

cd /var/www/html/bugzilla/

Run – this will show you the perl modules missing

sudo ./ --check-modules

Install gcc (if the linux distro doesn’t already come it), as you will need it to make/compile the modules

sudo yum install gcc.x86_64

Install any missing modules //here are commonly missing modules

sudo /usr/bin/perl CGI

sudo /usr/bin/perl Digest::SHA

sudo /usr/bin/perl Date::Format

sudo /usr/bin/perl DateTime

sudo /usr/bin/perl DateTime::TimeZone

sudo /usr/bin/perl DateTime::Locale

sudo /usr/bin/perl Template

sudo /usr/bin/perl Email::Send

sudo /usr/bin/perl Email::MIME

Run the without any parameters to create a localconfig file.

sudo bash /var/www/html/bugzilla/

Change the permissions in case there should be a conflict.

sudo chmod -R 777 /var/www/html/bugzilla/

Edit localconfig

sudo vim localconfig

Update the database connection details like username and password

# The DNS name of the host that the database server runs on.

$db_host = 'localhost';

# The name of the database

$db_name = 'bugs';

# Who we connect to the database as.

$db_user = 'bugs';

# Enter your database password here. It's normally advisable to specify

# a password for your bugzilla database user.

# If you use apostrophe (') or a backslash (\) in your password, you'll

# need to escape it by preceding it with a '\' character. (\') or (\)

# (Far simpler just not to use those characters.)

$db_pass = ‘passw0rd’;

# Sometimes the database server is running on a non-standard port. If that's

# the case for your database server, set this to the port number that your

# database server is running on. Setting this to 0 means "use the default

# port for my database server."

$db_port = 0;

# With the introduction of a configurable index page using the

# template toolkit, Bugzilla's main index page is now index.cgi.

# Most web servers will allow you to use index.cgi as a directory

# index, and many come preconfigured that way, but if yours doesn't

# then you'll need an index.html file that provides redirection

# to index.cgi. Setting $index_html to 1 below will allow

# to create one for you if it doesn't exist.

# NOTE: will not replace an existing file, so if you

# wish to have create one for you, you must

# make sure that index.html doesn't already exist

$index_html = 1;

Re-run the

sudo bash /var/www/html/bugzilla/

Apache setup

Almost all linux distributions come with httpd pre-installed (i.e. Apache)

If not, install it using

sudo yum install apache


sudo yum install httpd

Edit /etc/httpd/conf/httpd.conf

sudo vim /etc/httpd/conf/httpd.conf

and add the following lines

ScriptAlias /cgi-bin/ "/var/www/html/bugzilla/"

< Directory /var/www/html/bugzilla >
AddHandler cgi-script .cgi
Options +Indexes +ExecCGI
DirectoryIndex index.cgi
AllowOverride Limit
< / Directory >

Find the line

DirectoryIndex index.html index.html.var

Change it to

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

Start the httpd server

sudo /etc/init.d/httpd restart

and you are good to go!

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


Support Wikipedia Support Wikipedia Support Wikipedia Support Wikipedia Support Wikipedia Support Wikipedia