Installing Bugzilla

From ISPWiki

Jump to: navigation, search

Contents

Installing Bugzilla on VDS under FreeBSD

Checked 01.26.2010 Bugzilla is a bug tracking system from Mozilla Foundation.

Use a VPS with a Soft2006 template where the VDSmanager control panel is installed. You can also use any server running FreeBSD (Apache 2.2/MySQL 5.0)

Installing Bugzilla from ports

You can easily install it from Ports. Log in to the server as root via SSH and run the commands:

# cd /usr/ports/devel/bugzilla
# make install clean

Enable the MySQL database support:

[X] MYSQL             MySQL database support

All other settings are set by default.

Bugzilla and all necessary Perl modules will be installed from ports. Leave their settings as default.

Once completed, the following message will be displayed:

  Bugzilla has been installed.  For quick setup you have to:

<...skipped...>

Go to ISPmanager -> the Databases (ISPmanager) module to create a MySQL database (named bugs).

If ISPmanager is not installed on your server, you can create a database manually. The code to be executed in the mysql-client is provided in a text, once the installation is finished.

Go to the directory where Bugzilla is installed and run the checksetup.pl script:

# cd /usr/local/www/data/bugzilla
# ./checksetup.pl

The text will be returned::

* This is Bugzilla 3.4.4 on perl 5.8.9
* Running on FreeBSD 6.3-STABLE FreeBSD 6.3-STABLE #6: Sat Dec 19 06:26:37 CET 2009     root@dione.ispsystem.net:/root/src/sys/i386/compile/ISPSYSTEM_PAE

Checking perl modules...
Checking for              CGI.pm (v3.21)   ok: found v3.48

<...skipped...>

The following variables are new to ./localconfig since you last run
checksetup.pl:  create_htaccess, webservergroup, db_driver, db_host, db_name, db_user, db_pass, 
db_port, db_sock, db_check, index_html, cvsbin, interdiffbin, diffpath, site_wide_secret

The script will show information concerning the system and modules installed, and inform you that you should run the command /usr/local/bin/perl install-module.pl --all to install all the modules.

You will be prompt to edit the localconfig file and restart. You need to run the checksetup.pl script and make changes unless the errors disappear.

You can also run the ./install-module.pl module_name command . to install necessary modules.

Edit the localconfig file and edit the parameters:

$webservergroup = 'apache'; change to  $webservergroup = 'www';
$db_name = 'bugs';
$db_user = 'bugs';
$db_pass = 'database_password';

Provide all necessary information to access the database.

Customizing a MySQL-server

Run ./checksetup.pl again

I've got the following warning:

WARNING: You need to set the max_allowed_packet parameter in your MySQL
configuration to at least 3276750. Currently it is set to 1048576.
You can set this parameter in the [mysqld] section of your MySQL
configuration file.

Specify the line max_allowed_packet = 4M (max_allowed_packet = 1M is set by default) in /etc/my.cnf in [mysqld]

Enable InnoDB support by commenting out the line skip-innodb (otherwise the script will prompt you to do this) with #. The line will look like that:

#skip-innodb

Restart the MySQL-server using the following command:

# /usr/local/etc/rc.d/mysql-server restart

Creating a user (administrator)

Create a lib directory in the folder with files (in my case, it was prompt by the message "No such file or directory at Bugzilla/Install/Filesystem.pm line 445").

# mkdir lib

Once completed, you will see the following message from checksetup.pl:

Enter the e-mail address of the administrator:

Enter an email of the Bugzilla administrator (email addresses are logins there), as well as other necessary information (username and password):

Enter the e-mail address of the administrator: admin@example.com
Enter the real name of the administrator: John Doe
Enter a password for the administrator account:
Please retype the password to verify:

Customizing Apache

Create a file /usr/local/etc/apache22/Includes/bugzilla.conf

Specify the following text:

Alias /bugzilla /usr/local/www/data/bugzilla/
<Directory "/usr/local/www/data/bugzilla/">
  Options +ExecCGI
  AllowOverride Limit
  DirectoryIndex index.cgi
  AddHandler cgi-script .cgi
</Directory>

Restart apache

# /usr/local/etc/rc.d/apache22 restart

Now you can access Bugzilla from here http://server-name/bugzilla/

You can also add a virtual host in ISPmanager and manually customize it

<VirtualHost 10.20.30.40:80>
        ServerName bugzilla.example.com
        DocumentRoot /usr/local/www/data/bugzilla
        CustomLog /home/httpd-logs/bugzilla.example.com.access.log combined
        ErrorLog /home/httpd-logs/bugzilla.example.com.error.log
        ServerAlias www.bugzilla.example.com
        ServerAdmin admin@example.com
</VirtualHost>

You change DocumentRoot there and remove SuexecUserGroup (for the scripts to be executed with www privileges), then restart the web-server.

WE are done with the installation. Let's proceed to configuration.

Sometimes (when in the apache config there are virtual hosts already) url /bugzilla may work incorrectly due to settings of the first virtual host on that IP-address - the scripts run not from a www user. Specify the virtual host mentioned above as the first one in the Apache configuration file.

Was this helpful? Yes | No
Personal tools