<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Office Monkey &#187; GoDaddy</title>
	<atom:link href="http://www.office-monkey.com/tag/godaddy/feed/?http://www.office-monkey.com:80/office-monkey/tag/godaddy/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.office-monkey.com</link>
	<description>Everybody needs some monkey sometime...</description>
	<lastBuildDate>Sat, 30 Jul 2011 05:14:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Was I too mean? (long, rambly, and techy)</title>
		<link>http://www.office-monkey.com/2008/11/05/was-i-too-mean-long-rambly-and-techy/</link>
		<comments>http://www.office-monkey.com/2008/11/05/was-i-too-mean-long-rambly-and-techy/#comments</comments>
		<pubDate>Thu, 06 Nov 2008 00:49:34 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Creating]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Website]]></category>
		<category><![CDATA[GoDaddy]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://www.office-monkey.com/?p=530</guid>
		<description><![CDATA[I recently transitioned my blog from a LAMP stack at 1and1.com (who I was happy with) to a Windows/IIS7 stack at GoDaddy.com (which was cheaper, and more importantly, Windows-based). At both locations I had multiple domains registered with the same account. I wasn&#8217;t thrilled with 1and1&#8242;s side of the transition (they just didn&#8217;t respond to [...]]]></description>
			<content:encoded><![CDATA[<p>I recently transitioned my blog from a LAMP stack at 1and1.com (who I was happy with) to a Windows/IIS7 stack at GoDaddy.com (which was cheaper, and more importantly, Windows-based). At both locations I had multiple domains registered with the same account.<br />
<span id="more-530"></span><br />
I wasn&#8217;t thrilled with 1and1&#8242;s side of the transition (they just didn&#8217;t respond to the requests, and waited to the automatic approval after five days to go through), but GoDaddy&#8217;s system was fairly good. Their control system is a little too separate (Domains are managed in one UI, Email has to be accessed through a completely different UI, and Hosting is managed in a third), but after initial setup, I shouldn&#8217;t be changing the former two sets of data very often.</p>
<p>However, I started getting into trouble when I tried to setup WordPress for both Mandrina and my blog (ed: blogs? Abigail!). The GoDaddy &#8220;Hosting Connection&#8221; application will allow you to install a set of applications automatically &#8212; setup a database and everything. Unfortunately, it will only install for the primary domain for the account &#8212; which I set to be something nonexistent. So I needed to customize to go through and reset all paths and domain references by hand, because my blog is not, in fact located at &#8220;http://www.some-random-name-23123-that-no-one-likes-123123.com/office-monkey&#8221;. I had a bit of problems originally, but I eventually got it straightened out &#8212; the biggest trick was in just importing my old MySQL databases, and making only the necessary modifications (directory on disk). That part was easy, and all posts and comments came along for free!</p>
<p>I still have to work out enabling Plugins, but that is likewise minor. There was nothing (aside from Akismet Anti-Spam) that I HAD to have).</p>
<p>The one thing I really wanted to get working, though, was Permalinks. The pretty post names you see as the link behind the title for a particular post.</p>
<p>http://www.office-monkey.com/2008/11/02/to-pick-a-title/</p>
<p>instead of</p>
<p>http://www.office-monkey.com/?p=23</p>
<p>(Different posts, I was lazy.)</p>
<p>IIS doesn&#8217;t have RewriteRules built in as Apache does, so where WordPress defaults to writing a .htaccess file on the LAMP stack, it just doesn&#8217;t work on PHP/FastCGI on IIS7. However, I came across a mechanism whereby it could work, making use of a custom 404 error handler.</p>
<p>This is where it got tricky for a minute &#8212; the sample I was able to find worked for a single domain. However, I needed a single shared 404-processing.php file to handle requests for multiple subdomains. However, I got creative, and figured it out &#8212; which made</p>
<p>http://www.office-monkey.com/2008/11/02/to-pick-a-title/</p>
<p>possible instead of the uglier</p>
<p>http://www.office-monkey.com/index.php/2008/11/02/to-pick-a-title/</p>
<p>Interesting thing, happened, though. I went through, and got all the post links working, category links, everything. No problem whatsoever. However, the homepage (http://www.office-monkey.com aka http://www.office-monkey.com/index.php) would not work. It would display a themed page, with no meaningful content. After an embarassing amount of time spelunking in the WordPress PHP source code, I discovered that the &#8220;Page.php&#8221; file was being processed, rather than the more appropriately named &#8220;index.php&#8221; file.</p>
<p>It worked when the permalink format was:<br />
/index.php/%yy%/%mm%/%dd%/title<br />
but not when:<br />
/%yy%/%mm%/%dd%/title</p>
<p>My initial guess was that my 404-redirect hack was causing problems, but I was able to quickly establish that it wasn&#8217;t being called at all. The one interesting thing I found was that regardless of the permalink format, both scripts were trying to load &#8220;/office-monkey/index.php&#8221;, where /office-monkey is the subdirectory holding this site&#8217;s main content.</p>
<p>I poked around for a long time, then came across a Microsoft KB article &#8212; http://support.microsoft.com/kb/954946, alluding to an undescribed problem in how IIS7&#8242;s FastCGI implementation could possibly misset $_SERVER['REQUEST_URI'], leading to problems with, gasp, WordPress! I emailed GoDaddy for assistance, asking if the hotfix for the issue had been installed. They asked a few boilerplate questions, then escalated it.</p>
<p>I came up with a minimal repro:<br />
<code>< ?php<br />
echo $_SERVER['REQUEST_URI'];<br />
?></code></p>
<p>I had a friend (hi, Jonathan!) run it on a similar configuration on a LAMP stack.<br />
His results?<br />
/request.php<br />
My result?<br />
/office-monkey/request.php</p>
<p>It turned out that the first type of permalinks (including /index.php/ worked only because WordPress handled them differently. They shouldn&#8217;t have. The pretty permalinks, on the other hand, tried to match &#8220;/office-monkey/index.php&#8221; where they were coded to match &#8220;/index.php&#8221; &#8212; since that first default match didn&#8217;t apply, a later match for a random page (which didn&#8217;t exist) was triggered, and page &#8220;/office-monkey/index.php&#8221; was loaded.</p>
<p>IIt all came down to $_SERVER['REQUEST_URI']. I added that information to my support request. I tracked down an individual on the IIS team who blogged about the KB article, and he helped me verify that the issue I was seeing with REQUEST_URI was the one fixed by the FastCGI fix (http://ruslany.net/2008/08/update-for-iis-70-fastcgi-module/). My short term fix was to dump the matching Permalink rule (I don&#8217;t use WordPress pages anyway).</p>
<p>Meanwhile, I got a response from GoDaddy, which I&#8217;ll summarize:<br />
1) We can&#8217;t tell you what patches we have installed or when we install them, but we install patches on a regular schedule, and criticl patches as needed.<br />
2) You&#8217;ll have to rewrite every script you&#8217;re using to edit $_SERVER['REQUEST_URI'] to exclude that leading directory.</p>
<p>I was a bit flabbergasted as to their resolution, and the lack of actual information it provided. So I emailed them back:</p>
<blockquote><p>
Thank you for the update. Unfortunately, some additional information renders your comments less useful than they could otherwise.</p>
<p>I independently verified the intended purpose of the Microsoft Hotfix corresponding to MS KB 954946. You can see the thread here: http://ruslany.net/2008/08/update-for-iis-70-fastcgi-module . As you can see, a Microsoft employee working on IIS verified the cause of the issue I see regarding REQUEST_URI when accessed via FastCGI+PHP, as well as that the hotfix for the KB article would fix the issue.</p>
<p>As far as I have been able to establish the hotfix in question has not been published as an update, but has been out for almost three months. While I can understand your reluctance to publish the current patch level on any servers, as it would serve as an invitation to hackers of all stripes and skill levels, I cannot ascertain whether GoDaddy’s server plans include ever installing this hot fix.</p>
<p>This issue will affect anyone who is running PHP scripts on IIS when dealing with either multiple domains or subdomains. It is a known issue with PHP/FastCGI on IIS7, and would be time-consuming, painful, and incompatible to fix at the source level. I will need to customize my fix for each of several domains, and will need to spend substantial time I don’t have in review in order to assure I cover every entrypoint. I’m certain that I will not be the only person who will or has been affected by this, and given the existence of a fix for the issue, I am surprised and disappointed that I can’t get any confirmation on attention to repair what is in effect a defective server component.</p>
<p>I would like to ensure that I understand the position you are putting forward:<br />
-	GoDaddy will not publish their patching policies beyond asserting that updates are applied regularly and critical patches are applied as needed.<br />
-	GoDaddy will neither confirm nor deny their intention of ever installing a server hotfix that decreases the value of their shared hosting on IIS7.<br />
-	GoDaddy would prefer that individuals personally customize applications that are installable from the HostingConnection/Metropolis site at the source level rather than installing a fix from a major software company.</p>
<p>I had heard good things from several people regarding hosting at GoDaddy, so I’m hoping I’m misunderstanding the intended solution. If this hot fix will be included the next time a set of patches are applied, I can certainly come up with a workaround for the time being. If in order to maintain system security of a hosted application I need to customize it at every patch, I find myself not finding myself in complete agreement with the praise I have heard.</p>
<p>I hope I’m wrong.
</p></blockquote>
<p>Now, my question to anyone actually read this far &#8212; was I too mean to the poor support technician?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.office-monkey.com/2008/11/05/was-i-too-mean-long-rambly-and-techy/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

