Bugzilla is a powerful, web-based bugtracker and testing tool implemented in Perl.

Creating a new Bugzilla installation

Unpack the latest Stable Release of Bugzilla into your destination directory:

  $ cd ~/www/bugs.example.com
  $ sh /var/www/bugzilla/install.sh bugs.example.com

Execute checksetup.pl for the first time, and set secure permissions on the newly-created localconfig file.

  $ cd ~/www/bugs.example.com
  $ perl checksetup.pl
  $ chmod 600 localconfig

Since this is a new installation, checksetup.pl will complain about the missing database. Create your new Bugzilla database using either the Control Panel or csoftadm:

  $ csoftadm -c 'db mysql add mybugsdb'
  $ csoftadm -c 'db mysql useradd mybugzilla localhost'
  $ csoftadm -c 'db mysql grant mybugzilladb mybugzilla ALL'

Now open localconfig in an editor and edit the following entries:

  $webservergroup = 'users';
  $db_name = 'mybugsdb';
  $db_user = 'mybugzilla';
  $db_pass = 'secret';

Run checksetup.pl again:

  $ perl checksetup.pl

After asking for an administrator e-mail address, name and password, the script will compile the default templates and populate the database. You can now browse to the Bugzilla URL and login using the administrator e-mail / password. Bugzilla will guide you through the remaining configuration steps.

Security notes: It is recommended to log into the administrator area using SSL. If you do not own a SSL certificate, you can always generate one yourself (see the SSL guide). The sslbase setting is important. In our example, Bugzilla was installed into the root of the bugs.example.com domain, so the base URL can be left empty. If installed in a subfolder (say example.com/bugs), the base URL must be set /bugs.

The included test suite (testserver.pl) may be used to test the installation further:

  $ perl testserver.pl https://bugs.example.com/
Upgrading an existing Bugzilla installation

Bugzilla's upgrade process is usually very simple, but make sure to read the Release Notes first. Upgrade from one major release to the next (don't skip major releases). You may want to create a backup of your Bugzilla database before upgrading:

  $ mysqldump mybugsdb > mybugsdb.dump

Unpack Bugzilla into your destination directory, and copy the localconfig file over from the previous installation:

  $ cd ~/www
  $ mv bugs.example.com bugzilla.ORIG
  $ sh /var/www/bugzilla/install.sh bugs.example.com
  $ cp -p bugzilla.ORIG/localconfig bugs.example.com

Run the checksetup.pl script:

  $ cd ~/www/bugs.example.com
  $ perl checksetup.pl

The script will automatically check the dependencies and upgrade the database. After it completes successfully, make sure to log in as administrator and review your configuration settings. The previous installation directory may now be removed:

  $ rm -fR ~/www/bugzilla.ORIG
Statistics collection

If you want graphical statistics, you need to add a cron entry for statistics collection:

  $ crontab -e

Add the following, substituting for your actual Bugzilla installation directory:

  5 0 * * * (cd $HOME/www/your-bugzilla && ./collectstats.pl)
The whining system

Bugzilla's automatic whining system is useful for periodically reminding developers about bugs left in the NEW or REOPENED state. To use this feature, add an additional entry to your crontab:

  55 0 * * * (cd $HOME/www/your-bugzilla && ./whineatnews.pl)

Users can also configure Bugzilla to execute saved searched at specific times and e-mailing back the results to them. This requires the whine.pl script:

  */15 * * * * (cd $HOME/www/your-bugzilla && ./whine.pl)
Links