Bugzilla:FAQ:Bugzilla and Win32

What is the easiest way to run Bugzilla on Win32 (Win98+/NT/2K)?

Remove Windows. Install Linux. Install Bugzilla. The boss will never know the difference. B^)

Seriously though, making Bugzilla work easily with Windows was one of the major goals of the 2.18 milestone. If the necessary components are in place (perl, a webserver, an MTA, etc.) then installation of Bugzilla on a Windows box should be no more difficult than on any other platform. As with any installation, we recommend that you carefully and completely follow the installation instructions in Section 2.4.1.

While doing so, don't forget to check out the very excellent guide to Installing Bugzilla on Microsoft Windows written by Byron Jones. Thanks, Byron!

Is there a "Bundle::Bugzilla" equivalent for Win32?

Not currently. Bundle::Bugzilla enormously simplifies Bugzilla installation on UNIX systems. If someone can volunteer to create a suitable PPM bundle for Win32, it would be appreciated.

CGI's are failing with a "something.cgi is not a valid Windows NT application" error. Why?

Depending on what Web server you are using, you will have to configure the Web server to treat *.cgi files as CGI scripts. In IIS, you do this by adding *.cgi to the App Mappings with the <path>\perl.exe %s %s as the executable.

Microsoft has some advice on this matter, as well:

  • "Set application mappings. In the ISM, map the extension for the script file(s) to the executable for the script interpreter. For example, you might map the extension .py to Python.exe, the executable for the Python script interpreter. Note For the ActiveState Perl script interpreter, the extension '.pl' is associated with PerlIS.dll by default. If you want to change the association of .pl to perl.exe, you need to change the application mapping. In the mapping, you must add two percent (%) characters to the end of the pathname for perl.exe, as shown in this example: c:\perl\bin\perl.exe %s %s"

I'm having trouble with the perl modules for NT not being able to talk to the database.

Your modules may be outdated or inaccurate. Try:

  1. Hitting http://www.activestate.com/ActivePerl
  2. Download ActivePerl
  3. Go to your prompt
  4. Type 'ppm'
  5. PPM> install DBI DBD-mysql GD

I reckon TimeDate and Data::Dumper come with the activeperl. You can check the ActiveState site for packages for installation through PPM. http://www.activestate.com/Packages/.

How do I set up Bugzilla to use the Windows SMTP service?

In order to send bugmail, Bugzilla needs access to an SMTP server. You could probably use your ISP SMTP server (and maybe ask him to set up a seperate account for Bugzilla), but it is also possible to use the SMTP service included in Windows XP Pro, as well as the various Server 2003 versions.

First, install the service. in Windows XP, this is done from Control Panel > Add or Remove Programs > Add/Remove Windows Components, select Internet Information Services, press the Details button, and check SMTP Service. For Windows Server 2003, there's a nice tutorial here, though I suspect you don't need the POP3 service configured if you only need Bugzilla to send mail, and not receive mail.

Bugzilla doesn't support mail authentication yet. This means you will have to allow anonymous relay on the service.

Note: if your server is exposed to the internet, this could be a security problem. It will allow spammers to use your SMTP service to relay messages to other people without your knowledge, so this set up should be done only if the server is not accessible from the public internet.

In order to allow anonymous outbound messages, open the Computer Management console from Control Panel > Administrative Tools, open the Services and Applications branch on the left, Open the Internet Information Services branch, right-click on Default SMTP Virtual Server and select Properties. In the Access tab, press the Relay button, and select All except the list below, and leave the list empty. Uncheck Allow all computers which successfully authenticate to relay..., and press OK.

In order to limit the computers that can connect to the SMTP server to the one running Bugzilla, and so prevent the possibility of turning your machine into a spam bot, you should add the IP address of the Bugzilla server to the list (or the IP range of your LAN, if you want to allow others on your network to send mail from this server), via the Add... button.

If the server is not a member of a domain, outgoing messages will have the name of the server on the local network as the domain part of outgoing messages' "From" field. This will prevent the message from being delivered to most e-mail services. To correct this, open the Delivery tab and click the Advanced button. In the Masquerade domain field, enter the domain of your ISP, or whatever domain you use to receive email and click OK. While on the Delivery tab, you might want to shorten the time to the first delivery attempt, from 15 minutes to 1 (this parameter needs further investigation).

After masquerading your domain, you will also need to change the mailfrom field in Bugzilla's main configuration page (/editparams.cgi), in the Email section, to the full name, including the domain. E.g. bugzilla-deamon@example.com.