Disabling/enabling ColdFusion RDS on production servers

Issue

This article describes how to disable and enable the Remote Development Service (RDS) in ColdFusion Server versions 4.5 and higher.

ColdFusion RDS allows developers to securely access remote files and data sources, and debug CFML code. Developers can use RDS through ColdFusion Studio, Homesite+, and Dreamweaver MX to access files and databases on a remote ColdFusion development server using HTTP.

RDS was designed to give ColdFusion users a mechanism for remote development via HTTP, thereby eliminating the need for more cumbersome file access mechanisms, and making development across different platforms and networks significantly easier. However, for security reasons, Adobe recommends that server administrators disable the RDS service on servers that are not being explicitly used for development and servers that do not require remote file and database access. Note: Administrators should be aware that disabling the RDS service will also disable several Java applets in the ColdFusion Administrator that are used to browse the contents of the server (like when configuring a file-based data source). If this functionality in the ColdFusion Administrator is required, the RDS service can be temporarily enabled and disabled again once the server configuration has been modified.

Solution

To disable ColdFusion Remote Development Services on ColdFusion MX and higher:

In earlier versions of ColdFusion, RDS ran as a separate service or process. In ColdFusion MX, RDS is seamlessly integrated into the main service or process. To disable it, you must disable the RDSServlet mapping, as described in the following procedure.

To disable the RDSServlet mapping:

  1. Back up the web.xml file.

    This file is in the cf_root\wwwroot\WEB-INF directory on Windows

    and in the cf_root/wwwroot/WEB-INF directory on UNIX. In the J2EE configuration, this file is undercf_root/WEB-INF.
  2. Open the original web.xml file for editing.
  3. Comment out the RDSServlet mapping, as shown in the following example:

    <!--<servlet-mapping><servlet-name>RDSServlet</servlet-name><url-pattern>/CFIDE/main/ide.cfm</url-pattern></servlet-mapping> -->
    <!--<servlet-mapping><servlet-name>RDSServlet</servlet-name><url-pattern>/CFIDE/main/ide.cfm</url-pattern></servlet-mapping> -->
    <!--<servlet-mapping><servlet-name>RDSServlet</servlet-name><url-pattern>/CFIDE/main/ide.cfm</url-pattern></servlet-mapping> -->
  4. Save the file.
  5. Restart ColdFusion MX.




To enable ColdFusion Remote Development Services on ColdFusion MX and higher:

To enable the RDSServlet mapping:

  1. Back up the web.xml file.

    This file is in the cf_root\wwwroot\WEB-INF directory on Windows

    and in the cf_root/wwwroot/WEB-INF directory on UNIX. In the J2EE configuration, this file is undercf_root/WEB-INF.
  2. Open the original web.xml file for editing.
  3. Uncomment the RDSServlet mapping, as shown in the following example:

    <servlet-mapping><servlet-name>RDSServlet</servlet-name><url-pattern>/CFIDE/main/ide.cfm</url-pattern></servlet-mapping>
    <servlet-mapping><servlet-name>RDSServlet</servlet-name><url-pattern>/CFIDE/main/ide.cfm</url-pattern></servlet-mapping>
    <servlet-mapping><servlet-name>RDSServlet</servlet-name><url-pattern>/CFIDE/main/ide.cfm</url-pattern></servlet-mapping>
  4. Make sure the RDSServlet definition is also uncommented as follows:
    <servlet id="macromedia_servlet_8789"><servlet-name>RDSServlet</servlet-name><display-name>RDS Servlet</display-name><servlet-class>coldfusion.bootstrap.BootstrapServlet</servlet-class><init-param id="InitParam_103401311065856789"><param-name>servlet.class</param-name><param-value>coldfusion.rds.RdsFrontEndServlet</param-value></init-param></servlet>
    <servlet id="macromedia_servlet_8789"><servlet-name>RDSServlet</servlet-name><display-name>RDS Servlet</display-name><servlet-class>coldfusion.bootstrap.BootstrapServlet</servlet-class><init-param id="InitParam_103401311065856789"><param-name>servlet.class</param-name><param-value>coldfusion.rds.RdsFrontEndServlet</param-value></init-param></servlet>
    <servlet id="macromedia_servlet_8789"><servlet-name>RDSServlet</servlet-name><display-name>RDS Servlet</display-name><servlet-class>coldfusion.bootstrap.BootstrapServlet</servlet-class><init-param id="InitParam_103401311065856789"><param-name>servlet.class</param-name><param-value>coldfusion.rds.RdsFrontEndServlet</param-value></init-param></servlet>
  5. Save the file.
  6. Restart ColdFusion MX.




