Install Perl
Check the version of Perl you have installed on your machine.
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.
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 :)
ReplyDeleteThanks a lot.. this post has been of great help to me.
ReplyDeleteJust 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
Thanks! your advise helped me!!! good luck good man!
DeleteHi, 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:
ReplyDeleteThe 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?
Excellent instructions.
ReplyDeleteThank you very much for spending your precious time on sharing with other people.
Trouble getting GD itself to install, pkg libgd2-xpm-dev helped
ReplyDelete:D
almost done
good post!!
ReplyDeletegood work..Thanks
ReplyDeletei am not able to send an email through SMPT
ReplyDeleteThank you. It's great posting. It helped in installation and configuring bugzilla on ubuntu12.04 server
ReplyDeleteOh 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