Jul
30
2013

Installing Bugzilla 4.0 with MySQL on Ubuntu

Install Perl

Check the version of Perl you have installed on your machine.
$ perl -v

Bugzilla runs with Perl 5.8.1 or higher. If you don’t have Perl installed on your machine, install it.

$ sudo apt-get install perl

Install MySQL 

Check the version of MySQL you have installed on your machine.

$ mysql --version

Bugzilla runs with MySQL 4.1.2 or higher. If you don’t have MySQL installed on your machine, install it.

$ sudo apt-get install mysql-admin mysql-client mysql-server
Install Apache

Check if Apache web server is already installed.

$ apache2 -v

If you don’t have Apache installed already, install it.

$ sudo apt-get install apache2

Download Bugzilla Tarball

Download the latest 4.0 tarball from the Bugzilla site into your download directory.

$ cd ~/Downloads
$ wget http://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-4.0.tar.gz
$ sudo tar -xvf bugzilla-4.0.tar.gz

Move the Bugzilla directory to the default web server directory.

$ cd /var/www/
$ sudo mv /home/build03/Downloads/bugzilla-4.0 bugzilla

Install Perl modules needed for Bugzilla

Check if you have all the Perl modules required for Bugzilla. It is a good idea to install all the required as well as the optional modules.

$ cd /var/www/bugzilla/
$ sudo ./checksetup.pl --check-modules

A lot of the Perl modules might be missing, first try to install all of them in one command

$ sudo /usr/bin/perl install-module.pl --all

Run the check setup script again to see which modules still need to be installed.

$ sudo ./checksetup.pl --check-modules

Install mod_perl & Apache2::SizeLimit modules if they did not get installed.

$ sudo apt-get install libapache2-mod-perl2 libapache2-mod-perl2-dev libapache2-mod-perl2-doc
$ sudo /usr/bin/perl install-module.pl Apache2::SizeLimit

Once all the Perl modules have been installed, run checksetup.pl again, this time without the –check-modules switch, this will create a file called “localconfig”.

$ sudo ./checksetup.pl

Check the /etc/apache2/envvars file for the value of APACHE_RUN_GROUP and set the webservergroup to that value.

$ sudo gedit localconfig

Change the following properties to

$webservergroup = 'www-data';
$db_pass = 'your password for bugs@localhost';

Create a User for Bugzilla for MySQL Access

Add the new user bugs@localhost with the same password that you entered in the localconfig file above.

$ sudo useradd -d /home/bugs -m bugs
$ sudo passwd bugs

Create the bugs database

The bugs database will be used by the 4.0 installation of Bugzilla.

$ sudo mysql -u root -p
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| bugzilla3          |
| mysql              |
+--------------------+
3 rows in set (0.02 sec)

mysql> create database bugs;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+——————–+
| Database           |
+——————–+
| information_schema |
| bugs               |
| bugzilla3          |
| mysql              |
+——————–+
4 rows in set (0.00 sec)

mysql> GRANT SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, CREATE, LOCK TABLES, CREATE TEMPORARY TABLES, DROP, REFERENCES ON bugs.* TO bugs@localhost IDENTIFIED BY ‘your password for bugs@localhost’;
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql> quit
Bye

Setup the Administrative User for Bugzilla

Rerun checksetup.pl. It reconfirms that all the modules are present, and notices the altered localconfig file, which it assumes you have edited to your satisfaction. It compiles the UI templates, connects to the database using the ‘bugs’ user you created and the password you defined, and creates the ‘bugs’ database and the tables therein.

If all goes well, it will ask you for an email for the Bugzilla Administrator account and the password for that account.

Configure Apache to server Bugzilla

Navigate to the Apache directory and edit the httpd.conf file

$ cd /etc/apache2/
$ sudo gedit httpd.conf

Add the following to the httpd.conf

<Directory "/var/www/bugzilla">
AddHandler cgi-script cgi
DirectoryIndex index.cgi
Options +Indexes +ExecCGI -MultiViews +SymLinksIfOwnerMatch +FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>

Restart Apache web server.

$ sudo /etc/init.d/apache2 stop
$ sudo /etc/init.d/apache2 start

Browse to http://localhost/bugzilla Your Bugzilla instance should be running now.

Login with the Bugzilla Administrator credentials that you setup earlier and configure your Bugzilla instance.


About the Author: Phattharabophit Nanongkha

Leave a comment

You must be logged in to post a comment.




Member Area