So over the last few weeks I have been working on transitioning the Wiicafe.com server to a new home on a new, cheaper, more powerful dedicated server than the aging, ailing 2k3 box it had been on. We’re now in the final stage of the move to a new 2k8 box and it has been an adventure in learning the new abilities and quirks of IIS7.
Overall, I have actually found the entire migration progress to be very easy. After zipping up all the data for the server I was able to simply unzip it on the new server and setup IIS sites for each. The Web Platform Installer was great in terms of simplifying installation of most services and IIS7 had a much more streamlined flow for building out the sites and sub domains.
The only really challenging part was getting Perl working for a few legacy Perl bits on the Wiicafe site. The key turned out to be the fact that ActiveState’s 64 bit builds do not include the ISAPI filter version of Perl and the CGI based ones are not very good and are prone to crashing on code that works under any other situation. After figuring this out from lots of research and gathering scattered bits of information from around the net (and wasting more than a few hours) it turned out to be as simple as downloading the 32 bit version, installing it on the system, creating an app pool for the portion of the site requiring Perl support, altering the app pool’s advanced settings to set the “Enable 32 bit Applications” flag and then setting up the mapping for the scripting engine as normal.
There was also an issue I ran in to after everything was set up. I’m not sure what caused it exactly but for some reason the PHP Manager ( a really nice plugin for IIS7 that manages PHP settings for multiple versions of PHP running on the same server) decided to start erroring out and one of my php.ini files mysteriously disappeared. I pulled the php.ini from shadow copy, but was still getting a “IIS7 File monitoring is enabled for a file which could not be found” error being returned by PHP’s FastCGI handler. After searching the web and finding nothing useful, I tried simply using the Web Platform Installer to install a newer version of PHP and that fixed the issue on both the non-working PHP version as well as the new version.
The last bit of fun was simply trying to back up the old server. I’m by nature a pack rat and can’t stand getting rid of a system for fear of missing something or misplacing some data. (I have numerous terabytes of external hard drives to prove this.) To avoid any possible loss of data, I set out to make my largest VMWare image ever. I loaded up VMWare Converter (a wonderful free utility from VMWare for converting a physical computer in to a virtual one) on the old server but had a problem that I didn’t have enough space on the old server to make an image. (The old server only had 120GB of HD space and over 110GB of that was in use.) To get around that particular problem I ended up setting up a remote desktop from the new server (with it’s shiny almost empty 250GB drive) to the old server and setup a drive mapping over the tsclient share that I could direct VMWare Converter to save it’s image to. About 4 and a half hours later I had a beautiful 103 GB virtual machine of the old server (broken in to 2GB chunks thankfully) and started the 17 hour process of downloading it all to my home workstation. (I don’t think my cable company will like me much this month.) After the download finished, everything booted great in VMWare Player (also free). Though I did double the RAM available to the server to make it run a little smoother.
So yeah, overall a bit of an exciting time in new server land and time to bid a fond farewell to the old wiicafe.com server that has served wiicafe and myself so well for the last 6 or so years.
I was getting the “IIS7 File monitoring is enabled for a file which could not be found” error also. I fixed it by giving the localmachine\users group read and execute rights on the php folder. Most probably the Web Platform Installer does this automatically