Friday, March 4, 2011

Installing Bugzilla 4.0 on Ubuntu 10.04 with MySQL

These are quick steps to install Bugzilla 4.0 on Ubuntu 10.04, you can refer to The Official Bugzilla Docs for detailed steps if needed.

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.

11 comments:

  1. Just wanted to say thank you for this. I'm an IT intern, and they wanted me to setup Bugzilla 4.0 on Ubuntu 10.04 with MySQL...which I had no idea how to do. This guide really helped me out, and taught me a lot too :)

    ReplyDelete
  2. Thanks a lot.. this post has been of great help to me.
    Just had to make one small change while adding directory to httpd.conf. I added a dot before cgi in this line
    AddHandler cgi-script cgi
    Like this
    AddHandler cgi-script .cgi

    Thanks again

    ReplyDelete
    Replies
    1. Thanks! your advise helped me!!! good luck good man!

      Delete
  3. Hi, i followed above steps and installed bugzilla in my ubuntu 10.04, but when i browse to http://localhost/bugzilla i get the following error Internal Server Error:

    The server encountered an internal error or misconfiguration and was unable to complete your request.

    Please contact the server administrator, webmaster@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.

    More information about this error may be available in the server error log.

    Apache/2.2.14 (Ubuntu) Server at localhost Port 80

    any solution to this error?

    ReplyDelete
  4. Excellent instructions.
    Thank you very much for spending your precious time on sharing with other people.

    ReplyDelete
  5. Trouble getting GD itself to install, pkg libgd2-xpm-dev helped
    :D

    almost done

    ReplyDelete
  6. good work..Thanks

    ReplyDelete
  7. i am not able to send an email through SMPT

    ReplyDelete
  8. Thank you. It's great posting. It helped in installation and configuring bugzilla on ubuntu12.04 server

    ReplyDelete
  9. Oh gosh. Thank you so much! Was having problems with Apache2::SizeLimit. It's surprising --check-modules doesn't list it as missing! But once I restarted the process from scratch, your easy-to-follow method worked outright.

    ReplyDelete