Hello there,
It took me about 2 days to figure this one out, so I reckon I best share it with the forum. If I'm off on one of the details please let me know, but here is my idea of what it takes to let the latest supported version of ColdFusion (9.0.2) and the latest Plesk (11.0.9) make nice.
If you run Plesk and ColdFusion on a 64bit Windows you will run into an issue. Even if you managed to set up everything properly without documentation (Parallels stopped documenting ColdFusion as of Plesk 9.5.5), you will run into a nasty surprise. As soon as you enable ColdFusion on a web space, your sites will do nothing but throw IIS error 500 (with error code 0x800700c1). Your pages won't load, regardless if they contain cfml or just html. ColdFusion sites that you run outside of Plesk on the same server will still work properly.
Here is my take on the problem after quite a bit of prodding and poking:
By default, Plesk places new sites in the application pool plesk(default)(2.0)(pool). This pool by default runs in 32 bit mode (note that 'Enable 32-Bit Applications' under the Advanced settings of the application pool is a misleading IIS euphemism for 'Throw an error as soon as anyone throws anything 64 bit my way' - it basically switches the application pool from 100% 32 bit to 100% 64 bit). If you installed the 64 bit version of ColdFusion (which you probably did), then it will collide with the 32 bit application pool.
What you can do to solve this, is go to the Advanced properties of the application pool, and set Enable 32-Bit Applications to 'false'.
But now you are likely to have another issue. There is an ISAPI handler called 'urlprotect', which will do the exact opposite as the ColdFusion jrun wildcard handler: it throws an error as soon as an application pool is NOT in 32 bit. This handler is used by Plesk to enable password protected directories. Giving up on protected directories may seem a small sacrifice in order to be able to actually run ColdFusion, but Plesk seems to load the module with every site. You can remove it manually every time, but then you need to go into IIS and doing things manually in IIS while running Plesk tends to break things in more ways than you can imagine. Plus: who is to say Plesk doesn't automatically place the handler back at one time or another, thus killing your sites when you least expect it?
So here is my final trick: make sure that in the hosting settings of your site, you uncheck "Web statistics (accessible via password-protected directory '/plesk-stat/webstat/'". This prevents the urlprotect handler from being added and from killing your ColdFusion sites. Also, there seems to be a bug in Plesk 11.0.9: when disabling the 'web stats via protected directory' in your subscription plan, this will be ignored when synchronizing. Any synchronized plan will insist on adding the 'web stats via protected directory', regardless of the actual setting in the plan. This effectively means that when running ColdFusion, you cannot synch your plans until this bug is fixed.
Oh and finally, dear people of Parallels: since you charge us extra in order to use ColdFusion with Plesk, you might want to occasionally update the support for ColdFusion and test, solve and document some of these issues. It would be a nice gesture as it would save us ColdFusion people a couple of hours or days when trying to make Plesk and ColdFusion play nicely together
Meanwhile, I hope the above will help someone out.
Regs,
Andor Admiraal
It took me about 2 days to figure this one out, so I reckon I best share it with the forum. If I'm off on one of the details please let me know, but here is my idea of what it takes to let the latest supported version of ColdFusion (9.0.2) and the latest Plesk (11.0.9) make nice.
If you run Plesk and ColdFusion on a 64bit Windows you will run into an issue. Even if you managed to set up everything properly without documentation (Parallels stopped documenting ColdFusion as of Plesk 9.5.5), you will run into a nasty surprise. As soon as you enable ColdFusion on a web space, your sites will do nothing but throw IIS error 500 (with error code 0x800700c1). Your pages won't load, regardless if they contain cfml or just html. ColdFusion sites that you run outside of Plesk on the same server will still work properly.
Here is my take on the problem after quite a bit of prodding and poking:
By default, Plesk places new sites in the application pool plesk(default)(2.0)(pool). This pool by default runs in 32 bit mode (note that 'Enable 32-Bit Applications' under the Advanced settings of the application pool is a misleading IIS euphemism for 'Throw an error as soon as anyone throws anything 64 bit my way' - it basically switches the application pool from 100% 32 bit to 100% 64 bit). If you installed the 64 bit version of ColdFusion (which you probably did), then it will collide with the 32 bit application pool.
What you can do to solve this, is go to the Advanced properties of the application pool, and set Enable 32-Bit Applications to 'false'.
But now you are likely to have another issue. There is an ISAPI handler called 'urlprotect', which will do the exact opposite as the ColdFusion jrun wildcard handler: it throws an error as soon as an application pool is NOT in 32 bit. This handler is used by Plesk to enable password protected directories. Giving up on protected directories may seem a small sacrifice in order to be able to actually run ColdFusion, but Plesk seems to load the module with every site. You can remove it manually every time, but then you need to go into IIS and doing things manually in IIS while running Plesk tends to break things in more ways than you can imagine. Plus: who is to say Plesk doesn't automatically place the handler back at one time or another, thus killing your sites when you least expect it?
So here is my final trick: make sure that in the hosting settings of your site, you uncheck "Web statistics (accessible via password-protected directory '/plesk-stat/webstat/'". This prevents the urlprotect handler from being added and from killing your ColdFusion sites. Also, there seems to be a bug in Plesk 11.0.9: when disabling the 'web stats via protected directory' in your subscription plan, this will be ignored when synchronizing. Any synchronized plan will insist on adding the 'web stats via protected directory', regardless of the actual setting in the plan. This effectively means that when running ColdFusion, you cannot synch your plans until this bug is fixed.
Oh and finally, dear people of Parallels: since you charge us extra in order to use ColdFusion with Plesk, you might want to occasionally update the support for ColdFusion and test, solve and document some of these issues. It would be a nice gesture as it would save us ColdFusion people a couple of hours or days when trying to make Plesk and ColdFusion play nicely together
Meanwhile, I hope the above will help someone out.
Regs,
Andor Admiraal
Last edited: