OS-Specific Installation Notes

The Bugzilla Guide - 2.18rc1 Release
Prev | Chapter 2. Installing Bugzilla | Next

# 2.4. OS-Specific Installation Notes

Many aspects of the Bugzilla installation can be affected by the the operating system you choose to install it on. Sometimes it can be made easier and others more difficult. This section will attempt to help you understand both the difficulties of running on specific operating systems and the utilities available to make it easier.

If you have anything to add or notes for an operating system not covered, please file a bug in Bugzilla Documentation.

## 2.4.1. Microsoft Windows

Making Bugzilla work on Windows is still a painful processes. The Bugzilla Team is working to make it easier, but that goal is not considered a top priority. If you wish to run Bugzilla, we still recommend doing so on a Unix based system such as GNU/Linux. As of this writing, all members of the Bugzilla team and all known large installations run on Unix based systems.

If after hearing all that, you have enough pain tolerance to attempt installing Bugzilla on Win32, here are some pointers.

### 2.4.1.1. Win32 Perl

Perl for Windows can be obtained from ActiveState. You should be able to find a compiled binary at http://aspn.activestate.com/ASPN/Downloads/ActivePerl/.

### 2.4.1.2. Perl Modules on Win32

Bugzilla on Windows requires the same perl modules found in Section 2.1.5. The main difference is that windows uses PPM instead of CPAN.

    C:\perl> ppm install <module name>

| The above syntax should work for all modules with the exception of Template Toolkit. The Template Toolkit website suggests using the instructions on OpenInteract's website. The following commands will install the required packages missing from the ActivePerl default installation:
    ppm repository add oi http://openinteract.sourceforge.net/ppmpackages
    ppm install DBD-mysql
    ppm install Template-Toolkit
    ppm install TimeDate

### 2.4.1.3. Code changes required to run on win32

As Bugzilla still doesn't run "out of the box" on Windows, code has to be modified. This section lists the required changes.

#### 2.4.1.3.1. Changes to `checksetup.pl`

In `checksetup.pl`, the line reading:

    my $mysql_binaries = `which mysql`;

to

    my $mysql_binaries = "D:\\mysql\\bin\\mysql";

And you'll also need to change:

    my $webservergid = getgrnam($my_webservergroup)

to

    my $webservergid = '8'

#### 2.4.1.3.2. Changes to `BugMail.pm`

To make bug email work on Win32 (until bug 84876 lands), the simplest way is to have the Net::SMTP Perl module installed and change this:

    open(SENDMAIL, "|/usr/lib/sendmail $sendmailparam -t -i") ||
      die "Can't open sendmail";

    print SENDMAIL trim($msg) . "\n";
    close SENDMAIL;

to

    use Net::SMTP;
    my $smtp_server = 'smtp.mycompany.com';  # change this

    # Use die on error, so that the mail will be in the 'unsent mails' and
    # can be sent from the sanity check page.
    my $smtp = Net::SMTP->new($smtp_server) ||
      die 'Cannot connect to server \'$smtp_server\'';

    $smtp->mail('bugzilla-daemon@mycompany.com');  # change this
    $smtp->to($person);
    $smtp->data();
    $smtp->datasend($msg);
    $smtp->dataend();
    $smtp->quit;

Don't forget to change the name of your SMTP server and the domain of the sending email address (after the '@') in the above lines of code.

### 2.4.1.4. Serving the web pages

As is the case on Unix based systems, any web server should be able to handle Bugzilla; however, the Bugzilla Team still recommends Apache whenever asked. No matter what web server you choose, be sure to pay attention to the security notes in Section 2.2.4.4. More information on configuring specific web servers can be found in Section 2.2.4.

| If using Apache on windows, you can set the ScriptInterpreterSource directive in your Apache config to avoid having to modify the first line of every script to contain your path to perl instead of `/usr/bin/perl`.

## 2.4.2. Mac OS X

Apple did not include the GD library with Mac OS X. Bugzilla needs this for bug graphs.

You can install it using a program called Fink, which is similar in nature to the CPAN installer, but installs common GNU utilities. Fink is available from http://sourceforge.net/projects/fink/.

Follow the instructions for setting up Fink. Once it's installed, you'll want to use it to install the `gd2` package.

It will prompt you for a number of dependencies, type 'y' and hit enter to install all of the dependencies and then watch it work. You will then be able to use CPAN to install the GD Perl module.

| To prevent creating conflicts with the software that Apple installs by default, Fink creates its own directory tree at `/sw` where it installs most of the software that it installs. This means your libraries and headers will be at `/sw/lib` and `/sw/include` instead of `/usr/lib` and `/usr/include`. When the Perl module config script asks where your `libgd` is, be sure to tell it `/sw/lib`.

Also available via Fink is `expat`. After using fink to install the expat package you will be able to install XML::Parser using CPAN. There is one caveat. Unlike recent versions of the GD module, XML::Parser doesn't prompt for the location of the required libraries. When using CPAN, you will need to use the following command sequence:

    # perl -MCPAN -e'look XML::Parser'
    # perl Makefile.PL EXPATLIBPATH=/sw/lib EXPATINCPATH=/sw/include
    # make; make test; make install
    # exit

  The look command will download the module and spawn a new shell with the extracted files as the current working directory. The exit command will return you to your original shell.
  You should watch the output from these make commands, especially "make test" as errors may prevent XML::Parser from functioning correctly with Bugzilla.

## 2.4.3. Linux-Mandrake 8.0

Linux-Mandrake 8.0 includes every required and optional library for Bugzilla. The easiest way to install them is by using the urpmi utility. If you follow these commands, you should have everything you need for Bugzilla, and ./checksetup.pl should not complain about any missing libraries. You may already have some of these installed.

    bash# urpmi perl-mysql
    bash# urpmi perl-chart
    bash# urpmi perl-gd
    bash# urpmi perl-MailTools
    bash# urpmi apache-modules

  for Bugzilla email integration

Prev | Home | Next
Optional Additional Configuration | Up | UNIX (non-root) Installation Notes