Many aspects of the Bugzilla installation can be affected by 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.
Making Bugzilla work on Windows is more difficult than making it work on Unix. For that reason, we still recommend doing so on a Unix based system such as GNU/Linux. That said, if you do want to get Bugzilla running on Windows, you will need to make the following adjustments.
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/. The following instructions assume that you are using version 5.8.1 of ActiveState.
C:\perl> ppm install <module name>
The best source for the Windows PPM modules needed for Bugzilla is probably the Bugzilla Test Server (aka 'Landfill'), so you should add the Landfill package repository as follows:
ppm repository add landfill http://www.landfill.bugzilla.org/ppm/
The PPM repository stores modules in 'packages' that may have a slightly different name than the module. If retrieving these modules from there, you will need to pay attention to the information provided when you run checksetup.pl as it will tell you what package you'll need to install.
If you are behind a corporate firewall, you will need to let the ActiveState PPM utility know how to get through it to access the repositories by setting the HTTP_proxy system environmental variable. For more information on setting that variable, see the ActiveState documentation.
Bugzilla on Win32 is mostly supported out of the box; one remaining issue is related to bug email. To make bug email work on Win32 (until bug 49893 lands), the simplest way is to have the Net::SMTP Perl module installed and change these lines in the file Bugzilla/Bugmail.pm:
open(SENDMAIL, "|/usr/lib/sendmail $sendmailparam -t -i") || die "Can't open sendmail"; print SENDMAIL trim($msg) . "\n"; close SENDMAIL;
use Net::SMTP; my $smtp_server = 'smtp.mycompany.com'; # change this ($enableSendMail && $rcpt_to) || return; # 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('[email protected]'); # change this $smtp->to($rcpt_to); $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.
Please be aware that flag email will continue not to work.
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 4.3.1. 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 perl instead of /usr/bin/perl.
In Mac OS X 10.3 and later, Postfix is used as the built-in email server. Postfix provides an executable that mimics sendmail enough to fool Bugzilla, as long as Bugzilla can find it.
The substitute Sendmail executable is located at /usr/sbin/sendmail, while Bugzilla expects the executable to be located at /usr/lib/sendmail. Rather than copying the sendmail executable, a symbolic link can be used. To create the symbolic link, launch the Terminal application and execute the following command:
The other change to be made involves turning on the sendmailnow Bugzilla parameter, which is described in Section 3.1.
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 https://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 wille 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:
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.