ColdFusion Server 4.5.1
Release Notes -- Updated March 23, 2000


Contents

Welcome to ColdFusion Server 4.5.1. As in ColdFusion 4.5, this release is comprised of a platform-independent code base. This evolution means changing many of the core libraries that support functionality like CFMAIL, CFPOP, CFHTTP, and CFLDAP.

Use these release notes to stay apprised of important information relating to ColdFusion Server installation and configuration. On this page, you'll also find details about known problems or behaviors in this release.

This release builds upon the many new features and enhancements that made ColdFusion 4.5 a significant upgrade. For information about new features and enhancements, see the New Features page.


ColdFusion Server System Requirements

ColdFusion Server 4.5.1 Enterprise Edition for Windows

System

Windows 2000 issues:

Web servers

NOTE: ClusterCATS is supported on IIS, Netscape Enterprise Server, and Apache Web Server.

ColdFusion Server 4.5.1 Professional Edition for Windows

System

Web servers

ColdFusion Server 4.5.1 Enterprise Edition for Linux

System

Web servers

ColdFusion Server 4.5.1 Professional Edition for Linux

System

Web servers

ColdFusion Server 4.5.1 Enterprise Edition for Solaris

Patches Required for Solaris 2.5.1:

Solaris 2.5.1 with ClusterCATS load balancing:

Patches Required for Solaris 2.6:

Patches Required for Solaris 7:

[These patches are available at access1.sun.com]

Packages Required:

The following package must be installed on your system:

Web servers

NOTE: Load balancing and failover support is available only on Apache Web servers that are binary compatible with Apache 1.3.6 and binary compatible versions (up to and including 1.3.12) and Netscape Web servers.


Before installing ColdFusion on Linux

Before installing ColdFusion on Linux, note the following considerations:


Issues fixed in ColdFusion 4.5.1

Following are behaviors in ColdFusion that have been fixed or enhanced in ColdFusion 4.5.1 since the release of ColdFusion 4.5:

Administration

Database

Clustering and load balancing

Tags

Functions

Verity

Email

CORBA

Other


Upgrading to ColdFusion 4.5.1

Note the following when upgrading to ColdFusion 4.5.1 from previous releases of ColdFusion:

Whitespace handling

Error handling

ColumnList function

CFHTTP tag

cfcrypt utility

Changes to Administrator

Clustering


Known Issues: All platforms

General

Security

Data sources

Searching

Tags

Functions


Known Issues: Windows NT

Installation

Security

Data sources

Java

Tags

COM and CORBA

Functions

Load-balancing and clustering


Known Issues: Linux

Installation

Java

Data sources

Tags

You cannot use SSL with the CFLDAP tag on Liniux. SSL is supported on all other platforms. [13350]

Functions


Known Issues: Solaris

Installation and system requirements

Security

Data sources

Java

Tags


Configuring MySQL data sources on ColdFusion Server for Linux

Allaire now ships a MySQL ODBC driver provided by Merant. In addition, you can use the myODBC driver provided by mySQL.

Use the following information to configure ColdFusion Server for Linux to use the myODBC driver for MySQL data sources. ColdFusion can use the myODBC driver to talk to the mySQL data base. Information on mySQL can be found at mysql.com. Allaire has verified that myODBC version 2.50.26 works with mySQL version 3.22.27 and ColdFusion for Linux. You can download myODBC at www.mysql.com/downloadmyodbc.html.

Running MySQL

Make sure that MySQL has been installed and is running. If you do a ps -eaf | grep mysqld you should see some entries. Here is an example of how you would run it:

/usr/local/bin/safe_mysqld &.

Try running /usr/local/bin/mysqlshow mysql host to view the default database. Try running a query using the /usr/local/bin/mysql program, for example: select * from host\g

On Linux, the current versions of MySQL do not support subselects. ColdFusion uses this SQL syntax to expire client variable storage. As a result, cfexec will report an error when trying to expire client variables. As a work-around, Allaire provides a CFML template in /opt/coldfusion/scripts/mysql_expire.cfm which you can run manually, or use the CF scheduler to schedule this template to run every day. You should save the template in your document root directory.

Adding a MySQL data source

ColdFusion 4.5.1 allows you to use the ColdFusion Administrator to add the MySQL data source. Before the mySQL driver will appear in the ODBC datasources drop-down list, you must build and copy the myODBC driver to /opt/coldfusion/lib/libmyodbc.so. The Merant mySQL driver will always appear in the list.


