.NET Server Configuration

.NET 4.0 On IIS 6

With my dedicated Windows 2003/IIS 6.0 server I want to run latest version of .NET framework on it. Hence I use my Web Platform Installer to install .NET 4.0. Everything goes smooth. It was piece of cake to install it.

Now the time came to run my first .NET 4.0 Framework application, I configure a New website in IIS. Select .NET framework 4.0 from ASP.NET tab in Website property. But what I found is I am getting 404 error. Strangely enough that Default.aspx page does exists and with .NET 2.0 it works just fine. So what goes wrong ? I search and experiment with web.config, but to no avail.

Then I found this article, which clearly mention that

  • Install framework 4.0 and restart [Web Platform Installer does it just fine]
  • IIS 6.0 console should now display ASP.NET 4.0 under tab “ASP.NET” [It was again done if #1 above is right]
  • Under Web Services Extensions (in IIS console) .NET 4.0 framework might be set as: prohibited. This must be ALLOWED otherwise a browser might just return the error 404 page not found which is not very descriptive
  • ASP.NET 4.0 applications must be run in a separate process (Application Pool) otherwise you’ll get the error ‘Server Application Unavailable’.

It is anyways always good to run different programming languages in different pool. For Example, if you want to run PHP on same server I use different pool for them. Covering those 4 steps I got my server working with .NET 4.0. Wondering why Web Platform Team forgot to complete 2 step in their installer.

Article Operating System Server Configuration

IIRF: URL Rewrite, 64bit resolved

Wow, it was hard 48hrs trying to get URL Rewrite for IIS 6.0. Most of solutions are paid and hence not my piece of cake. Especially when I found a great IIRF which is free. However the developer has problem that he doesn’t have 64bit machine to test and fix. Same is with me, but I manage to get a 64bit version of it from original source with almost no change. Here are steps I used to create my 64bit version.

1. Download Latest PCRE version from

2. Download Cmake from

3. Using CMake, I create a Visual Studio 9 64bit Solution from it.

4. Compile PCRE in 64bit.

5. Now download the Latest Source of IIRF from Codeplex ( )

6. Open its solution file, change IIRFConfig.c file to by replacing pcre_free function call to free function call [2 replacements only]. [it was otherwise giving linker error to me]

7. Now replace 3rdParty files from your PCRE version [you need to compile PCRE in Release mode only, and make a STATIC Library [by default it is dynamic library, though you need both static and dynamic]

8. Now compile your IIRF version and Bingo!!! it is done, you will get a IIRF in 64bit machine.

Now some interesting facts

1. I use Windows 7 with Visual Studio 2008 to do all this on my 32bit machine only. So I cannot test my build as it won’t run 64bit stuff.

2. I had a 64bit windows 2003 VPS with IIS 6.0 running in 64bit mode, I test it up there and it works.

3. I did all this because I want to move this blog to Windows 2003 64bit. I will do it soon.

Now, your award for reading it out, you can download that 64bit IIRF Release version here

Joyous Operating System Server Configuration

Apache and IIS 7

Been a web development company, my company need to setup a local server that allow developers to work on centralized server for ease of use and development. For this we got one Physical server. Our requirements are simple, we need IIS 7 to let the development on ASP.NET take place and we need Apache to have support for .htaccess files. Though we can do URL rewrite and more other things with IIS 7 but some of our clients have Linux hosting only, so we have to technology that our clients use.

Now I have two options, I create a Virtual Machine one over other, where one machine is Linux and other is Windows. My company got Windows 2008 Web edition License through Microsoft WebSpark program. So I decide to without Virtual machine, as I don’t like virtual machine for development purpose, they are just too much overhead. So what I did is, I install windows 2008 as Operating system, with IIS 7. Install the Web Platform using Microsoft Web Platform, which also installed ASP.NET 2.0 and ASP.NET 4.0 and SQL Server which is good enough for small scale development.

Now, it is time to configure server for PHP team, well quite a simple stuff, I download the MySQL Community edition and install it. Easy and neat. Now Download the Apache HTTPD server and install it. However I just change it’s Listen Port from 80 to 700 [just any random port] and we are done. Web Installer already install and configure PHP on IIS 7, and I use PHP-cgi from its folder to run as Apache CGI application. Hope that is decently good platform until we get our second server for development.

Our server is now become a host for:


Apache HTTPD server


SQL Server

Visual SVN

Yeah it does all those, and you will get surprised to know that it runs on regular PC configuration with core2duo 2.0 GHz on intel Desktop board without RAID. It servers 1 SQL server per second per stats and have more than 20 GB of data as Web application scripts with more than 100 website configured to run on this server. And Mind it the server runs 24×7 and used only 9 hrs of production, rest of other time it just serve for Demo to client.

Isn’t it that nice little server.

.NET ASP.NET Blog: My thoughts PHP

Make Web Not War

This is what Microsoft has to say through it’s WEB portal ( ), where it distribute one of leading platform for Web application development and deployment.

Well this message can be a direct/indirect attack on those who thing Microsoft is up again only making $$$ and not services. Well guys you are wrong, check this website out. You will find PHP and hence any software made on PHP works fine on Windows server and that to with easy. I am using PHP on Windows from IIS 5.5 and it always work fine for me, but with IIS 7 and MS WEB it is really getting much easier to install PHP and any application on it.

I like the concept and idea, love to see same thing from Apache when they start support for .NET framework ?