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\.cgi\Shell\ExecCGI\Commandand 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\.cgi\Shell\ExecCGI\Command] @="C:\\xampp\\perl\\bin\\perl.exe -T"
Then, edit your httpd.conf (e.g. c:\xampp\apache\conf\httpd.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 </directory>
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 -wTon your windows system.
Cool, glad you got this working! There’s also some stuff about this in the official Windows installation instructions for Bugzilla:
http://wiki.mozilla.org/Bugzilla:Win32Install