Closed
Bug 297568
Opened 20 years ago
Closed 10 years ago
Update documentation to cover additional configuration steps required for IIS6
Categories
(Bugzilla :: Documentation, enhancement, P1)
Tracking
()
RESOLVED
WONTFIX
People
(Reporter: brian, Unassigned)
Details
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0
I've created a virtual directory and in my script mappings I've tried every
command line combination for calling perl that I can find or think of.
If I use the follwoing (exactly as shown)
"c:\perl\bin\perl.exe" "%s" %s
I can get a page that reads:
"CGI Error ... The specified CGI application misbehaved by not returning a
complete set of HTTP headers."
ANY other combination of perl command lines (and I've tried hundreds so far)
yeilds me a 404 error when accessing http://server/bugzilla
-brian
Reproducible: Always
Reporter | ||
Comment 2•20 years ago
|
||
Using that command line I get a 404 error when accessing http://server/bugzilla
... If I use anything other than the command I referenced I get a 404. The
referenced command gives a CGI error.
-brian
what version of bugzilla, and what exact version of activestate perl?
i now have a 2003 server install and i can reproduce.
this is very strange, iis isn't even trying to run perl before throwing a 404.
Assignee: installation → bugzilla
Status: UNCONFIRMED → NEW
Component: Installation & Upgrading → Documentation
Ever confirmed: true
here's the trace..
OPEN C:\bugzilla\ SUCCESS Options: Open NoBuffer Access: All
QUERY C:\bugzilla\ SUCCESS FileFsVolumeInformation
QUERY C:\bugzilla\ BUFFER OVERFLOW FileAllInformation
CLOSE C:\bugzilla\ SUCCESS
OPEN C:\bugzilla\index.cgi SUCCESS Options: Open Access: All
QUERY C:\bugzilla\index.cgi SUCCESS FileFsVolumeInformation
QUERY C:\bugzilla\index.cgi BUFFER OVERFLOW FileAllInformation
CLOSE C:\bugzilla\index.cgi SUCCESS
OPEN C:\WINDOWS\help\iisHelp\common\404b.htm SUCCESS
there's no actual errors there, and no attempt to start perl.exe
(the buffer overflows are normal)
ok, what's happening is IIS6 disables CGI by default, and when you try to hit a
disabled service extension it returns 404.
in the iis management console, go to the 'web service extension' section and
allow 'all unknown cgi extensions'.
ideally you should be able to add your own web service extension for just cgi,
however it looks like a bug in the msc is blocking this from working. you need
to add a filename that matches the mappping exactly.. ie
c:\perl\bin\perl.exe -xc:\bugzilla -wT "%s" %s
however the msc complains that this isn't a valid filename.
explaining a few things:
when you install activestate perl, it adds a service extension for
c:\perl\bin\perl.exe "%s" %s
which is why when you use this one you're not getting blocked / 404'ed
however bugzilla uses taint mode, which on windows must be specified on the
command line, so the default mapping won't work.
we need to add the following to our install docs:
If you are running IIS6 you need to allow access to all unknown CGI extensions
via the Web Service Extensions sections of the IIS Management Console. If
access for CGIs hasn't been enabled, IIS6 will return 404 errors.
Severity: critical → normal
Summary: Cant run bugzilla under Win2K3 with IIS6 and Activestate Perl 5.8 → Update documentation to cover additional configuration steps required for IIS6
i just tried adding a mapping using
c:\perl\bin\perl.exe -xc:\bugzilla -wT "%s" %s
and it worked - i suspect the iis management console bug has been fixed.
My installation of IIS6 would not allow me to add the mapping, but here is a workaround. Create a mapping to c:\perl\bin\perl.exe -xbugzilla -wT "%s" %s, then stop the IISAdmin service. Edit the metabase directly (c:\windows\system32\inetsvr\metabase.xml, and replace -xbugzilla with -xC:\bugzilla.
Restart the IISAdmin and World Wide Web Publishing services, and voila -- Bugzilla works without having to enable all unknown CGI extensions.
Comment 9•19 years ago
|
||
I've written a step by step guide for my own use regarding how to configure IIS to allow the Bugzilla cgi extensions. I thought it might as well go into the bugzilla documentation if it is acceptable to others. There might be other quicker ways to get this working, but this is the only way I could manage.
Regarding comment #7 from byron jones, I could NOT get this to work using the IIS mmc (it doesn't like ":" in the parameter list). We are running Windows Server 2003 with all the latest bug fixes installed.
I can add this to the documentation if others find this text ok.
Regards,
Robin.
===================================
Note for IIS 6:
In order for Bugzilla to work at all under IIS 6, you must enable the
Bugzilla cgi extension. The quick (but very unsecure) way of doing this
is to open up IIS Manager and click on "Web Service Extensions". Then
select "All unknown CGI Extensions" and click on the "Allow" button.
This is NOT recommended for production use, but can be used to make sure the
Bugzilla is working correctly before enabling the extension using the
secure method below.
The secure way to add the Bugzilla extension is as follows:
Note: this assumes you have installed bugzilla to the following
directory: "C:\Bugzilla" . And perl to "C:\Perl" Change accordingly if
neccessary.
1. Open IIS MMC and select on "Web Service Extensions". Then click "Add a new web service extension..."
2. For the required file, enter the following:
c:\perl\bin\perl.exe -xbugzilla -wT "%s" %s
3. Now you have to edit the metabase.xml file manually, since the above
path is incorrect, but the correct one cannot be added via the
MMC. So open the metabase.xml file (found in
"c:\windows\system32\inetsrv") in Notepad and find the following entry
for Bugzilla:
1,c:\perl\bin\perl.exe -xbugzilla -wT "%s" %s,1,Bugzilla,Bugzilla
This entry needs to be changed to (note that the quotes will have been converted to " by the MMC):
1,C:\perl\bin\perl.exe -xc:\Bugzilla -wT "%s" %s,1,Bugzilla,Bugzilla
In effect the path specified here should be the same as the one
specified in Application mappings of your bugzilla web site and can
actually be copied from the appropriate entry for this mapping in the
metabase.xml file (or compare it to ensure they are pointing to the
same file and parameters).
4. Now save the file. If you have "Enable Direct Metabase Edit"
checked in the properties for IIS on your server, you should now see an entry
called Bugzilla under the Web Service Extensions in IIS. If you do not
have this checked, you will have to restart IIS (NET STOP /y IISADMIN,
NET START W3SVC).
5. To disable this extension in the future simply select "Prohibit" on
the Bugzilla extension in "Web Service Extensions". Obvioulsy this will
disable Bugzilla.
Comment 10•17 years ago
|
||
This is pretty important and should be added to the docs. Probably the best thing to do would be to take things from Byron's win32install guide and make sure that they're all in the IIS section of Configuration.
Priority: -- → P2
Updated•15 years ago
|
Severity: normal → enhancement
Priority: P2 → P1
Comment 11•15 years ago
|
||
FWIW, I just used the above instructions, and unfortunately they aren't very workable, because IIS keeps resetting the argument to -xbugzilla whenever you make a configuration change. So for now I'd recommend that people just allow all unknown CGI extensions.
![]() |
||
Comment 12•14 years ago
|
||
glob, do you have working steps to follow? Or said more explicitly, would you be willing to assign this bug to you? :-D
Comment 13•14 years ago
|
||
i have to see if i still have access to an iis6 box first.
Comment 14•10 years ago
|
||
IIS6 shipped with XP (now EOLed) and Server 2003 (EOLed in July 2015). I don't think it's worth updating the docs with IIS6-specific stuff these days. When we get the Windows docs in order, we will no doubt document whatever versions are current.
Gerv
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → WONTFIX
You need to log in
before you can comment on or make changes to this bug.
Description
•