To disable ColdFusion Remote Development Services on ColdFusion 4.5 and 5:

On Windows NT/2000/XP/2003:

  1. Go to Control Panel Services and stop the ColdFusion RDS Service.



    (Optional). To prevent the RDS service from restarting after a system reboot, go to Control Panel Services, locate the ColdFusion RDS service, and set the Startup Type to "Manual."
  2. Go to the Start menu. Select Run. Type "regedit" and OK.
  3. Locate the registry "ServiceRunning" key entry:

    HKLM\Software\Allaire\ColdFusion\CurrentVersion\IDE\ServiceRunning =1
  4. Change the entry to zero:

    HKLM\Software\Allaire\ColdFusion\CurrentVersion\IDE\ServiceRunning =0


On UNIX (HP-UX, Solaris and Linux):

  1. In the cf_root/bin directory, edit the "start" script and change the line:

    su $CFUSER -c "env -i $ENV_LIST $CFHOME/bin/cfexec"
    su $CFUSER -c "env -i $ENV_LIST $CFHOME/bin/cfexec"
    su $CFUSER -c "env -i $ENV_LIST $CFHOME/bin/cfexec"
    to

    su $CFUSER -c "env -i $ENV_LIST $CFHOME/bin/cfexec -s"
    su $CFUSER -c "env -i $ENV_LIST $CFHOME/bin/cfexec -s"
    su $CFUSER -c "env -i $ENV_LIST $CFHOME/bin/cfexec -s"
    This prevents ColdFusion Executive from automatically starting the ColdFusion RDS service when ColdFusion is started.
  2. Save the file and stop and restart the ColdFusion services using the following commands:

    ./stop
    ./stop
    ./stop
    and then
    ./start
    ./start
    ./start




To enable ColdFusion Remote Development Services on ColdFusion 4.5 and 5:

On Windows NT/2000/XP/2003

  1. Go to Control Panel Services and Start the ColdFusion RDS Service.
  2. Go to Start. Select Run. Type "regedit" and click OK.
  3. Locate the registry "ServiceRunning" key entry:

    HKLM\Software\Allaire\ColdFusion\CurrentVersion\IDE\ServiceRunning =0
  4. Change the entry to one:

    HKLM\Software\Allaire\ColdFusion\CurrentVersion\IDE\ServiceRunning =1


On UNIX (HP-UX, Solaris and Linux):

  1. In the cf_root/bin directory, edit the "start" script and change the line:

    su $CFUSER -c "env -i $ENV_LIST $CFHOME/bin/cfexec -s"
    su $CFUSER -c "env -i $ENV_LIST $CFHOME/bin/cfexec -s"
    su $CFUSER -c "env -i $ENV_LIST $CFHOME/bin/cfexec -s"
    to
    su $CFUSER -c "env -i $ENV_LIST $CFHOME/bin/cfexec"
    su $CFUSER -c "env -i $ENV_LIST $CFHOME/bin/cfexec"
    su $CFUSER -c "env -i $ENV_LIST $CFHOME/bin/cfexec"
  2. Save the file and stop and re-start the ColdFusion services using the following command:

    ./stop
    ./stop
    ./stop
    and then
    ./start
    ./start
    ./start

Additional Information

Get help faster and easier

New user?