Configuring PostgreSQL data sources on ColdFusion Server for Linux

ColdFusion 4.5.1 for Linux now includes the unixODBC PostgreSQL ODBC driver. For more information on unixODBC, see www.unixODBC.com.

You must have the 'postmaster' process running on your system in order to use the PostgreSQL database. For more information on PostgreSQL, see http://www.postgresql.org/.

In order to populate your PostgreSQL database with the example application data sources, see the file /opt/coldfusion/database/PostgreSQL/README.


Changing the way Tokens are generated

Current behavior in ColdFusion is as follows:

However, by setting the registry key HKEY_LOCAL_MACHINE\Software\Allaire\ColdFusion\CurrentVersion\Clients\ UuidToken to be the string value "1", ColdFusion assigns CFTOKENS using the same random number concatenated with a UUID, which is guaranteed to be globally unique.

We use the random number to avoid simple guessing of the uuids, since only a small portion of a uuid changes with each assignment, and to make database lookups more efficient.

A typical CFTOKEN using this method looks like this: 57c6419-f0c43bb2-9e8d-11d3-8b87-00c04fa35ba5

If you turn on the UuidToken switch and you are storing client variable information in a database, you will need to increase the column width of the 'cfid' column in the CDATA and CGLOBAL tables. You should change the current width of 20 characters to at least 50 characters, due to the increased length of CFTOKEN.

You may also have to change other applications if they are storing the CFTOKEN value in a fixed length field.


Migrating a ColdFusion Solaris registry to ColdFusion 4.5.1

NOTE: This applies to Solaris only. You only need to use this utility if you want to preserve your registry from a previous version of ColdFusion. If you do not, a simple pkgrm of the previous installation prior to installing 4.5.1 is all that is required.

The CFREGUP utility package consisting of cfregup.sh and this README file is being provided to migrate the ColdFusion registry (formerly maintained by WindU) to the native format used in ColdFusion Application Server 4.5.1.

The cfregup.sh script must be run as root on a machine with a running ColdFusion 3.x or 4.0 installation. You should run this script prior to doing a pkgrm of the cfusion package.

Run the shell script using the following command:

  ./cfregup.sh

This shell script will locate the existing ColdFusion installation and export the WindU registry from it, creating the new ColdFusion 4.5.1 registry. Please note that since the new registry is created in a different place than the old one, this script will not damage, or even write to the existing WindU registry. The script will also preserve your start script and your odbc.ini files so they can be upgraded.

Once the script has completed, you are free to do a package remove of the existing ColdFusion installation.

During the installation, ColdFusion 4.5.1 will access the migrated registry and complete the initialization process so it can be used. It will also restore the saved start script and odbc.ini file, making the necessary changes to them so they are version 4.5.1 compliant.

All intermediate files are saved into a directory called migration, in the ColdFusion installation directory for reference.


Redirecting processing to a Custom Error Page for specific errors

In certain cases, when the communication between the stub (residing in the webserver process space), and the ColdFusion Application Server is disrupted or broken, the following error page is rendered:

"Server busy or unable to fulfill request. The server is unable to 
fulfill your request due to extremely high traffic or an unexpected 
internal error. Please attempt your request again (if you are repeatedly 
unsuccessful you should notify the site administrator)."

In ColdFusion Server 4.5, processing can be redirected to a user-specified location when this error condition occurs in the stub program. Please edit the cfremote.ini file located in your <ColdFusion Installation Directory>, and add a key/value pair specifying the error condition and the redirection location. In this release only the ERROR_PIPE key is supported.

The following is an example where the error processing is redirected to nopipe.htm

ERROR_PIPE = "http://127.0.0.1/ErrorPages/nopipe.htm"

NOTE: ColdFusion Administrator cannot be used to specify these settings. Furthermore every attempt should be made not to change the other settings in this file. Please see Advanced ColdFusion documentation for details about the use of the other settings in this file.


Load Balancing and Failover with ClusterCATS

ClusterCATS consists of two components, the ClusterCATS Server and the ClusterCATS Explorer. ClusterCATS Server provides failover support, load balancing, and other features to help you guarantee the availability of your ColdFusion applications.

For more information about configuring Web server clusters, refer to Administering ColdFusion Server.

Configuring ClusterCATS on Windows NT:

Customizing the Web Server's Response When No Resources are Available in a Cluster

When all web servers in a ClusterCATS cluster are busy and/or restricted, a browser's request to any member of the cluster will receive a HTTP 503 (server too busy) failure response from the server. For example, trying to browse index.html on server KITCAT in the completely busy cluster KitKatCluster will return the following error response:

index.html is not currently available in cluster KitKatCluster.
Please try again later.

To override this default 503 response with one more appropriate for your web site, you must edit the ClusterCATS server entries in the registry for your OS platform.

In the following procedure, you will add a value called "ErrorUrl" to each desired ClusterCATS server registry key. This value will specify the name of a file, relative to the server's document root, containing the text you want browsers to see when all servers in the cluster are unavailable. The procedure differs between Window NT and Solaris/Linux platforms.

For Windows NT:

  1. Edit the registry and open the key:

    HKEY_LOCAL_MACHINE | SYSTEM | CurrentControlSet | Services | BrightTiger | Servers

    Under the Servers key, you should see the names of the current cluster members for this system. These are the individual "server keys" that you will modify in the next step.

  2. For each cluster member that you wish to customize for the 503 error response, create the following REG_SZ value under its server key:

    ErrorUrl  NameOfErrorFile.htm

    Replace "NameOfErrorFile.htm" with the name of the file containing your selected error text, relative to this server's web document root. For example, the sample file above might be physically located in C:/Inetpub/wwwroot/NameOfErrorFile.html.

  3. Close the registry editor.
  4. Test the change by restricting all servers in the cluster -- a one-node cluster simplifies this -- and hitting a server with a browser. You should see your customized error text returned.

For UNIX:

NOTE: Solaris/Linux versions of ClusterCATS user a file called bt.registry to emulate aspects of NT registry features. This is an ordinary text file with stringent formatting requirements. This procedure requires hand-editing of this file. Be careful!

  1. Become the super user (root).
  2. Stop all ClusterCATS activity with the command:
    # /usr/lib/btcats/btadmin stop all
  3. Edit the file /usr/lib/btcats/database/bt.registry with an editor.
  4. Search for the string
    	hkey_local_machine\system\currentcontrolset\services\brighttiger\servers:6

    Under this key, you should see the names of the current cluster members for this system in distinct blocks for text. For example, here's the first part of an entry for a server called ME:

    	hkey_local_machine\system\currentcontrolset\services\brighttiger\servers\me.test.com:214
    	ClusterMate:          	;                     	REG_SZ
    	ClusterName:          	TestCluster;           	REG_SZ
    	InstanceName:         	https-me;	          	REG_SZ
    	.
    	.
    	.
  5. For each server that you wish to customize for the 503 error response, create the following value:
       	ErrorUrl:		NameOfErrorFile.html;		REG_SZ

    Replace "NameOfErrorFile.htm" with the name of the file containing your selected error text, relative to this server's web document root. For example, the sample file above might be physically located in:

       	/usr/netscape/suitespot/https-me/docroot/NameOfErrorFile.html

    Your modified server key should look something like this:

    	hkey_local_machine\system\currentcontrolset\services\brighttiger\servers\me.test.com:214
       	ErrorUrl:				NameOfErrorFile.html;	REG_SZ
    	ClusterMate:          	;                     	REG_SZ
    	ClusterName:          	TestCluster;           	REG_SZ
    	InstanceName:         	https-me;	          	REG_SZ
    	.
    	.
    	.
  6. Save the file and exit your editor.
  7. Restart ClusterCATS operations with the command:
    	# /usr/lib/btcats/btadmin start all
  8. Test the change by restricting all servers in the cluster -- a one-node cluster simplifies this -- and hitting a server with a browser. You should see your customized error text returned.

ClusterCATS and secure Web servers

Secure Web Servers, such as the Netscape Enterprise Server in secure mode, and secure Apache servers, require a keyfile password to be started. The Allaire ClusterCATS installation script will not restart the Netscape Enterprise Server or Apache server during installation, if the Web server is running with security enabled. You may start the Web server after the installation using your preferred method. The ClusterCATS Web server monitor will not be able to restart a Web server with keyfile passwords on startup.

Support for multiple Web servers on a single platform

ClusterCATS does not support being configured to run with different types of Web servers on the same system. For example, if an NT system is configured to run both the Netscape Enterprise Server and IIS, you can choose to configure ClusterCATS with only one of these Web servers.

ClusterCATS Cluster Members must have a unique IP address

ClusterCATS Cluster members must have unique IP address. The name used to cluster a Web server, or virtual server must not be either Round Robin or the name of a software virtual server. It should be the name that maps to the IP address of the Web server that is being clustered.

