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
nice info, thanks for sharing.
[…] Bugzilla Setup : Mysql and Apache on Centos February 2010 1 comment 4 […]
[…] 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 […]