• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1455
  • Last Modified:

How to configure the WEB SERVICE EXTENSIONS and the FILE MAPPINGS using APPCMD?

This is for IIS 7 (x64) to handle CF8.01 (x64) on w2k8 server core (x64).

We can open CF Admin on port 8500, but not on port 80.

WSCONFIG throws a Java error when trying to configure the web connector and half-builds the wsconfig folder. Therefore, the need to do this manually.

We manually completed the wsconfig folder with dll's, ini's, etc.  and in the jrun.xml, changed 'deactivated' attribute from 'true' to 'false' with the port (51800) matching the appropriate lines of the files inside the wsconfig folder.

The commands we've been trying, resemble the code below. We're in w2k8 CORE, and do not have access to the GUI, so the use of APPCMD. The commands are modifications of ones we found to configure PHP (http://windowsmvp.spaces.live.com/blog/cns!80195647FE07388F!485.entry) and TomCat (http://forums.iis.net/t/1149623.aspx).

We want the whole server (machine) to be able to handle CF requests through IIS.

We can see the changes in "applicationHost.config", but no CF Admin page.

Any help would be greatly appreciated.

REM adds 'index.cfm' to default documents at server level
appcmd.exe set config /section:defaultDocument /enabled:true /+files.[value='index.cfm'] 
 
REM adds web service extension (first security, then isapi filter)
appcmd.exe set config /section:system.webServer/security/isapiCgiRestriction /+"[path='%systemdrive%\Coldfusion8\runtime\lib\wsconfig\jrun_iis6.dll',allowed='True',groupId='Macromedia',description='Macromedia Server Extensions']"
appcmd.exe set config /section:system.webServer/security/isapiCgiRestriction /+"[path='%systemdrive%\Coldfusion8\runtime\lib\wsconfig\1\jrun_iis6_wildcard.dll',allowed='True',groupId='Macromedia',description='Macromedia Server Extensions']"
 
appcmd.exe set config /section:system.webServer/isapiFilters /+"[name='Macromedia Server Extensions',path='%systemdrive%\Coldfusion8\runtime\lib\wsconfig\jrun_iis6.dll',preCondition='bitness32']"
REM the following needs a unique name
REM appcmd.exe set config /section:system.webServer/isapiFilters /+"[name='Macromedia Server Extensions',path='%systemdrive%\Coldfusion8\runtime\lib\wsconfig\1\jrun_iis6_wildcard.dll',preCondition='bitness32']"
 
REM add file mappings (needs a path to a dll, which one?)
appcmd.exe set config /section:system.webServer/handlers /+[name='ISAPI-cfm',path='*.cfm',verb='*',modules='IsapiFilterModule',resourceType='File',requireAccess='Execute']

Open in new window

0
KennethaMackenzie
Asked:
KennethaMackenzie
  • 2
1 Solution
 
Praveen DMInfra Team LeadCommented:
http://learn.iis.net/page.aspx/114/getting-started-with-appcmdexe/

Some of the things you can do with AppCmd:

Create and configure sites, apps, application pools, and virtual directories
Start and stop sites, and recycle application pools
List running worker processes, and examine currently executing requests
Search, manipulate, export, and import IIS and ASP.NET configuration
0
 
KennethaMackenzieAuthor Commented:
AppCmd.exe effectively modifies the C:\Windows\System32\inetsrv\config\applicationHost.config file.

We manually modified the "isapiCgiRestrictions" and "Handlers" sections of our config file:

<add path="C:\ColdFusion8\runtime\lib\wsconfig\1\jrun_iis6_wildcard.dll" allowed="true" groupId="MACRSRV" description="Macromedia Server Extensions" />
<add path="C:\ColdFusion8\runtime\lib\wsconfig\jrun_iis6.dll" allowed="true" groupId="MACRSRV" description="Macromedia Server Extensions" />

<add name="AboMapperCustom-54522" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\ColdFusion8\runtime\lib\wsconfig\1\jrun_iis6_wildcard.dll" requireAccess="None" responseBufferLimit="0" />
<add name="AboMapperCustom-54523" path="*.jsp" verb="*" modules="IsapiModule" scriptProcessor="C:\ColdFusion8\runtime\lib\wsconfig\jrun_iis6.dll" requireAccess="Script" responseBufferLimit="0" />
<add name="AboMapperCustom-54524" path="*.jws" verb="*" modules="IsapiModule" scriptProcessor="C:\ColdFusion8\runtime\lib\wsconfig\jrun_iis6.dll" requireAccess="Script" responseBufferLimit="0" />
<add name="AboMapperCustom-54525" path="*.cfm" verb="*" modules="IsapiModule" scriptProcessor="C:\ColdFusion8\runtime\lib\wsconfig\jrun_iis6.dll" requireAccess="Script" responseBufferLimit="0" />
<add name="AboMapperCustom-54526" path="*.cfml" verb="*" modules="IsapiModule" scriptProcessor="C:\ColdFusion8\runtime\lib\wsconfig\jrun_iis6.dll" requireAccess="Script" responseBufferLimit="0" />
<add name="AboMapperCustom-54527" path="*.cfc" verb="*" modules="IsapiModule" scriptProcessor="C:\ColdFusion8\runtime\lib\wsconfig\jrun_iis6.dll" requireAccess="Script" responseBufferLimit="0" />
<add name="AboMapperCustom-54528" path="*.cfr" verb="*" modules="IsapiModule" scriptProcessor="C:\ColdFusion8\runtime\lib\wsconfig\jrun_iis6.dll" requireAccess="Script" responseBufferLimit="0" />
<add name="AboMapperCustom-54529" path="*.cfswf" verb="*" modules="IsapiModule" scriptProcessor="C:\ColdFusion8\runtime\lib\wsconfig\jrun_iis6.dll" requireAccess="Script" responseBufferLimit="0" />
<add name="AboMapperCustom-54530" path="*.mxml" verb="*" modules="IsapiModule" scriptProcessor="C:\ColdFusion8\runtime\lib\wsconfig\jrun_iis6.dll" requireAccess="Script" responseBufferLimit="0" />

We also added a virtual directory "CFIDE" to the default site.

This made the file (virtually) identical to one that we create on a "regular" Windows 2008 Server using the same IIS7 install-command and CF 8.0.1 silently installed. Wsconfig.exe ran on this server without a problem. This web server runs CF.

This leads me to believe that there is something missing from the underbelly of the 2008 CORE, that CF needs to connect to IIS7.
0
 
KennethaMackenzieAuthor Commented:
The missing part is Visual C++ 2005 x64. Available at http://www.microsoft.com/downloadS/details.aspx?FamilyID=eb4ebe2d-33c0-4a47-9dd4-b9a6d7bd44da&displaylang=en. With this installed, the web connector tool (wsconfig.exe) can run sucessfully and configure IIS to process CF requests.

The CF Installer needs this to perform the install using a  GUI. A silent CF install (which we use) did not need VC++, but it vital to get CF and IIS working together.

0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now