By Rod Nolan - Consultant and Senior Instructor
Recently I was tasked with installing and configuring ColdFusion 9 in the multi-server configuration. I wanted to segregate some applications that were suffering from poor performance and occasional out of memory crashes so the idea was to to create a handful of ColdFusion instances so that the "bad" apps could crash and burn all by themselves.
So here are the basics of the server environment:
- Windows Server 2008 (virtual)
- IIS 7
- ColdFusion 9.01 Enterprise
- IIS and CF installed on the same VM
- webroot folder is on a file server accessible via UNC path
I won't get into the low level details of how to do this configuration but at a high level the requirements are as follows:
- create a domain account under which the ColdFusion service will run
- create web sites in IIS and configure the doc root to point to the UNC share
- configure the UNC share to log in using the ColdFusion service account credentials
- create ColdFusion instances and bind them to the IIS web sites
After running through these steps, IIS was able to serve static pages without issue. But any request for a ColdFusion page resulted in a file not found error (coldfusion.runtime.TemplateNotFoundException: File not found: /index.cfm). The files I was requesting were certainly, absolutely, without a doubt, positively present in the folder where they should have been! I should also note that the very same UNC share was configured as the doc root for a ColdFusion 8 server on Windows Server 2003 with IIS 6. So what could be wrong here?
To eliminate any possible permissions issues, I granted the service account Full Control rights to the appropriate folders within the UNC share. But, in the end, this wasn't enough. To finally resolve this error, I had to grant the ColdFusion service account remote logon rights for the Windows Server 2008 VM (something you normally wouldn't do), log on as that user, navigate to the UNC share and then delete and recreate my doc root folders. The CF service account needed to be the owner of the doc root folder in this situation. Full Control wasn't enough!
I'm not an experienced Windows Server administrator by any means. If you are, maybe this would be obvious to you. But I thought that Full Control is as good as it gets. I learned later (from a full time Windows Server admin) that I may have been able to avoid the delete folders/recreate folders routine by transferring ownership of the folders from the original creator to the ColdFusion service account. I thought it'd be best to NOT mess with a working configuration so I never tested this theory.
I was lucky to have access to Adobe Platinum Support on this one and thanks are due to the two support engineers who worked with me over the course of a couple of days to finally get to the bottom of the issue.