Installing multiple versions of CFMX on JRun
I like to setup my development machine with different versions ColdFusion, but all with the same web root. I setup a server for each instance, so I can use the same url on different ports (eg CFMX 6 on port 8600, CFMX 7 on port 8700, etc). Every time I want to setup a new version I always forget what I need to do, so I'm blogging it this time. There may be better ways to do this, but this is how I do it:
- Step one Install JRun 4, and the latest service packs
- Login to the JRun Management Console, and create a new server, set the port number you want to use for this instance.
- Delete the default-ear directory in your new server directory (eg c:\jrun\servers\cfmx\default-ear)
- Start your new server
- Delete the flash Remoting Ear (this will conflict with CFMX's flash remoting, if you want to use JRun flash remoting as well, you should do it on another server instance, or rename the context root to something other than /flashservices
- Stop your server
- Run the ColdFusion MX installer and create a new Ear file with context path / and save it into the new server directory (eg c:\jrun\servers\cfmx\cfusion.ear)
- Start your server (this may take a while)
- Click on your server, then on your Macromedia ColdFusion MX Application, then on the Macromedia Coldfusion MX Web application. Select the check boxes (if you want directory browsing, etc)
- Enter / for the context path
- Enter your shared web root under Document Root (eg c:\inetpub\wwwroot\)
- Click Apply
- Now browse to your web root, you will notice that you can click on cfm files in the web root, and they will load, but if you click on anything else, you get a 404, so we need to fix this. You will also notice a size of zero on all the files.
- Go to your jrun server directory, go in to the
SERVER-INF/tempdirectory, look for a directory called something like
cfusion.war1563749329(the numbers on the end will be different for you), copy the CFIDE, and WEB-INF directories to your jrun server root.
- Edit the file: cfusion.web.jrun.xml in your JRun server root
- Look for a virtual mapping
<resource-path>/</resource-path>and change it to
- You also need to add mappings for /CFIDE and /WEB-INF:
<virtual-mapping> <resource-path>/CFIDE/*</resource-path> <system-path>c:\jrun\servers\cfmx\CFIDE</system-path> </virtual-mapping> <virtual-mapping> <resource-path>/WEB-INF/*</resource-path> <system-path>c:\jrun\servers\cfmx\WEB-INF</system-path> </virtual-mapping> <virtual-mapping> <resource-path>/*</resource-path> <system-path>c:\inetpub\wwwroot</system-path> </virtual-mapping>
- Now restart your JRun server, and things should be working.
You might also like:
- J2EE Session Cookies on ColdFusion / JRun - February 8, 2010
- SessionRotate solution for JEE Sessions - March 28, 2014
- HashDOS and ColdFusion - December 30, 2011