Windows Web Hosting, Web Technologies, etc
Web Applications
Instantly get a 40% performance boost in your PHP applications!
Oct 13th
For years now I’ve been spreading the word about how great PHP runs on Windows. In fact, my own blog runs on PHP on Windows. It also amazes me today the amount of closed minded individuals out there with established misconceptions around how PHP runs on Windows. This really all dates back to the early days when PHP and ASP would battle it and when Microsoft’s stand was “Why would you ever use PHP when you have ASP.NET available?” A few years ago Microsoft woke up and decided “if you can’t beat them join them” and began working with Zend.com to make PHP performance on Windows be on par with that on Linux. In my personal (albeit modestly biased) opinion, we’re there!
Today while reviewing my daily RSS feeds I came across a great blog post by Brian Swan “Why is PHP 5.3 on Windows faster than previous versions?”
That really lays out just why PHP 5.3 is faster:
- They moved to Visual C compiler 9 (a modern C compiler for windows) from Visual C compiler 6 (something developed 10 years ago and can probably be called a artifact of an ancient civilization in computer time).
- They moved from the POSIX API to the Win32 API: Native == Good!
- They rebuilt the core extensions / libraries. These were all reworked from the ground up to make sure they were optimized.
Now those are just the changes in PHP itself and by themselves they sound pretty good, no? But that’s just the changes in PHP core! Let’s look at IIS7 and what’s happening there:
- We got the FastCGI implementation for IIS – allowing us to execute CGI based programs much faster by reusing a single process over and over for each call of a PHP application instead of having to spin up a new thread every single time the app is called.
- We got WinCACHE – Providing us a PHP caching engine allowing us to cache PHP bytecode, the compiled version of a PHP script, in memory.
- Then we got IIS7 itself, Microsoft’s fastest web server today and argubly one of the fastest web servers available today.
So if you’re one of these guys that has drank the same old instant coffee crystals for years “Run PHP on Linux, ASP on Windows and never mix the two” then it’s time to walk over to the Kuerig and drop a pod in and savor the flavor of what modern technology has to offer. Oh and after you brew that cup of coffee, load a PHP application on Windows. Here’s a coupon to get you 6 months of PHP optimized Windows hosting, for free!

Comment Spam Protection … in the cloud from cloudflare!
Mar 28th
Comment Spam Sucks
So anyone that has a blog, builds the blog to start a conversation. The conversation is generally in the comments. There’s nothing like knowing that someone not only found your blog post to be helpful but they took the time to say thank you and post a comment.
But what sucks is to get all excited that you got a comment and then find out it’s some guy trying to build links back to his site that sells ED pills!
I’ve tested out a number of different plugins and services that help protect against spam and they help but none of them seem to be really effective. It’s the classic cat and mouse game, I move here and block you, you move there and get around my block.
Recently I stumbled upon a completely different approach that I believe solves that problem and not only makes your site more secure but will speed it up too!
Fighting Comment Spam in the Cloud
The solution I’m talking about is CloudFlare.com. You can visit their website to see what they do and how. In a nutshell, they’ve created a content delivery network (CDN) and added to it a web application firewall that blocks attacks. The beauty here is three-fold:
- First they provide caching, compression and optimization of your static content. They then serve this content from a CDN network where this content may come from a network connection that’s closer to your web visitors network resulting in faster site performance! (mind you this is FREE too!)
- Second, they protect you. They block known spammers, bots and bad guys. They block cross site scripting attacks and common vulnerabilities and generally make you safer.
- Next, by keeping these bots from spidering your site and by serving this static content from their cache instead of your webserver they actually increase overall website load times and end user experience!
I believe CloudFlare will soon be known as a killer cloud app! I think it’s still fairly young and new and it’s had a couple hiccups since I’ve started using it but I think this is a great idea and I’d encourage you to check it out for your own sites. This includes forums and boards, blogs and even regular websites.
Here’s a few Screenshots to see what it does
Here’s what my dashboard looks like
Here’s what the Threat Control Panel looks like
Oh look some spammer left me a message.. Let’s see what he had to say
“Nice” indeed my spammy little Sri Lankan friend, Nice indeed!
BTW, you’ll notice you can put your own blocks in there, country, IP, IP range. That’s pretty handy and it’s nice to offload that blocking from the web servers too!
Hacking WebsitePanel 1.1 to support SmarterMail 8
Mar 14th
UPDATED: WebsitePanel 1.2.X is available today and in order for this to work, you’ll need to use updated binaries. Here’s the link to the WSP 1.2.0 SmarterMail binaries: http://jesscoburn.com/wsphacks/sm8-v120.zip The process is the same as for 1.1, simply install the server agent, replace the DLL in the bin folder with this one and then add SmarterMail to WebsitePanel. If this is useful, I’d love a link back to www.appliedi.net ![]()
We use websitepanel for our control panel of choice these days. It’s powerful, supports everything our customers use and best of all it’s open-source (and previously based off of a commercial product, dotnetpanel). Unfortunately it does have a short coming and that’s that as new software versions come out there’s a lag related to supporting them. Recently Smartermail 8 came out and the software has built in providers for every version of Smartermail up to 7! So if you want to support SmarterMail 8 What to do?
What to do
If you’re upgrading from Smartermail 7 to Smartermail 8, your install will continue to work because the SmarterMail web services are generally unchanged. So go ahead and upgrade a test machine, make sure everything works as it should and you should be all set.
If on the other hand you’re doing a new install and just installed Smartermail 8, you’ll get an error along the lines of expected version not found. Here’s the thing, the web services are the same so whether you’re running 7 or 8 (or 6 even) it should just work. Looking through the source code of the Smartermail7 provider you’ll find that when you’re adding a new server with Smartermail is specifically trying to find version 7. So I edited the source code to allow it to look for version 7 or version 8 and install successfully if either of these are found.
Where to get the files
Until a SmarterMail 8 provider is coded up and made available I’m making available my custom DLLs. You’ll download the files from http://jesscoburn.com/wsphacks/sm8.zip and extract these three files over the top of the same named DLL’s in your bin folder for your websitepanel server agent. I’d go ahead and reset IIS and then you should be able to add the mail server without issue.
I hope my friends at SmarterTools will take up the good fight and start providing the opensource modules for WebsitePanel for their products. I’m surprised no one has coded up the ActiveSync module for SmarterMail and made that available in WebsitePanel already (Jeff, Tim, Grady, Bryan, Derek.. c’mon guys.. help a brother out)

