New ColdFusion MX users migrating from pre-MX versions may find new challenges in configuring an external webserver. In fact, before CFMX there was no concept of an external vs. an internal webserver for ColdFusion, there was only *the* webserver, and that's that. Until CFMX Updater 3 the only way to learn how to use the utility wsconfig was with the -help switch (java -jar wsconfig.jar -help).

Coinciding with CFMX Updater 3, a FAQ for the connector was published, and it contained not only answers to common questions but examples for setting up the commandline and detailed explanations for each of the switches. The FAQ went a long way towards removing the barrier for those configuring CFMX with complex web server configurations, such as ISPs.

Recently the Macromedia Livedocs online documentation was given a facelift and an overhaul, right on time with the release of ColdFusion MX 6.1. In the new documentation you'll now find a chapter just for Web Server Management. This chapter contains a subsection for configuring webservers via using the GUI mode, using the command-line interface, and using the pre-built configuration files. This chapter helps to lower the wsconfig learning curve.

Just today, though, I had the pleasure of attending a presentation given by the engineers that built wsconfig itself. Here they disclosed even more information not yet in the official documentation or technotes. Important changes to note include improvments to the -coldfusion switch. The switch now implies many of the previously required switches such as -map and -filter-prefix-only. Another important change is the new switch of -cfwebroot which may be useful to multihomed machines. There is even a switch to generate verbose debug output from the connector installation (DTrace.ci=1). (I can't take credit for the info below, but I don't want to publish their names for privacy reasons either.)

New command line parameters
-coldfusion

  • implies mappings of .cfm, .cfml, .cfc, .jsp and .jws
  • if IIS 5.0 implies filter-prefix-only
  • adds index.cfm to default document list for web server
  • always attempts to restart the web server if adding a configuration except if norestart explicitly specified
  • allows use of -cfwebroot


-cfwebroot {dir} (IIS only)
  • creates IIS virtual directories, CFIDE mapped to {dir}CFIDE, and, cfdocs mapped to {dir}cfdocs
  • allows multiple sites to use same copy of admin pages


Examples
To configure IIS global web site for ColdFusion:

{cf-root} untimeinwsconfig ws iis site 0 -coldfusion v

{cf-root} untimeinwsconfig ws iis site "All" -coldfusion v



To configure IIS "Default Web Site" for ColdFusion
{cf-root} untimeinwsconfig ws iis site "Default Web Site" -coldfusion v


Add "cfwebroot {wwwroot}" if your CFIDE and cfdocs directories were not installed to the web server document root

The map and filter-no-prefix switches are no longer needed. They are implied by coldfusion

Connector Configuration Scripts
  • If a server install, there are scripts in {cf-root}inconnectors to perform the most common web server configuration tasks
  • This may need to be edited for Apache and iPlanet depending on where web server is installed.


Web Server Configuration Tool Gui
  • The GUI can now be used to configure ColdFusion
  • To use it, run {cf-root} untimeinwsconfig (java -jar wsconfig.jar)
  • Always check "Configure web server for ColdFusion MX applications" when adding a new configuration.
  • This is equivalent to the "-coldfusion" command line switch.
  • Can not currently configure "-cfwebroot" thru the GUI.


Verbose output
  • From connector installer:
    configure connector with {cf-root} untimejrejava DTrace.ci=1 jar wsconfig.jar &&
  • From connector:
    configure connector with l switch (for gui in advanced screen) or hand-edit appropriate configuration file to set verbose to true


Information to collect if there is a problem
  • build number of wsconfig.jar
  • run {cf-root} untimeinwsconfig info
  • ColdFusion 6.1 shipped with 63961
  • build number of ColdFusion MX
  • run {cf-root}incfinfo -info
  • build number of JRun server
  • run {cf-root} untimeinjrun info
  • connector installer log file in {cf-root} untimelibwsconfigwsconfig.log