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:

[mysqld]

# Allow packets up to 4MB

max_allowed_packet=4M

# Allow small words in full-text indexes

ft_min_word_len=2

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

GRANT SELECT, INSERT,UPDATE, DELETE, INDEX, ALTER, CREATE, LOCK TABLES, CREATE TEMPORARY TABLES, DROP, REFERENCES ON bugs.* TO bugs@localhost identified by ‘passw0rd’;

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

FLUSH PRIVILEGES;

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 http://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-3.4.4.tar.gz -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 checksetup.pl – this will show you the perl modules missing

sudo ./checksetup.pl –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 install-module.pl CGI

sudo /usr/bin/perl install-module.pl Digest::SHA

sudo /usr/bin/perl install-module.pl Date::Format

sudo /usr/bin/perl install-module.pl DateTime

sudo /usr/bin/perl install-module.pl DateTime::TimeZone

sudo /usr/bin/perl install-module.pl DateTime::Locale

sudo /usr/bin/perl install-module.pl Template

sudo /usr/bin/perl install-module.pl Email::Send

sudo /usr/bin/perl install-module.pl Email::MIME

Run the checksetup.pl without any parameters to create a localconfig file.

sudo bash /var/www/html/bugzilla/checksetup.pl

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

# checksetup.pl to create one for you if it doesn’t exist.

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

# wish to have checksetup.pl create one for you, you must

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

$index_html = 1;

Re-run the checksetup.pl

sudo bash /var/www/html/bugzilla/checksetup.pl

Apache setup

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

If not, install it using

sudo yum install apache

or

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!

Source: twincling

Comments
  1. nice info, thanks for sharing.

  2. […] Bugzilla Setup : Mysql and Apache on Centos February 2010 1 comment 4 […]

  3. […] a shot. Then I'd hit these sites for tips, tweaks, and any necessary troubleshooting; Bugzilla Setup : Mysql and Apache on Centos How to install Bugzilla under Redhat/Centos Installing Bugzilla on centos – perl modules and other […]

Leave a comment