Virtual Host Headers on IIS and Software Virtual Servers on Apache are not Supported

Virtual Host Headers on IIS and Software Virtual Servers on Apache allow you to run many Web sites on a single computer. In technical terms, this allows you to support multiple host names with a single IP address. ClusterCATS currently requires a different IP addresses for each virtual server.

Minimum version of Cisco Local Director Software required is 3.1.4

Prior to enabling ClusterCATS Load Balancing with Cisco Local Director, the Local Director software version must be at version 3.1.4 or greater.

Configuring ClusterCats IP Failover With Cisco Local Director

When a Cisco Local Director is being used for load balancing and failover do not configure ClusterCats to perform IP Failover (IP Aliasing). If ClusterCats does IP aliasing, the Cisco Local Director will not be able to reconnect to the system after it has become available again and recovered the failed-over IP address.

Configuring Cisco Local Director Update Frequency

Set the Cisco Local Director load balancing update frequency to a value between 5 and 30 seconds. Set a longer time as greater numbers of Web servers become configured in clusters doing Cisco Local Director load balancing so as to not create too much overhead traffic to the Local Director. The dynamic-feedback timeout value should be set to a value larger then the update frequency. We recommend you set the value to at least two times the update frequency.

Configuring ClusterCats DFP Agent Listen Port with Cisco Local Director

If two or more Web servers on the same system are in clusters using Cisco Local Director load balancing, than each cluster must have the same DFP Agent Listen Port number configured. The Clustercats DFP Agent can only listen on one port.

Configuring the Cisco Local Director dynamic-feedback retry value

The dynamic-feedback retry value should be set to zero (0) to insure that the Cisco Local Director will continue connection attempts to the ClusterCats DFP Agent in the event of a lengthy period of system unavailability.

Cisco Local Director dynamic-feedback security not supported

Do not enable the dynamic-feedback-pw. Clustercats does not support secure DFP host.

Improving Responsiveness When Integrating with Cisco Local Director

By default, the frequency at which the ColdFusion load and availability information is sent to Cisco Local Director is every 30 seconds. You may set Update Frequency to a lower value for better response to change in the server load condition. To update the load frequency refer to ColdFusion documentation.

Gradual Redirection Load Management and Session State Management

When session aware load management is enabled (the default), gradual redirection load management does not apply. You can still set a gradual redirection load threshold value, but it will have no effect when session aware load management is enabled.

Session-Aware Load Balancing and the Gradual Redirection Threshold

When using session-aware load balancing for a cluster, it is recommended that Gradual Redirection Threshold be enabled and set explicitly to 0%. This setting allows ClusterCATS to optimize load balancing for browser requests that have not entered a session.

Configuring a ColdFusion Application Probe

The ColdFusion Application Probe dialog box creates a default probe for that Web server to determine if ColdFusion Server is functioning. The default action is set to NORESTART, this will not restart the ColdFusion server if the probe fails, the Web server will however be automatically set to the restricted state. See the online help available from the ColdFusion Application Probe dialog box for more information.

URL for ClusterCATS Explorer Web Addition

If you are using Netscape Enterprise Server V3.x, the URL for accessing the ClusterCATS Explorer Web addition (btweb) is:
http://:/admin-serv/btweb/default.html

If you are using Netscape Enterprise Server V4.0x, the URL for accesing the ClusterCATS Explorer Web addition (btweb) is:
http://server-name>:/https-admserv/btweb/default.html

Configuring ClusterCATS Explorer Web Addition with Apache

If you wish to run the Web Addition of the ClusterCATS Explorer, for availability and security reasons, you should configure it to run from a separate IP-based virtual host server on a port other than 80 and should also password protect access to it.

Make the following additions to httpd.conf to enable btweb, replacing the IP address specified with one appropriate for your system. Also enable user/password authentication for the virtual directory.

Once you have configured the server in this manner, to access btweb, go to the URL http://btweb, where btweb corresponds to the IP address you selected for the VirtualHost.

##
###  BTWeb Administration
###
Listen 192.168.96.71:2222
<VirtualHost 192.168.96.71:2222>
        ServerAdmin root@localhost
        DocumentRoot /usr/lib/btcats/btweb
        DirectoryIndex default.htm
        ServerName btweb
        ErrorLog logs/btweb_error_log
        CustomLog logs/btweb_access_log combined
        ### BTWeb stuff ###
        AddHandler cgi-script .exe
        <Directory "/usr/lib/btcats/btweb/">
                Options FollowSymLinks
                Options ExecCGI
                AllowOverride None
                Order allow,deny
                Allow from all
                AuthName "btcats admin tools"
                AuthType Basic
                AuthUserFile /usr/local/apache/conf/users
                require user admin
        </Directory>
