I recently installed FogBugz 6 on 64-bit Windows Small Business Server 2008, and boy was it interesting. I’ll first note that I’ve had excellent installations and upgrades of FogBugz in the past, so this really caught me off guard and took a while to figure out what was going wrong.
Second, after finding out what the problems were, it’s clear that this applies to far more than just FogBugz. It all boils down to 32-bit web apps running on the 64 bit platform, and the fact that it’s Small Business Server which has TONS of software preconfigured and running on it.
The first problem I ran into was the app-pool crashing with an error in the event log saying:
The Module DLL C:\Windows\system32\RpcProxy\RpcProxy.dll failed to load.
Some googling around resulted in learning that RPC over HTTP (a feature used by Outlook Anywhere in Exchange, which is a big part of SBS) is known to break 32-bit worker processes. One quick solution is to just uninstall the RPC over HTTP Windows feature, and that’s what I did just for speed.
The other fix is to edit applicationhost.config and add preCondition=”bitness64″ for the rpcproxy.dll modules and globalModules entries. I’ll probably go back and make this change since I’m going to want to use RPC over HTTP.
Anway, I kept getting HTP 500 (500.19 this time) errors when loading the app. Further investigation revealed that Windows Server Update Services (WSUS), also packaged in Small Business Server, installs a compression module in IIS 7 that, you guessed it, breaks 32 bit app pools. From the IIS forums, to disable the compression scheme:
%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/httpCompression /-[name=’xpress’]
And, to re-enable if you need:
%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/httpCompression /+[name=’xpress’,doStaticCompression=’false’,dll=’%windir%\system32\inetsrv\suscomp.dll’]
And there you have it, after doing those things you can run 32 bit app pools. As a side-note, I recall that disabling FogBugz’s custom error page was a tremendous help in seeing what was really going on.
I have very mixed feelings about Small Business Server. On one hand, there’s so much software configured and running and they all are configured just so to allow them to work. What’s worse, you really can’t/shouldn’t fight the topology and layout of things that are in place. If you do, things break and break in very bad ways. And since there’s so much software installed already, it’s hard to know the side effects of everything. But on the other hand, it’s thousands and thousands of dollars of software for a fraction of the price.
Aaand finally, if you’re buying a Small Business Server, be sure to get more than 4GB of RAM. You’ll need it.