I've written in the past about migrating ColdFusion instances from one machine to another. Most of the time when I have to do this it is because of a hardware failure and I'm setting up a machine from scratch. This seems to happen every 4-6 years. Despite it's impending immediate death, 20 years running, I still do a quite bit of ColdFusion development. It's the devil that I know on the server side.
Without a working machine, I can't sign into the CF Administrator and export CF Admin settings, so I have to go to other methods to get my config up and running. I've written about similar experiences with ColdFusion 8 and migrating from ColdFusion 8 to 9. But, time moves on and most of my production clients use CF10, so that is the version I have installed on my local.
How do I get the old CF configuration set up the new machine when all I have access to is the old CF installation directory? this is how I did it.
- Install Apache: ColdFusion is useless without a web server, so first I installed and configured the Apache web server.
- Install ColdFusion 10: Get ColdFusion 10 from the cfmlRepo site. More specifically, go here. be sure to download app the patches. And send thanks to whomever takes care of that site.
- Install CF Hotfixes: Next, install all the ColdFusion hotfixes. You'll have to install the first few manually before you can use the update feature inside the ColdFusion administrator. Uses these instructions, but basically do this:
C:\ColdFusion10\jre\bin\java -jar hotfix_008.jar
I installed hotfixes 7-13. The rest I updated through the ColdFusion administrator.
- Compare Directories: Now compare your old ColdFusion install directory to the new ColdFusion install directory. You'll be surprised at how many of the files will be flagged as identical. Those aren't the ones you need to worry about. I focused on the config files in cfusion\lib\*.xml, and copied them over from the old directory to the new one. These are the configurations I moved:
- new-cron.xml: Not sure what this one is for.
- neo-datasource.xml: this file contains DSN configuration information.
- neo-debug.xml: This contains CF Debugging settings.
- neo-logging: This contains log related settings.
- neo-mail.xml: This contains mail server settings.
- neo-metric.xml: I couldn't figure out which settings this one contains, but I copied it anyway.
- neo-runtime.xml: This file contains misc settings.
- Restart ColdFusion: After the restart, you should find all your CF settings restored.
- Change DNS Passwords: I did notice that I had to reenter the passwords for all my data sources.
Overall, the process worked a lot better than I would have hoped.