</VirtualHost>

You use the Apache 'htpasswd' utility to create/manage the Authentication list file: (create file and add user 'admin')

htpasswd –c /usr/local/apache/conf/users admin

ColdFusion Application Probe and ColdFusion Running in Distributed Mode

ClusterCATS can not restart ColdFusion Server if the server is running on a remote system. However, it will restrict access to the server and redirect traffic around the problem, if possible.

ColdFusion Application Probe and Application.cfm files

If other than the default URL to query (http://<myserver>/btauxdir/cfprobe.cfm) is used, than you must insure that no Application.cfm files are in the path of the ColdFusion page to be tested.

Configuring ClusterCATS on UNIX platforms:

ClusterCATS requires that the group btcats exist. It will attempt create this group during the ColdFusion installation using groupadd. If you are using NIS or NIS+, make sure that either nsswitch.conf allows for group resolution from the group file, or that the group btcats gets created in NIS/NIS+ prior to installing ClusterCATS.

UNIX support

In order to run the ClusterCATS management command, btadmin, on Red Hat, the ksh shell must be installed.

Adding appmgr to inittab

It may be desirable to add appmgr to your inittab file, to ensure it always running.

Apache Web server

ClusterCATS and Apache Web Servers

Cluster members can appear to be available when the associated Web server is actually down. In such cases the ClusterCATS server will display a load of 100%. Also, if the ColdFusion probe is enabled, the server will also be restricted.

Apache Loadable's Support

ClusterCats and ColdFusion Apache support requires that mod_so.c module be compiled into Apache (httpd or httpsd). You can verify this with the -l option to httpd (or httpsd): For example:

# /usr/local/apache/bin/httpd -l
Compiled-in modules:
  http_core.c
  mod_so.c

Windows NT support

Multiple instances support and Windows NT

Only a single Netscape Enterprise Server instance per system can be configured run with Allaire ClusterCATS on NT.

Known problems

ClusterCATS Virtual Directory btauxdir is not always being created on system running IIS

ClusterCATS requires that the virtual directory btauxdir exist under each virtual server which will be clustered and that it point to /brighttiger/btauxdir. ClusterCATS will attempt to create the directory when a cluster member is added. If there is no IP address bound to the site, ClusterCATS will be unable to add the virtual directory to the Web. Use the MMC to add the specific IP address to the Web site, then stop and restart the ClusterCATS Service. The btauxdir virtual directory should get created automatically.


Configuring the Apache Web Server

For information on Linux and Solaris, see Configuring Apache on Linux and Configuring Apache on Solaris.

All Apache Web servers that are binary compatible with Apache 1.3.6 and binary compatible versions (up to and including 1.3.12) are supported with the current module on all platforms. The current ColdFusion Apache 1.3.6 module will work without change with all Apache Web servers that are binary compatible with Apache 1.3.6

Configuring Apache on Windows NT

The ColdFusion Module can be found in the installation directory (usually c:\cfusion\bin).

We assume below that your Apache installation is found in c:\Apache.

  1. Copy the module (ApacheModuleColdFusion.dll) to your modules directory under the Apache source directory.
    ex. c:\Apache\modules\ApacheModuleColdFusion.dll
  2. Edit the "httpd.conf" configuration file to contain the following line, this can be found in c:\Apache\conf:
    LoadModule coldfusion_module modules/ApacheModuleColdFusion.dll

Configuring Apache on Linux

For detailed instructions on installing and configuring Apache Web Server on Linux, refer to the /opt/coldfusion/webserver/apache/README file installed with ColdFusion.

The ColdFusion Server installation process can optionally autoconfigure the Apache Web server for you.

Other issues:

Configuring Apache on Solaris

For detailed instructions on installing and configuring Apache Web Server on Solaris, refer to the /opt/coldfusion/webserver/apache/README file installed with ColdFusion.

The ColdFusion Server installation process can optionally autoconfigure the Apache Web server for you.

Other issues:


Running Allaire Forums under ColdFusion 4.5.1

If you are running Allaire Forums with ColdFusion Server 4.5.1 you should be running with Allaire Forums 2.0.5. You should download Allaire Forums 2.0.5 from our product page if you are running an earlier version.

Allaire Forums is not supported on Linux.


Back to top