This quick start guide makes installing Bugzilla as simple as possible for those who are able to choose their environment. It creates a system using Ubuntu Linux 14.04 LTS, Apache and MySQL, and installs Bugzilla as the default home page. It requires a little familiarity with Linux and the command line.
Ubuntu 14.04 LTS Server requires a 64-bit processor. Bugzilla itself has no prerequisites beyond that, although you should pick reliable hardware. You can also probably use any 64-bit virtual machine or cloud instance that you have root access on.
Get Ubuntu Server 14.04 LTS and follow the installation instructions. Here are some tips:
Reboot when the installer finishes.
apt-get install git nano
apt-get install apache2 mysql-server libappconfig-perl libdate-calc-perl libtemplate-perl libmime-perl build-essential libdatetime-timezone-perl libdatetime-perl libemail-sender-perl libemail-mime-perl libemail-mime-modifier-perl libdbi-perl libdbd-mysql-perl libcgi-pm-perl libmath-random-isaac-perl libmath-random-isaac-xs-perl apache2-mpm-prefork libapache2-mod-perl2 libapache2-mod-perl2-dev libchart-perl libxml-perl libxml-twig-perl perlmagick libgd-graph-perl libtemplate-plugin-gd-perl libsoap-lite-perl libhtml-scrubber-perl libjson-rpc-perl libdaemon-generic-perl libtheschwartz-perl libtest-taint-perl libauthen-radius-perl libfile-slurp-perl libencode-detect-perl libmodule-build-perl libnet-ldap-perl libauthen-sasl-perl libtemplate-perl-doc libfile-mimeinfo-perl libhtml-formattext-withlinks-perl libgd-dev lynx-cur python-sphinx
This will take a little while. It's split into two commands so you can do the next steps (up to step 7) in another terminal while you wait for the second command to finish. If you start another terminal, you will need to sudo su again.
Get it from our Git repository:
cd /var/www
rm -rf html
git clone --branch bugzilla-X.X-stable https://git.mozilla.org/bugzilla/bugzilla html
(where "X.X" is the 2-digit version number of the stable release of Bugzilla that you want - e.g. 4.4)
cd html
The following instructions use the simple nano editor, but feel free to use any text editor you are comfortable with.
nano /etc/mysql/my.cnf
Set the following values, which increase the maximum attachment size and make it possible to search for short words and terms:
Save and exit.
Then, add a user to MySQL for Bugzilla to use:
mysql -u root -p -e "GRANT ALL PRIVILEGES ON bugs.* TO bugs@localhost IDENTIFIED BY '$db_pass'"
Replace $db_pass with a strong password you have generated. Write it down. When you run the above command, it will prompt you for the MySQL root password that you configured when you installed Ubuntu. You should make $db_pass different to that password.
Restart MySQL:
service mysql restart
nano /etc/apache2/sites-available/bugzilla.conf
Paste in the following and save:
ServerName localhost
<Directory /var/www/html>
AddHandler cgi-script .cgi
Options +ExecCGI
DirectoryIndex index.cgi index.html
AllowOverride Limit FileInfo Indexes Options
</Directory>
a2ensite bugzilla
a2enmod cgi headers expires
service apache2 restart
Bugzilla comes with a checksetup.pl script which helps with the installation process. It will need to be run twice. The first time, it generates a config file (called localconfig) for the database access information, and the second time (step 10) it uses the info you put in the config file to set up the database.
cd /var/www/html
./checksetup.pl
nano localconfig
You will need to set the following values:
Run the checksetup.pl script again to set up the database.
./checksetup.pl
It will ask you to give an email address, real name and password for the first Bugzilla account to be created, which will be an administrator. Write down the email address and password you set.
./testserver.pl http://localhost/
All the tests should pass. You may get warnings about deprecation from the Chart::Base Perl module; if so, just ignore them.
Access the front page:
lynx http://localhost/
It's not really possible to use Bugzilla for real through Lynx, but you can view the front page to validate visually that it's up and running.
You might well need to configure your DNS such that the server has, and is reachable by, a name rather than IP address. Doing so is out of scope of this document. In the mean time, it is available on your local network at http://<ip address>/, where <ip address> is (unless you have a complex network setup) the "inet addr" value displayed when you run ifconfig eth0.
Once you have worked out how to access your Bugzilla in a graphical web browser, bring up the front page, click Log In in the header, and log in as the admin user you defined in step 10.
Click the Parameters link on the page it gives you, and set the following parameters in the Required Settings section:
Click Save Changes at the bottom of the page.
There are several ways to get Bugzilla to send email. The easiest is to use Gmail, so we do that here so you have it working. Visit https://gmail.com and create a new Gmail account for your Bugzilla to use. Then, open the Email section of the Parameters using the link in the left column, and set the following parameter values:
Click Save Changes at the bottom of the page.
And you're all ready to go. :-)
This documentation undoubtedly has bugs; if you find some, please file them here.