Introducing WebMatrix a new way to publish
Jul 6th
I’m excited to announce that Applied Innovations has partnered with Microsoft and is providing free beta hosting for WebMatrix users. If you’re not familiar with WebMatrix, (that’s probably because it was launched less than an hour ago), let me bring you up to speed.
WebMatrix is a new, easy to use tool from Microsoft that integrates a web server, a file based database server, the web application gallery and as ScottGu put it: “A new view-engine option for ASP.NET that enables a code-focused templating syntax optimized around HTML generation” (that’s fancy talk for you can embed ASP.NET commands right inside your HTML markup).
What makes WebMatrix Cool?
So WebMatrix is one of those tools that makes building new websites for guys like me really easy. You see, I can’t code C# to get save my life (I try but I realize it’s a hack job). What I can do though is take an off the shelf product like WordPress and make it pretty bad ass!. That’s what WebMatrix will help me do.
Everyone knows I love WordPress. It’s one of those tools let’s a guy like me throw up a quick website and make it look really professional. A great example of this is, www.terryhoffconstruction.com. Terry’s my cousin and builds beautiful homes for a living. His previous website became dated and was difficult for them to manage. So I thought “Hey, we can throw a nice WordPress theme on that site, a couple modifications and have a really nice, professional website” and thus 2 hours later we had Terry’s new website built, deployed and ready to go live. I’m lucky because I have access to 2000 web servers and just have to spin up a new site or a new VPS server and can build, test and deploy a site like this in no time. But for someone that doesn’t have unlimited access to a thousands of servers, it’s not so easy.
That’s where WebMatrix comes in for you and why it’s cool. WebMatrix will install the IIS Developer Express server for you, connects to the Web Application Gallery (Part of the WebPI) and let you build a new website on any of a number of open source applications. If you don’t have something that’s required for your particular application (like MySQL or PHP installed) no worries, it will go out download it, install it and configure it all for you with just a click or two. Then you’ll be able to build a new website on your local machine in no time! But let me show you.
Building a local WordPress site with WebMatrix
When you start WebMatrix you’ll get a few options as seen below:
I’m going to open to install a site from the Web Gallery and it’s going to give me a list of over 2 dozen different applications I can install:
I’m going to build a WordPress site so I highlight WordPress and click next and this brings me to a screen that tells me what I’m missing (I’ve already installed PHP and MySQL on my dev machine otherwise it will let me know I needed to download and install those too):
After I click “I accept”, it goes out, downloads the installation pack and then asks me for some application specific entries (in this case, it’s my MySQL database info):
Runs for a little while
and then .. BA-BAM!! All done:
And see that installer log? If it runs into any problems, you can view the log and see where it ran into a problem (like if you typed the wrong MySQL root password .. not that I did that before or anything
)
Now that it’s built my screen looks like this
and if I click on the link http://localhost:38623 there I will see my wordpress site:
Run through the wizard and my new WordPress site is ready to build out locally. Now I can add my themes, my plugins, test it out, make sure everything is ready go and then when I’m done locally go ahead and deploy it.
Deploying my WordPress site with WebMatrix
Before I can deploy my site, I’ll need WebMatrix Hosting. I’m going to head over to http://www.appliedi.net/webmatrix and signup for a free WebMatrix hosting account. After I signup I’ll get an email with my information. Since I plan to connect my WordPress site to a MySQL database I’ll need to log into my control panel and create the MySQL database first (don’t worry instructions on how to do all of this is included in the welcome email).
Then I’m going to start the deployment process. First thing I’m going to do is select the configure publishing settings by click on the arrow below the publish icon:
Then I’ll review my Welcome email with instructions on how to publish using Web Deploy:
I’ll also want to go ahead and publish my Database so I’ll enter my connection string:
As I was instructed to do in the welcome email:
So my entire screen looks like the below image:
I’ll click the “Validate Connection” to make sure my publish is going to happen correctly. and then click the Publish button.
It’s going to check and see what files need to be updated:
And then I’ll tell it to publish everything INCLUDING the MySQL database (let’s see your other web editor do that for you!)
After I click publish it starts doing it’s work:
And then in a few minutes… My publish is completed
and if I click the link…
My WordPress site is installed and ready to go.. But don’t just take my word for it. Go check it out yourself: http://testall.web01.appliedi-labs.net/
Windows Hosting or Linux Hosting? Which runs PHP Faster?
Aug 6th
This is one of those questions everyone and their brother tries to answer and it seems in the 10 years we’ve been offering web hosting at the question is still the same and the answers are still the same BS 10 year old answers.. Typically you hear responses from the advocates of Linux over Windows such as these:
- Keep Microsoft for Microsoft and Use Linux for everything else. (yeah those days are over. Unlock the doors and come outside, Y2K never happened and it’s not going to.)
- PHP is faster on Linux, it’s optimized for Linux and will NEVER run on Windows. I know because I’m a uber-hacker and have my own apartment (in the basement of my mommy’s house.. er I mean my room-mate!)
- Windows Hosting is more expensive than Linux hosting. (Until it breaks and you need to call support but your site is down for 3 days while you try to get support off some usenet feed… Then which is more expensive?)
Well, I’m a big fan of benchmarking things and just testing this for yourself. Of course ever since my Virtuozzo versus VMware versus VirtualPC comparison where all of VMware wanted to take me outside and have me drawn and quartered, I’ve decided to not post such comparisons. Fortunately for us Joe was kind of enough to run such a comparison (using the exact same machine you VMware fan-boys) and really compare PHP on Windows and Linux as well as ASP.NET on both. I’m not going to repeat his results you can see it on his blog. But the long and short of it is:
- ASP.NET rules the world of performance…
- PHP 5.3 on Windows is as fast or faster than it is on Linux. Did you hear that? PHP 5.3 on Windows is as fast or faster as it is on Linux.
- MySQL on Windows is slower than it is on Linux (Which we knew from our own experiences)
- PostGreSQL is comparable on both.. I never even considered looking at PostGreSQL.
- the MS SQL PHP driver is slightly slower than MySQL (but version 2.0 is in the works and will hopefully address this).
So there you have it you you whiny little school girls that insist PHP runs like crap on Windows and why would you ever use Windows Hosting for PHP or for anything (I’m not calling out any names but you know who I’m talking to). Microsoft has stepped up and leveled the playing field with PHP.
If you’re curious what work has been done in this area, Mai-Lan from the IIS team has a nice write up on it.
So that’s the word. Microsoft has recompiled PHP5.3 and helped optimized it for Windows. Now the Windows-Haters will have to find another reason to complain.
Hey to celebrate the increased performance and Joe Stagner stepping up to show the world that Windows IS good for PHP and doing an informal benchmark on his own. Here’s a coupon code that’s good for 25% off your first hosting term on any shared Windows hosting or Windows VPS hosting package good for the month of August: JoeRocks25. You can thank Joe for inspiring the great discount and go subscribe to his blog I do!