Tag Archives: bugzilla

Making Bugzilla run on Windows with XAMPP

I was struggling a bit with making Bugzilla 2.2 work on my Windows
XAMPP. I kept getting error about child processes not being able to
start. The logs said this:

[Mon Jul 05 09:04:38 2010] [error] [client 127.0.0.1] (OS 3)The
system cannot find the path specified. : couldn't create child
process: 720003: index.cgi

[Mon Jul 05 09:04:38 2010] [error] [client 127.0.0.1] (OS 3)The
system cannot find the path specified. : couldn't spawn child
process: C:/xampp/htdocs/bugzilla/index.cgi

Ths solution is actually pretty straigt-forward, once you know it.
First, add a registry key:

HKEY_CLASSES_ROOT.cgiShellExecCGICommand

and change it’s default value to:

C:\xampp\perl\bin\perl.exe -T

Adjust to your system’s paths, of course. You can use this .reg file
if you have installed into c:xampp or you can copy and paste from
here:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT.cgiShellExecCGICommand]
@="C:xamppperlbinperl.exe -T"

Then, edit your httpd.conf (e.g. c:xamppapacheconfhttpd.conf) and add these lines:

<directory "C:/xampp/htdocs/bugzilla">
  AddHandler cgi-script .cgi
  Options +Indexes +ExecCGI
  DirectoryIndex index.cgi
  AllowOverride Limit

  # To enable the this Windows specific behavior (and therefore -disable- the
  # equivilant Unix behavior), uncomment the following directive:
  #
  ScriptInterpreterSource registry

The important part here is ScriptInterpreterSource registry. It will
make Apache pick up the interpreter from the registry rather then from
the Shebang in the bugzilla cgi scripts. (see also
http://httpd.apache.org/docs/2.0/mod/core.html#scriptinterpretersource).

This is necessary since there is no

#!/usr/bin/perl -wT

on your windows system.