This is a guide on my attempt to migration IIS6 using Coldfusion to a new server using Windows 2003. OK. This post is pretty much for my own reference but if there is any information or any gotchas here that may help you then feel free to thank me later.
Copying IIS and Coldfusion
- Install a secure FTP server. I used WinSSHD as I’m familiar with it. If the old server has WinSSHD then you can export the settings and import them directly into the new copy. Sadly we lost the original mails containing the license keys so it’s time to purchase some new WinSSHD licenses. If you need to set up users then please refer to the site
- Create a new user called SFTPUser in Windows. Give this user a password and don’t let his password expire. Then use this user in WinSSHD. Set the SFTPUser’s password into the password cache from the main WinSSHD menu otherwise you’ll be able to connect to WinSSHd but you’ll be notified of requiring further authentication
- Copy your entire wwwroot (or whatever you use to store the physical site files used by IIS6) to the new server. I find it VERY useful to keep the paths the same. This will prevent the need to reconfigure each site in IIS later
- Install IIS 6 on the new server.
- Install Coldfusion. Again, try to keep the directory structure the same as the old server. This will prevent the need to reconfigure Coldfusion and its extensions from scratch. It was important to install IIS first, as during the Coldfusion installation you’ll be asked to link it to your installed web server.
- Stop all the web and CF services. Install coldfusion on the new server. You will sadly need to configure it manually so ensure you install all extensions and configure the data sources. Shared paths should also be set up correctly. I tried copying the CFUSIONx directory form my old server to the new one and on the face of it it worked but as soon as the old server was turned off, the new server would stop serving pages.
- Copy the IIS 6 server settings from the old server to the new server. I did it using the following command from the ‘Start…Run….cmd’ command line.iiscnfg /copy /ts TargetComputer /tu TargetUser /tp TargetPassword
e.g. iiscnfg /copy /ts 22.214.171.124 /tu 126.96.36.199\admin /tp Passw4rd
- Install any additional IIS extensions. I had URLScan installed and a later than default version .NET Framework. This needed to be configured within IIS.<
Test the sites
For each site you wish to test, use the following procedure
- In IIS, right click the site you wish to test and enter the properties. Change the ‘IP Address’ on the ‘Web Site’ tab to the current server’s IP.
- Modify your local ‘c:\windows\system32\drivers\etc\hosts’ file to include the URL to test and the new IP address. This will cause your computer to bypass the current live server and exclusively use the newly set up server.
- Test as much as you can on the site. Pay particular attention to forms, mailers, SSL certifications, payment gateways and database transactions.
- Once you are content, remove the entry from your local ‘hosts’ file and reset the IP in IIS for that web site back to its original setting.
Once you have completed the testing, you can simply swap the servers IP addresses and your new server should be live!