<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>jorkeo - hosting geek : IIS</title><link>http://blogs.technet.com/jorke/archive/tags/IIS/default.aspx</link><description>Tags: IIS</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Web Platform Installer Released!</title><link>http://blogs.technet.com/jorke/archive/2009/09/25/web-platform-installer-released.aspx</link><pubDate>Fri, 25 Sep 2009 07:00:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3282900</guid><dc:creator>jorkeo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/jorke/comments/3282900.aspx</comments><wfw:commentRss>http://blogs.technet.com/jorke/commentrss.aspx?PostID=3282900</wfw:commentRss><wfw:comment>http://blogs.technet.com/jorke/rsscomments.aspx?PostID=3282900</wfw:comment><description>&lt;p&gt;If you’ve been to any presentations I’ve done recently you’ve seen how much I love talking about this tool. Very simply the Web Platform Installer (WebPI) is a tool that installs IIS7, extensions, tools, runtimes and applications in a easy to use manner.&lt;/p&gt;  &lt;p&gt;This includes PHP, SQL Express and Visual Web Developer Express. Its never been easier to get the Microsoft Web Platform installed – just a few simple clicks. &lt;/p&gt;  &lt;p&gt;Go to &lt;a href="http://www.microsoft.com/web/"&gt;http://www.microsoft.com/web/&lt;/a&gt; and click on the download the web platform link, and this will download the 80K file that kicks off the installer and from there you can pick and choose what you want to install:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/WebPlatformInstallerReleased_13602/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/WebPlatformInstallerReleased_13602/image_thumb.png" width="434" height="371" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;But the by far coolest part of this is the ability to install popular Open Source applications such as &lt;a href="http://www.silverstripe.org" target="_blank"&gt;Silverstripe&lt;/a&gt; and the WebPI takes care of ANY dependancies such as installing PHP and other web server requirements.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/WebPlatformInstallerReleased_13602/image_4.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/WebPlatformInstallerReleased_13602/image_thumb_1.png" width="435" height="375" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;If you have an application you’d like to include in the Windows Web Application Gallery just follow these simple &lt;a href="http://learn.iis.net/page.aspx/605/windows-web-application-gallery-principles/" target="_blank"&gt;Windows Web Application Gallery Principles&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;There are also a bunch of extensions also made available including:&lt;/p&gt;  &lt;p&gt;o&amp;#160;&amp;#160;&amp;#160; Advanced Logging 1.0 Beta   &lt;br /&gt;o&amp;#160;&amp;#160;&amp;#160; Application Request Routing 2.0 RC    &lt;br /&gt;o&amp;#160;&amp;#160;&amp;#160; Database Manager 1.0 RTW    &lt;br /&gt;o&amp;#160;&amp;#160;&amp;#160; Dynamic IP Restriction 1.0 Beta    &lt;br /&gt;o&amp;#160;&amp;#160;&amp;#160; Media Services 3.0 RTW (with Smooth Streaming)    &lt;br /&gt;o&amp;#160;&amp;#160;&amp;#160; URL Rewrite 2.0 RC1    &lt;br /&gt;o&amp;#160;&amp;#160;&amp;#160; FastCGI for PHP support on IIS6    &lt;br /&gt;o&amp;#160;&amp;#160;&amp;#160; IIS7 Administration Pack    &lt;br /&gt;o&amp;#160;&amp;#160;&amp;#160; FTP Publishing Service 7.5    &lt;br /&gt;o&amp;#160;&amp;#160;&amp;#160; WebDav 7.5    &lt;br /&gt;o&amp;#160;&amp;#160;&amp;#160; Web Deployment Tool 1.0 RTW    &lt;br /&gt;o&amp;#160;&amp;#160;&amp;#160; IIS SEO Toolkit Beta 2    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;Sure you can install all these yourself, but the WebPI just makes it easier!&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;- jorke&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3282900" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/jorke/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://blogs.technet.com/jorke/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.technet.com/jorke/archive/tags/IIS7/default.aspx">IIS7</category><category domain="http://blogs.technet.com/jorke/archive/tags/webpi/default.aspx">webpi</category></item><item><title>Old New Series – Cannon PI</title><link>http://blogs.technet.com/jorke/archive/2009/05/07/old-new-series-cannon-pi.aspx</link><pubDate>Thu, 07 May 2009 07:39:57 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3236620</guid><dc:creator>jorkeo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/jorke/comments/3236620.aspx</comments><wfw:commentRss>http://blogs.technet.com/jorke/commentrss.aspx?PostID=3236620</wfw:commentRss><wfw:comment>http://blogs.technet.com/jorke/rsscomments.aspx?PostID=3236620</wfw:comment><description>Keep watching as Cannon makes life easier for today's web developers using the Microsoft Web Platform Installer.  &lt;p&gt;&lt;iframe height="360" src="http://silverlight.services.live.com/invoke/31260/CannonMontage/iframe.html" frameborder="0" width="640" scrolling="no"&gt;&lt;/iframe&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;- jorke&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3236620" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/jorke/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://blogs.technet.com/jorke/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.technet.com/jorke/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://blogs.technet.com/jorke/archive/tags/webpi/default.aspx">webpi</category></item><item><title>Cat Power - Tomcat on Server 2008 Core with IIS7</title><link>http://blogs.technet.com/jorke/archive/2008/09/17/cat-power-tomcat-on-server-2008-core-with-iis7.aspx</link><pubDate>Wed, 17 Sep 2008 13:51:54 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3125150</guid><dc:creator>jorkeo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/jorke/comments/3125150.aspx</comments><wfw:commentRss>http://blogs.technet.com/jorke/commentrss.aspx?PostID=3125150</wfw:commentRss><wfw:comment>http://blogs.technet.com/jorke/rsscomments.aspx?PostID=3125150</wfw:comment><description>&lt;p&gt;&lt;strong&gt;&lt;font size="4"&gt;EPIC START&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;So this turned out to be much longer than I thought - the basic goal is to utilise two of the coolest features of Window Server 2008 - Core and IIS7. The idea is to create an ultimately low footprint web server on &lt;a target="_blank" href="http://www.microsoft.com/windowsserver2008/en/us/2008-web.aspx"&gt;Microsoft Windows Web Server 2008 Core&lt;/a&gt; and show how that can easily support the &lt;a target="_blank" href="http://www.apache.org/"&gt;Apache Software Foundation&lt;/a&gt;'s Open Source Java Server - &lt;a target="_blank" href="http://tomcat.apache.org/"&gt;Tomcat&lt;/a&gt;. Ideally I don't want to logon to the console or via Remote Desktop of the server at any point - and I'll use our remote management tools to configure and install in a true 'headless' environment. My Starting point is a clean install of Windows Web Server 2008 Core on Hyper-V, &lt;strong&gt;not on a domain&lt;/strong&gt; and just having had the computer name set to &amp;quot;&lt;strong&gt;servercore&lt;/strong&gt;&amp;quot;. Let see how I go! &lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;&lt;strong&gt;Set for Remote Management&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;So this the one thing I must do on the console (or I can script it as part of install). I need to configure our remote management tools &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/aa384372(VS.85).aspx"&gt;WinRM&lt;/a&gt; to allow connections from my workstation to the server. (note that you should NOT leave WinRM with Basic auth set to true in a production environment - I need to do this because the machine is not in a domain)&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;WinRM quickconfig      &lt;br /&gt;WinRM set winrm/config/service/auth @{Basic=&amp;quot;true&amp;quot;}       &lt;br /&gt;WinRM set winrm/config/client @{TrustedHosts=&amp;quot;jorkeo-hp&amp;quot;} &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;WinRM set winrm/config/service/auth @{Basic=&amp;quot;true&amp;quot;}      &lt;br /&gt;WinRM set winrm/config/client @{TrustedHosts=&amp;quot;servercore&amp;quot;}&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Now I connect to the server from the command prompt on my workstation (&amp;quot;&lt;strong&gt;jorkeo-hp&lt;/strong&gt;&amp;quot;) using &lt;a target="_blank" href="http://blogs.technet.com/server_core/archive/2006/08/11/446122.aspx"&gt;WinRS&lt;/a&gt;, and I'm going to instantiate a remote command prompt:&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;WinRS -r:servercore -u:Administrator -p:****** cmd.exe&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/9a0bfb6c0d5c_B772/image_12.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="image" src="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/9a0bfb6c0d5c_B772/image_thumb_5.png" width="514" height="105" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Now we have our remote shell - all commands from this point forward are run here.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="4"&gt;Install Basic IIS requirements&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Normally I would use &lt;a target="_blank" href="http://technet.microsoft.com/en-us/library/cc766272.aspx"&gt;ocsetup&lt;/a&gt; to install everything with dependencies, but since I'm attempting a low footprint web server I want pick the exact packages I need to install without installing everything - to do this I use package manager - &lt;a target="_blank" href="http://technet.microsoft.com/en-us/library/cc749465.aspx"&gt;pkgmgr&lt;/a&gt; - and select the roles/modules to install.&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;start /w pkgmgr /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-HttpRedirect;IIS-ApplicationDevelopment;IIS-ISAPIExtensions;IIS-ISAPIFilter;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-LoggingLibraries;IIS-RequestMonitor;IIS-HttpTracing;IIS-Security;IIS-BasicAuthentication;IIS-URLAuthorization;IIS-RequestFiltering;IIS-IPSecurity;IIS-Performance;IIS-HttpCompressionStatic;IIS-HttpCompressionDynamic;IIS-WebServerManagementTools;IIS-ManagementScriptingTools;WAS-WindowsActivationService;WAS-ProcessModel;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Installation dependencies can be found here:&lt;a href="http://learn.iis.net/page.aspx/130/understanding-setup-in-iis-7/"&gt;http://learn.iis.net/page.aspx/130/understanding-setup-in-iis-7/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Then you need to create the site under IIS7 to host your servlets.&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;mkdir c:\inetpub\mytomcat&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;C:\windows\system32\inetsrv\appcmd.exe add site /name:&amp;quot;mytomcat.com&amp;quot; /bindings:&lt;/font&gt;&lt;a href="http://mytomcat.com:80"&gt;&lt;font size="2" face="Courier New"&gt;http://mytomcat.com:80&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="Courier New"&gt;      &lt;br /&gt;/physicalPath:&amp;quot;c:\inetpub\mytomcat&amp;quot;       &lt;br /&gt;SITE object &amp;quot;mytomcat.com&amp;quot; added      &lt;br /&gt;APP object &amp;quot;mytomcat.com/&amp;quot; added      &lt;br /&gt;VDIR object &amp;quot;mytomcat.com/&amp;quot; added&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;c:\windows\system32\inetsrv\appcmd.exe add apppool /name:mytomcat&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;APPPOOL object &amp;quot;tomcat&amp;quot; added&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;c:\windows\system32\inetsrv\appcmd.exe set site &amp;quot;mytomcat.com&amp;quot;      &lt;br /&gt;/applicationDefaults.applicationPool:&amp;quot;mytomcat&amp;quot;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;SITE object &amp;quot;mytomcat.com&amp;quot; changed&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="4"&gt;Install JRE + Tomcat&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Now we need to install the Java Runtime Environment - I just download the latest one from &lt;a href="http://java.sun.com"&gt;http://java.sun.com&lt;/a&gt; and install with defaults, the version I ended up with was JRE6 update 7 - the offline installation - I then ran the installer like so:&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;jre-6u7-windows-i586-p.exe /passive&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Verified that was in place, by looking for the java directories under &lt;strong&gt;\Program Files&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Then just downloaded the latest version of &lt;a target="_blank" href="http://tomcat.apache.org/download-60.cgi?Preferred=http%3A%2F%2Fapache.mirror.aussiehq.net.au"&gt;Apache Tomcat&lt;/a&gt; from my buddies at &lt;a target="_blank" href="http://www.aussiehq.com.au/"&gt;AussieHQ&lt;/a&gt;. There are a couple of ways you can deploy this, by running the installer service/downloading the file - I like to run the installer on a reference machine then copy the contents of the tomcat directory to the server - it seems to clear out all the unnecessary stuff at installation time. I've copied my contents of a reference install to &lt;strong&gt;c:\tomcat&lt;/strong&gt; on &lt;strong&gt;servercore&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="4"&gt;Run Tomcat as a service&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Now this took aaaggess as the installation syntax is overly sensitive, case sensitive etc. So to save you the time here is my installation script line to install with all options pointing to my new installation of JRE:&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;tomcat6.exe //IS//Tomcat6 --Install=&amp;quot;c:\tomcat\bin\tomcat6.exe&amp;quot; --StartClass=org.apache.catalina.startup.Bootstrap --StopClass=org.apache.catalina.startup.Bootstrap --StartParams=start --StopParams=stop --JvmOptions &amp;quot;-Dcatalina.home=c:\tomcat;-Dcatalina.base=c:\tomcat;-Djava.endorsed.dirs=c:\tomcat\common\endorsed;-Djava.io.tmpdir=c:\tomcat\temp;-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager;-Djava.util.logging.config.file=c:\tomcat\conf\logging.properties;&amp;quot; --Jvm=&amp;quot;C:\Program Files\Java\jre1.6.0_07\bin\client\jvm.dll&amp;quot; --JavaHome=&amp;quot;C:\Program Files\Java\jre1.6.0_07&amp;quot; --Classpath=&amp;quot;c:\tomcat\bin\bootstrap.jar&amp;quot; --LogPath=c:\tomcat\logs --StdError=auto --StdOutput=auto --StartPath=c:\tomcat --StopPath=c:\tomcat --StartMode=jvm --StopMode=jvm&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;At this point I found that tomcat would fail to start&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;&lt;font face="Courier New"&gt;C&lt;/font&gt;&lt;font size="2" face="Courier New"&gt;:\tomcat\bin&amp;gt;net start tomcat6        &lt;br /&gt;The Tomcat6 service is starting.         &lt;br /&gt;The Tomcat6 service could not be started. &lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;A service specific error occurred: 0. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;More help is available by typing NET HELPMSG 3547. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;C:\tomcat\bin&amp;gt;C:\tomcat\bin&amp;gt;tomcat6 //TS//Tomcat6      &lt;br /&gt;C:\tomcat\bin&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;hmmm nothing... looking in &lt;strong&gt;tomcat\logs &lt;/strong&gt;folder the &amp;quot;&lt;strong&gt;jakarta_service.log&lt;/strong&gt;&amp;quot; file seemed to be the latest timestamp, opening that in notepad and its full of this:&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;2008-09-16 12:39:50] [info] Procrun (2.0.3.0) started      &lt;br /&gt;[2008-09-16 12:39:50] [info] Debugging Service...       &lt;br /&gt;[2008-09-16 12:39:50] [info] Starting service...       &lt;br /&gt;[2008-09-16 12:39:50] [174&amp;#160; javajni.c] [error] The specified module could not be found.       &lt;br /&gt;[2008-09-16 12:39:50] [986&amp;#160; prunsrv.c] [error] Failed creating java C:\Program Files\Java\jre1.6.0_07\bin\client\jvm.dll       &lt;br /&gt;[2008-09-16 12:39:50] [1260 prunsrv.c] [error] ServiceStart returned 1       &lt;br /&gt;[2008-09-16 12:39:50] [info] Debug service finished.       &lt;br /&gt;[2008-09-16 12:39:50] [info] Procrun finished.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;which appears to be a problem finding an api to connect to, but the error is pretty vague as to &lt;strong&gt;what&lt;/strong&gt; its actually trying to do.. &lt;/p&gt;  &lt;p&gt;GROAN - this is the FIRST time i have to logon to the server via RDP/Console.. remember everything else so far has been via a remote &lt;a target="_blank" href="http://blogs.technet.com/server_core/archive/2006/08/11/446122.aspx"&gt;winrs&lt;/a&gt; console...&lt;/p&gt; &lt;a target="_blank" href="http://failblog.org/2008/05/12/plunger-cat/"&gt;&lt;img border="0" alt="Plunger Cat Fail" src="http://failblog.wordpress.com/files/2008/05/plungerfail.jpg?w=500" /&gt;&lt;/a&gt;   &lt;p&gt;Log On... Fire up &lt;a target="_blank" href="http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx"&gt;sysinternals Process Monitor&lt;/a&gt; (thank you &lt;a target="_blank" href="http://blogs.technet.com/sysinternals/archive/2008/08/08/new-coreinfo-v1-0-updates-process-monitor-v1-37-handle-v3-4-process-explorer-v11-21-debugview-4-75-mark-s-events-keynote-speaker-at-virtualization-congress.aspx"&gt;Mr Russinovich&lt;/a&gt;) to see what this tomcat process is trying to talk to (after some thought, I reckon I could probably spawn this remotely with a backing file to disk and load that on another machine... but too much stuffing around..). After attaching to the tomcat process, aha - there it is:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/9a0bfb6c0d5c_B772/image_2.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/9a0bfb6c0d5c_B772/image_thumb.png" width="451" height="68" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;When the tomcat process fires up it pokes around the OS looking for &lt;strong&gt;MSVCR71.dll&lt;/strong&gt; - which is the a bunch of C libraries generally shipped with the Microsoft C runtime library. So all I needed to do is find that file and put it in path - hang- on.. I remembered back to my Java development days in University - pretty sure that the JRE ships with the libraries in tow... ah... looking into the &lt;strong&gt;JRE\bin&lt;/strong&gt; directory of my Java Runtime Environment install, there it is, I'll copy that to my &lt;strong&gt;tomcat\bin&lt;/strong&gt; folder and try again. &lt;/p&gt;  &lt;p&gt;Ok - lets log off that server real quick - and back to our remote shell.&lt;/p&gt;  &lt;p&gt;So I kicked off starting tomcat from the command line again.. success!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/9a0bfb6c0d5c_B772/image_4.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/9a0bfb6c0d5c_B772/image_thumb_1.png" width="463" height="251" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;You'll see its started with the default of http listening on port 8080 - so browsing to this (hoping no random proxy in the way) - Yee ha!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/9a0bfb6c0d5c_B772/image_6.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/9a0bfb6c0d5c_B772/image_thumb_2.png" width="460" height="115" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Awesome, now I just have to CTRL-BREAK out of that and start the service:&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;C:\tomcat\bin&amp;gt;net start tomcat6     &lt;br /&gt;The Tomcat6 service is starting.      &lt;br /&gt;The Tomcat6 service was started successfully.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;And test again - also a Screen shot to prove it:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/9a0bfb6c0d5c_B772/image_10.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="image" src="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/9a0bfb6c0d5c_B772/image_thumb_4.png" width="478" height="52" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;But this is only the first step - Now I need to serve Tomcat through IIS7.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="4"&gt;Setting up the IIS ISAPI Redirector&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Download the IIS Tomcat connector - &lt;a title="http://tomcat.apache.org/download-connectors.cgi" href="http://tomcat.apache.org/download-connectors.cgi"&gt;http://tomcat.apache.org/download-connectors.cgi&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The connector acts as a broker between IIS and Tomcat and as far as IIS is concerned just an &lt;a target="_blank" href="http://en.wikipedia.org/wiki/Isapi"&gt;ISAPI&lt;/a&gt; filter.&lt;/p&gt;  &lt;p&gt;For this example I've grabbed &lt;strong&gt;isapi_redirect-1.2.26.dll&lt;/strong&gt; - and renamed it to &lt;strong&gt;isapi_redirect.dll&lt;/strong&gt; just to make it easy. &lt;/p&gt;  &lt;p&gt;Now this is where your configuration choice can get interesting. Depending on how you're supporting tomcat you have the choice of using the registry for storing configuration information for the &lt;a target="_blank" href="http://en.wikipedia.org/wiki/Isapi"&gt;ISAPI&lt;/a&gt; filter OR using a file. This of course depends on how you intend to host it as well. If you intend host this in a multi-tenant environment with several java sites on the same server and possibly different customers as well I would recommend using a file based approach as you can set a configuration file per site. If you are just looking after one site on the server, registry configuration is fine. One thing to remember though, is when you need to replicate the configuration to another server then you will have to make sure the registry entries follow the site.&lt;/p&gt;  &lt;p&gt;For the purposes of this example, I'm going to attempt a multi-tenant configuration to allow the most flexibility, plus prevents me from having to play in the registry. When you need to create another site on the same server, create a new folder for the site under &lt;strong&gt;tomcat\conf&lt;/strong&gt; and &lt;strong&gt;tomcat\logs&lt;/strong&gt; and simply follow these steps for each new site :) (or script it)&lt;/p&gt;  &lt;p&gt;1. Create a folder under the website root called &lt;strong&gt;jakarta&lt;/strong&gt;     &lt;br /&gt;2. Copy the &lt;strong&gt;isapi_redirect.dll&lt;/strong&gt; into the &lt;strong&gt;jakarta&lt;/strong&gt; folder.     &lt;br /&gt;3. Create a file in the &lt;strong&gt;jakarta&lt;/strong&gt; folder called &lt;strong&gt;isapi_redirect.properties &lt;/strong&gt;(note that the name before the extension MUST match the dll filename)     &lt;br /&gt;4. Edit the isapi_redirect.properties file in notepad (server core IDE) - paste in the following:&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;# Configuration file for the Jakarta ISAPI Redirector &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;# The path to the ISAPI Redirector Extension, relative to the website      &lt;br /&gt;# This must be in a virtual directory with execute privileges       &lt;br /&gt;extension_uri=/jakarta/isapi_redirect.dll &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;# Full path to the log file for the ISAPI Redirector      &lt;br /&gt;log_file=c:\tomcat\logs\mytomcat\isapi_redirect.log &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;# Log level (debug, info, warn, error or trace)      &lt;br /&gt;log_level=INFO&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;# Full path to the workers.properties file      &lt;br /&gt;worker_file=c:\tomcat\conf\mytomcat\workers.properties &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;# Full path to the uriworkermap.properties file      &lt;br /&gt;worker_mount_file=c:\tomcat\conf\mytomcat\uriworkermap.properties &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;5. You can see that the&lt;strong&gt; log_file&lt;/strong&gt; directive is going to a folder that doesn't exist so we need to create the folder &lt;strong&gt;tomcat\logs\mytomcat\&lt;/strong&gt; - and also the configuration folder &lt;strong&gt;tomcat\conf\mytomcat\&lt;/strong&gt; - by creating a separate folder for each site you allow the separation of site logging and configuration.     &lt;br /&gt;6. Now we need to create the &lt;strong&gt;workers.properties&lt;/strong&gt; and &lt;strong&gt;uriworkermap.properties&lt;/strong&gt; files under the&lt;strong&gt; tomcat\conf\tomcatsite1\&lt;/strong&gt; folder. Create the worker.properties file first - This controls the configuration of tomcat worker processes allows control of resources to the site - something best left to the server administrators (&lt;a target="_blank" href="http://tomcat.apache.org/connectors-doc/generic_howto/workers.html"&gt;more info on tomcat workers&lt;/a&gt;) - lets create the file &lt;strong&gt;notepad.exe tomcat\conf\mytomcat\workers.properties&lt;/strong&gt; - and populate with the following:&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;# list of workers &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;worker.list=mytomcat,ajp13      &lt;br /&gt;worker.mytomcat.type=ajp13       &lt;br /&gt;worker.ajp13.type=ajp13 &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;# worker mytomcat      &lt;br /&gt;worker.mytomcat.host=localhost       &lt;br /&gt;worker.mytomcat.port=8009       &lt;br /&gt;worker.mytomcat.lbfactor=1 &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;# worker ajp13      &lt;br /&gt;worker.ajp13.host=localhost       &lt;br /&gt;worker.ajp13.port=8009       &lt;br /&gt;worker.ajp13.lbfactor=1 &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;&lt;font face="Courier New"&gt;&lt;font size="2"&gt;# time out          &lt;br /&gt;worker.mytomcat.connection_pool_timeout=600           &lt;br /&gt;worker.mytomcat.socket_timeout=60&lt;/font&gt; &lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;You can see here we are trying to make sure we keep the naming specific to the site. Save the worker.properties file, then create the &lt;strong&gt;uriworkermap.properties&lt;/strong&gt; file - &lt;strong&gt;notepad.exe tomcat\conf\mytomcat\uriworkermap.properties&lt;/strong&gt; - this is where we map the request to the tomcat worker process. There is a whole level of URI re-mapping you can do here, but for the moment we are just going to take everything that comes to the site is fed to tomcat - just make sure we match up with the worker specified in the &lt;strong&gt;workers.properties&lt;/strong&gt; file.&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;# Use www.foo.org as virtual host      &lt;br /&gt;# /www.foo.org/myapp/*=myworker       &lt;br /&gt;# Normal mapping &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;/mytomcat.com/*=mytomcat      &lt;br /&gt;/mytomcat.com/=mytomcat&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Save that file.&lt;/p&gt;  &lt;p&gt;7. The last bit of hacking around in tomcat is that we need to tell it that we've setup a site for it to to be aware of. To kick this I opened the file &lt;strong&gt;tomcat\conf\server.xml&lt;/strong&gt; in notepad.&lt;/p&gt;  &lt;p&gt;Between the &lt;strong&gt;&amp;lt;Service&amp;gt;&lt;/strong&gt; xml tags another &lt;strong&gt;&amp;lt;Engine&amp;gt;&lt;/strong&gt; tag that describes our site needs to put into place - this is the syntax I entered:&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;&amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;mytomcat.com&amp;quot;&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;Host name=&amp;quot;mytomcat.com&amp;quot; appBase=&amp;quot;c:\inetpub\mytomcat&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;true&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RequestDumperValve&amp;quot;/&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.AccessLogValve&amp;quot; directory=&amp;quot;c:\tomcat\logs\mytomcat&amp;quot; prefix=&amp;quot;mytomcat_access_log.&amp;quot; suffix=&amp;quot;.log&amp;quot; pattern=&amp;quot;common&amp;quot; resolveHosts=&amp;quot;false&amp;quot;/&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/Host&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/Engine&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;( Note the Valves in place to dump engine logs - http access etc )&lt;/p&gt;  &lt;p&gt;You will need to restart the tomcat service to pick up these changes - if any weirdness happens just run the service from the console to pick up any issues.&lt;/p&gt;  &lt;p&gt;8. Now we need to tell IIS that we're using an ISAPI filter to serve the content - we just need to add the ISAPI filter via APPCMD. First allow the ISAPI filter into the CGI/ISAPI restriction policy - then we unlock the handlers config in applicationhost.config then actually add the &lt;a target="_blank" href="http://en.wikipedia.org/wiki/Isapi"&gt;ISAPI&lt;/a&gt; filter.&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;appcmd.exe set config&amp;#160; -section:system.webServer/security/isapiCgiRestriction      &lt;br /&gt;/+&amp;quot;[path='c:\inetpub\mytomcat\jakarta\isapi_redirect.dll',allowed='True',description='tomcat']&amp;quot; /commit:apphost&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;c:\windows\system32\inetsrv\appcmd.exe unlock config /section:system.webserver/handlers&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;Unlocked section &amp;quot;system.webServer/handlers&amp;quot; at configuration path &amp;quot;MACHINE/WEBROOT/APPHOST&amp;quot;.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;c:\windows\system32\inetsrv\appcmd.exe set config &amp;quot;mytomcat.com&amp;quot;      &lt;br /&gt;&lt;/font&gt;&lt;font size="2" face="Courier New"&gt;-section:system.webServer/handlers      &lt;br /&gt;/+&amp;quot;[name='tomcat',path='*',verb='*',       &lt;br /&gt;scriptProcessor='c:\inetpub\mytomcat\jakarta\isapi_redirect.dll']&amp;quot;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;Applied configuration changes to section &amp;quot;system.webServer/handlers&amp;quot; for &amp;quot;MACHIN     &lt;br /&gt;E/WEBROOT/APPHOST/mytomcat.com&amp;quot; at configuration commit path &amp;quot;MACHINE/WEBROOT/APPHOST/mytomcat.com&amp;quot;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;9. One thing I almost forgot is that we need make sure that the context our site is running on has the ability to read the tomcat configuration and files. Because our application pool runs as the built in account - &amp;quot;&lt;strong&gt;Network Service&lt;/strong&gt;&amp;quot; I have to ensure it can read and write in the appropriate locations around tomcat. Now I'm being a little lazy here - if I really wanted to lock it down I would create a user account, remove it from all groups and then sit with &lt;a target="_blank" href="http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx"&gt;Process Monitor&lt;/a&gt; and find the exact settings required. But this is enough to get me over the hump. Allowing read to all of &lt;strong&gt;tomcat&lt;/strong&gt;, and allowing write to &lt;strong&gt;tomcat\logs&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;cacls c:\tomcat /T /E /C /G &amp;quot;NETWORK SERVICE&amp;quot;:R&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;cacls c:\tomcat\logs /T /E /C /G &amp;quot;NETWORK SERVICE&amp;quot;:C&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;10. Finally we need to drop some content to serve, I'm just going to drop in the examples that ship with the default tomcat build, normally found in the &lt;strong&gt;tomcat\webapps\examples&lt;/strong&gt; folder. I've just copied all the files into the root of my site and now lets browse to my site &lt;strong&gt;http://mytomcat.com&lt;/strong&gt;&lt;a title="http://mytomcat.com/servlets/servlet/HelloWorldExample" href="http://mytomcat.com/servlets/servlet/HelloWorldExample"&gt;&lt;strong&gt;/servlets/servlet/HelloWorldExample&lt;/strong&gt;&lt;/a&gt; (local demo site) ... and:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/9a0bfb6c0d5c_B772/image_8.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/9a0bfb6c0d5c_B772/image_thumb_3.png" width="459" height="140" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Its working - HOORAY!&lt;/p&gt;  &lt;p&gt;Just to verify, looking at my IIS logs you can see the requests coming through to the server:&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;008-09-17 00:50:32 192.168.0.2 GET /servlets/servlet/HelloWorldExample - 80 - 127.0.0.1 HTTP/1.1 Mozilla/5.0+(Windows;+U;+Windows+NT+6.0;+en-GB;+rv:1.9)+Gecko/2008052906+Firefox/3.0+(.NET+CLR+3.5.30729) JSESSIONID=A86ABA6C645C8FC922551765899D09A0 - mytomcat.com 200 0 0 511 513 194      &lt;br /&gt;2008-09-17 00:50:32 192.168.0.2 GET /servlets/images/code.gif - 80 - 127.0.0.1 HTTP/1.1 Mozilla/5.0+(Windows;+U;+Windows+NT+6.0;+en-GB;+rv:1.9)+Gecko/2008052906+Firefox/3.0+(.NET+CLR+3.5.30729) JSESSIONID=A86ABA6C645C8FC922551765899D09A0 &lt;/font&gt;&lt;a href="http://mytomcat.com/servlets/servlet/HelloWorldExample"&gt;&lt;font size="2" face="Courier New"&gt;http://mytomcat.com/servlets/servlet/HelloWorldExample&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="Courier New"&gt; mytomcat.com 200 0 0 519 538 17      &lt;br /&gt;2008-09-17 00:50:32 192.168.0.2 GET /servlets/images/return.gif - 80 - 127.0.0.1 HTTP/1.1 Mozilla/5.0+(Windows;+U;+Windows+NT+6.0;+en-GB;+rv:1.9)+Gecko/2008052906+Firefox/3.0+(.NET+CLR+3.5.30729) JSESSIONID=A86ABA6C645C8FC922551765899D09A0 &lt;/font&gt;&lt;a href="http://mytomcat.com/servlets/servlet/HelloWorldExample"&gt;&lt;font size="2" face="Courier New"&gt;http://mytomcat.com/servlets/servlet/HelloWorldExample&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="Courier New"&gt; mytomcat.com 200 0 0 1460 540 21      &lt;br /&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;The request loads through the ISAPI filters, so looking at the tomcat access logs:&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;127.0.0.1 - - [17/Sep/2008:10:44:33 +1000] &amp;quot;GET /servlets/servlet/HelloWorldExample HTTP/1.1&amp;quot; 200 359      &lt;br /&gt;127.0.0.1 - - [17/Sep/2008:10:44:38 +1000] &amp;quot;GET /servlets/servlet/HelloWorldExample HTTP/1.1&amp;quot; 200 359       &lt;br /&gt;127.0.0.1 - - [17/Sep/2008:10:44:55 +1000] &amp;quot;GET /servlets/servlet/HelloWorldExample HTTP/1.1&amp;quot; 200 359       &lt;br /&gt;127.0.0.1 - - [17/Sep/2008:10:45:12 +1000] &amp;quot;GET /servlets/servlet/HelloWorldExample HTTP/1.1&amp;quot; 200 359       &lt;br /&gt;127.0.0.1 - - [17/Sep/2008:10:45:57 +1000] &amp;quot;GET /servlets/servlet/HelloWorldExample HTTP/1.1&amp;quot; 200 359&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;&lt;strong&gt;Further Security Lock Downs&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;One very important you should to for your site is to ensure that the jakarta folder is blocked from http reading, i.e. just being able to browse to it - this can be controlled by the request filtering feature that is built into IIS7. To protect the folder, very simply appcmd directive:&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;appcmd.exe set config &amp;quot;mytomcat.com/jakarta&amp;quot; -section:system.webServer/security/requestFiltering /+&amp;quot;hiddenSegments.[segment='jakarta']&amp;quot;&lt;/font&gt; &lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Then remember to rollback the WinRM configuration when going into production:&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;WinRM set winrm/config/service/auth @{Basic=&amp;quot;false&amp;quot;}&lt;/font&gt; &lt;/p&gt;  &lt;p&gt;&lt;font size="5"&gt;&lt;strong&gt;EPIC DONE!&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;And we are done - so this is my no means an exhaustive configuration guide - merely a glimpse of how you can configure some competitive technologies with Windows Server 2008 Core and IIS7.&lt;/p&gt;  &lt;p&gt;- jorke&lt;/p&gt;  &lt;p&gt; p.s. (Fineprint) this whole post is totally without warranty, if you try this and it works or doesn't work its not my fault. If you girlfriend/wife/cat leaves you because of this - believe me it wasn't this - you have something else to worry about..&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e840150e-52f2-41cb-abaf-71c350cdf127" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Server%20Core" rel="tag"&gt;Server Core&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Tomcat" rel="tag"&gt;Tomcat&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Apache%20Tomcat" rel="tag"&gt;Apache Tomcat&lt;/a&gt;,&lt;a href="http://technorati.com/tags/IIS7" rel="tag"&gt;IIS7&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Windows" rel="tag"&gt;Windows&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Java" rel="tag"&gt;Java&lt;/a&gt;,&lt;a href="http://technorati.com/tags/JSP" rel="tag"&gt;JSP&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Servlets" rel="tag"&gt;Servlets&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3125150" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/jorke/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://blogs.technet.com/jorke/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.technet.com/jorke/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://blogs.technet.com/jorke/archive/tags/IIS7/default.aspx">IIS7</category><category domain="http://blogs.technet.com/jorke/archive/tags/apache/default.aspx">apache</category><category domain="http://blogs.technet.com/jorke/archive/tags/CGI/default.aspx">CGI</category><category domain="http://blogs.technet.com/jorke/archive/tags/core/default.aspx">core</category><category domain="http://blogs.technet.com/jorke/archive/tags/Open+Source/default.aspx">Open Source</category><category domain="http://blogs.technet.com/jorke/archive/tags/tomcat/default.aspx">tomcat</category></item><item><title>PHP on IIS7 for Shared Hosting- AWESOME article!</title><link>http://blogs.technet.com/jorke/archive/2008/06/25/php-on-iis7-for-shared-hosting-awesome-article.aspx</link><pubDate>Wed, 25 Jun 2008 08:17:32 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3080660</guid><dc:creator>jorkeo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/jorke/comments/3080660.aspx</comments><wfw:commentRss>http://blogs.technet.com/jorke/commentrss.aspx?PostID=3080660</wfw:commentRss><wfw:comment>http://blogs.technet.com/jorke/rsscomments.aspx?PostID=3080660</wfw:comment><description>&lt;p&gt;check it out on &lt;a href="http://iis.net" target="_blank"&gt;IIS.NET&lt;/a&gt; - &lt;a title="http://learn.iis.net/page.aspx/208/fastcgi-with-php/" href="http://learn.iis.net/page.aspx/208/fastcgi-with-php/"&gt;http://learn.iis.net/page.aspx/208/fastcgi-with-php/&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;here are a couple of excerpts from the article that I strongly recommend:&lt;/p&gt;  &lt;p&gt;-----------&lt;/p&gt;  &lt;h5&gt;PHP Security Recommendations&lt;/h5&gt;  &lt;p&gt;The following recommendations describe how to tighten security of PHP in shared hosting environment. To make the recommended changes locate and open php.ini file and edit it as described below:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Disable remote URL's for file handling functions:      &lt;ul&gt;       &lt;li&gt;Set allow_url_fopen=Off &lt;/li&gt;        &lt;li&gt;Set allow_url_include=Off &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Disable register_globals:      &lt;ul&gt;       &lt;li&gt;register_globals=Off &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Restrict where PHP can read and write on a file system, e.g.:      &lt;ul&gt;       &lt;li&gt;open_basedir=&amp;quot;c:\inetpub\&amp;quot; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Disable safe mode:      &lt;ul&gt;       &lt;li&gt;safe_mode=Off &lt;/li&gt;        &lt;li&gt;safe_mode_gid=Off &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Limit script execution time:      &lt;ul&gt;       &lt;li&gt;max_execution_time=30 &lt;/li&gt;        &lt;li&gt;max_input_time=60 &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Limit memory usage and file sizes:      &lt;ul&gt;       &lt;li&gt;memory_limit=16M &lt;/li&gt;        &lt;li&gt;upload_max_filesize=2M &lt;/li&gt;        &lt;li&gt;post_max_size=8M &lt;/li&gt;        &lt;li&gt;max_input_nesting_levels=64 &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Configure error messages and logging:      &lt;ul&gt;       &lt;li&gt;display_errors=Off &lt;/li&gt;        &lt;li&gt;log_errors=On &lt;/li&gt;        &lt;li&gt;error_log=&amp;quot;C:\path\of\your\choice&amp;quot; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Hide presence of PHP:      &lt;ul&gt;       &lt;li&gt;expose_php=Off &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;-----------    &lt;br /&gt;and how to ensure you can configure your own PHP.INI for each site:     &lt;br /&gt;-----------&lt;/p&gt;  &lt;h5&gt;Specifying php.ini location&lt;/h5&gt;  &lt;p&gt;When PHP process starts it determines the location of configuration php.ini file by using various settings. &lt;a href="http://www.php.net/manual/en/configuration.php"&gt;The PHP documentation&lt;/a&gt; provides detailed description of the PHP start up process. Note that one of the places where PHP process searches for php.ini location is the PHPRC environment variable. If PHP process finds a php.ini file in the path specified in this environment variable then it will use it, otherwise it will revert to default location of php.ini. This environment variable can be used to allow hosting customers to use their own versions of php.ini files.&lt;/p&gt;  &lt;p&gt;For example if there are two websites: website1 and website2; located at the following file paths: C:\WebSites\website1 and C:\WebSites\website2 then the php-cgi.exe process pools in &amp;lt;fastCgi&amp;gt; section of applicationHost.config can be configured as below:&lt;/p&gt;  &lt;p&gt;&lt;samp&gt;&amp;lt;fastCgi&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;application fullPath=&amp;quot;C:\PHP\php-cgi.exe&amp;quot; arguments=&amp;quot;-d my.website=website1&amp;quot;&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;environmentVariables&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;environmentVariable name=&amp;quot;PHPRC&amp;quot; value=&amp;quot;C:\WebSites\website1&amp;quot; /&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/environmentVariables&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/application&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;application fullPath=&amp;quot;C:\PHP\php-cgi.exe&amp;quot; arguments=&amp;quot;-d my.website=website2&amp;quot;&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;environmentVariables&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;environmentVariable name=&amp;quot;PHPRC&amp;quot; value=&amp;quot;C:\WebSites\website2&amp;quot; /&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/environmentVariables&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/application&amp;gt;       &lt;br /&gt;&amp;lt;/fastCgi&amp;gt;&lt;/samp&gt;&lt;/p&gt;  &lt;p&gt;This way owner of website1 can place their own version of php.ini into the C:\WebSites\website1, while the owner of website2 can use their own version of php.ini located in C:\WebSites\website2. This configuration also ensures that if there is no php.ini found in location specified by PHPRC environment variable then PHP will fall back to using the default php.ini file located in the same folder where php-cgi.exe is located.    &lt;br /&gt;-----------&lt;/p&gt;  &lt;p&gt;&lt;a href="http://learn.iis.net/page.aspx/208/fastcgi-with-php/" target="_blank"&gt;Check it out in more detail&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;- jorke&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:8918467d-4468-4c5c-83ca-9c959c5c47a8" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PHP%20on%20Windows" rel="tag"&gt;PHP on Windows&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PHP" rel="tag"&gt;PHP&lt;/a&gt;,&lt;a href="http://technorati.com/tags/IIS%207" rel="tag"&gt;IIS 7&lt;/a&gt;,&lt;a href="http://technorati.com/tags/FastCGI" rel="tag"&gt;FastCGI&lt;/a&gt;,&lt;a href="http://technorati.com/tags/IIS7" rel="tag"&gt;IIS7&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3080660" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/jorke/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.technet.com/jorke/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://blogs.technet.com/jorke/archive/tags/IIS7/default.aspx">IIS7</category><category domain="http://blogs.technet.com/jorke/archive/tags/PHP/default.aspx">PHP</category><category domain="http://blogs.technet.com/jorke/archive/tags/FastCGI/default.aspx">FastCGI</category><category domain="http://blogs.technet.com/jorke/archive/tags/security/default.aspx">security</category></item><item><title>Installing FTP with IIS7 on 2008 Server Core</title><link>http://blogs.technet.com/jorke/archive/2008/06/05/installing-ftp-with-iis7-on-2008-server-core.aspx</link><pubDate>Thu, 05 Jun 2008 10:36:51 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3080692</guid><dc:creator>jorkeo</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.technet.com/jorke/comments/3080692.aspx</comments><wfw:commentRss>http://blogs.technet.com/jorke/commentrss.aspx?PostID=3080692</wfw:commentRss><wfw:comment>http://blogs.technet.com/jorke/rsscomments.aspx?PostID=3080692</wfw:comment><description>&lt;p&gt;I had a few questions from an old colleague, &lt;a href="http://twitter.com/virgilwashere" target="_blank"&gt;Virgil&lt;/a&gt;, who had just built a 2008 server core machine and was having issues configuring FTP. Without asking I knew &lt;a href="http://twitter.com/virgilwashere" target="_blank"&gt;Virgil&lt;/a&gt; would be chasing an FTP server that would have some method of secure transport such as FTPS and pluggable authentication methods, I know this because he's an interoperable kind of guy :)&lt;/p&gt;  &lt;p&gt;He'd already been trying to configure this with the default install of FTP that comes with Server 2008, but I recommended that he use the downloadable version from the &lt;a href="http://iis.net" target="_blank"&gt;iis.net&lt;/a&gt; website. Only issue here is that you have to uninstall the old FTP server before that will install, then configure the service all over again... so after about 30 minutes of furious IM conversations this is how we did it..&lt;/p&gt;  &lt;p&gt;First we uninstalled the FTP Service that comes with 2008 :&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;strong&gt;start /w pkgmgr /uu:IIS-FTPPublishingService;IIS-FTPServer&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Then downloaded the FTP publishing service for IIS 7, with the friendly name of FTP7;   &lt;br /&gt; - x86 - &lt;a title="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1619" href="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1619"&gt;http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1619&lt;/a&gt;    &lt;br /&gt; - x64 - &lt;a title="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1620" href="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1620"&gt;http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1620&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;and installed it:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;strong&gt;msiexec /i ftp7_x86_rtw.msi&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Once that was in we simply had add the appropriate bindings to the site, like so (Make sure you close your quotes properly or it goes NUTS!) :&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;c:\windows\system32\inetsrv\appcmd.exe set site /site.name:&amp;quot;Default Web Site&amp;quot; /+bindings.[protocol='ftp',bindingInformation=&amp;quot;*:21:&amp;quot;]&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;then we simply had to set an authorised user to the server:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;c:\windows\system32\inetsrv\appcmd.exe set config &amp;quot;Default Web Site&amp;quot; /sectionystem.ftpserver/security/authorization /+[accessType='Allow',permissions='Read,Write',roles='',users='ftpuser'] /commit:apphost&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;And we were done! (or so we thought!).... On attempting to connect to the FTP server we ended up with the error : &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;534-Policy requires SSL.     &lt;br /&gt; Win32 error:&amp;#160;&amp;#160; Access is denied.      &lt;br /&gt; Error details: SSL policy requires SSL for control channel.      &lt;br /&gt;534 End      &lt;br /&gt;Login failed.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;ahh that's right - by default the FTP install is set to run as FTPS thus requiring a secure connection... to turn off this feature (it was a lab environment and didn't require secure transfer) resulted in a LOT of head scratching, eventually to save time we popped open the applicationhost.config file and and added theses lines in the &amp;lt;site /&amp;gt; tag..:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;&amp;lt;ftpServer&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160; &amp;lt;security&amp;gt;        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;ssl controlChannelPolicy=&amp;quot;SslAllow&amp;quot; dataChannelPolicy=&amp;quot;SslAllow&amp;quot; /&amp;gt;        &lt;br /&gt;&amp;#160;&amp;#160; &amp;lt;/security&amp;gt;        &lt;br /&gt;&amp;lt;/ftpServer&amp;gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Not very elegant but served the purpose - a bit more investigation I eventually fell upon the answer using the &lt;a href="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;i=1682&amp;amp;g=6" target="_blank"&gt;IIS7 Administration Pack&lt;/a&gt;, which allowed me to generate the correct script:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;c:\windows\system32\inetsrv\appcmd.exe set config -section:system.applicationHost/sites /[name='Default Web Site'].ftpServer.security.ssl.controlChannelPolicy:&amp;quot;SslAllow&amp;quot; /[name='Default Web Site'].ftpServer.security.ssl.dataChannelPolicy:&amp;quot;SslRequire&amp;quot; /commit:apphost&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;And there we go, FTP7 configured on Windows Server 2008 Core - couldn't be easier to script...&lt;/p&gt;  &lt;p&gt;- jorke&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3ac9393b-0974-4ce0-8cd3-d3ad090f85a6" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Windows%20Server%202008" rel="tag"&gt;Windows Server 2008&lt;/a&gt;,&lt;a href="http://technorati.com/tags/IIS" rel="tag"&gt;IIS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/FTP" rel="tag"&gt;FTP&lt;/a&gt;,&lt;a href="http://technorati.com/tags/FTP7" rel="tag"&gt;FTP7&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Server%20Core" rel="tag"&gt;Server Core&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3080692" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/jorke/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://blogs.technet.com/jorke/archive/tags/Hosting/default.aspx">Hosting</category><category domain="http://blogs.technet.com/jorke/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.technet.com/jorke/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://blogs.technet.com/jorke/archive/tags/IIS7/default.aspx">IIS7</category><category domain="http://blogs.technet.com/jorke/archive/tags/Infrastructure/default.aspx">Infrastructure</category><category domain="http://blogs.technet.com/jorke/archive/tags/core/default.aspx">core</category><category domain="http://blogs.technet.com/jorke/archive/tags/FTP/default.aspx">FTP</category></item><item><title>reMIX 08 Australia</title><link>http://blogs.technet.com/jorke/archive/2008/04/30/remix-08-australia.aspx</link><pubDate>Wed, 30 Apr 2008 03:10:03 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3047255</guid><dc:creator>jorkeo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/jorke/comments/3047255.aspx</comments><wfw:commentRss>http://blogs.technet.com/jorke/commentrss.aspx?PostID=3047255</wfw:commentRss><wfw:comment>http://blogs.technet.com/jorke/rsscomments.aspx?PostID=3047255</wfw:comment><description>&lt;p&gt;&lt;a href="http://www.microsoft.com/australia/remix08/index.aspx" target="_blank"&gt;reMIX&lt;/a&gt; is back this year bigger and faster than ever. I know this is old news but I'm running a little behind at the moment.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/australia/remix08/index.aspx" target="_blank"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="107" alt="image" src="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/reMIX08Australia_8EEC/image_3.png" width="435" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Check out the &lt;a href="http://www.microsoft.com/australia/remix08/index.aspx" target="_blank"&gt;website&lt;/a&gt; and &lt;a href="https://www.local.microsoft.com.au/australia/events/register/home.aspx?levent=226239&amp;amp;linvitation" target="_blank"&gt;Register&lt;/a&gt; now for a bargain price of $199 (Inc GST) - we are doing 1 day in 2 cities:&lt;/p&gt;  &lt;h5&gt;&lt;b&gt;Sydney&lt;/b&gt;&lt;/h5&gt;&amp;#160;&amp;#160;&amp;#160; May 20   &lt;br /&gt;&amp;#160;&amp;#160; Powerhouse Museum  &lt;br /&gt;&amp;#160;&amp;#160; Harris Street, Ultimo   &lt;h5&gt;&lt;b&gt;Melbourne&lt;/b&gt;&lt;/h5&gt;  &lt;p&gt;&amp;#160;&amp;#160; May 22   &lt;br /&gt;&amp;#160;&amp;#160; Melbourne Town Hall    &lt;br /&gt;&amp;#160;&amp;#160; Cnr Swanston &amp;amp; Collins    &lt;br /&gt;&amp;#160;&amp;#160; Street, Melbourne&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/shanemo" target="_blank"&gt;Shanemo&lt;/a&gt; and &lt;a href="http://delicategeniusblog.com/" target="_blank"&gt;delicategenius&lt;/a&gt; are the content head honchos and have done an awesome job of pulling together great speakers and content - &lt;a href="http://www.microsoft.com/australia/remix08/sessions.aspx" target="_blank"&gt;checkout the session list&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;I've managed to land a &lt;a href="http://www.microsoft.com/australia/remix08/bios.aspx" target="_blank"&gt;speaking gig&lt;/a&gt; right before drinks!; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&amp;quot;Bringing Hosters and Developers together with IIS7&amp;quot;*&lt;/strong&gt; - Come learn about all the great new features in Microsoft Internet Information Services 7 for hosters and web farm managers including creating a highly customizable environment for building scalable and reliable media applications.*&lt;/p&gt;  &lt;p&gt;* subject to change!&lt;/p&gt;  &lt;p&gt;Many exciting things happening leading up to this, check &lt;a href="http://blogs.msdn.com/shanemo/archive/2008/04/22/win-a-silverlight-skateboard-oz-remix-silverlight-video-clip-contest.aspx" target="_blank"&gt;out your chance to win free tickets, a zune or a silverlight skateboard&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;- jorke&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:7ace2fc0-0d2e-4aa9-b527-dfd0240b3ba8" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/reMIX" rel="tag"&gt;reMIX&lt;/a&gt;,&lt;a href="http://technorati.com/tags/reMIX08" rel="tag"&gt;reMIX08&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Microsoft" rel="tag"&gt;Microsoft&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Silverlight" rel="tag"&gt;Silverlight&lt;/a&gt;,&lt;a href="http://technorati.com/tags/IIS7" rel="tag"&gt;IIS7&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Windows%20Server%202008" rel="tag"&gt;Windows Server 2008&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3047255" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/jorke/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.technet.com/jorke/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://blogs.technet.com/jorke/archive/tags/IIS7/default.aspx">IIS7</category><category domain="http://blogs.technet.com/jorke/archive/tags/partners/default.aspx">partners</category><category domain="http://blogs.technet.com/jorke/archive/tags/community/default.aspx">community</category><category domain="http://blogs.technet.com/jorke/archive/tags/events/default.aspx">events</category><category domain="http://blogs.technet.com/jorke/archive/tags/reMIX/default.aspx">reMIX</category></item><item><title>Hosting Days Australia - Coming to a City Near you!</title><link>http://blogs.technet.com/jorke/archive/2008/04/30/hosting-days-australia-coming-to-a-city-near-you.aspx</link><pubDate>Wed, 30 Apr 2008 02:36:24 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3047242</guid><dc:creator>jorkeo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/jorke/comments/3047242.aspx</comments><wfw:commentRss>http://blogs.technet.com/jorke/commentrss.aspx?PostID=3047242</wfw:commentRss><wfw:comment>http://blogs.technet.com/jorke/rsscomments.aspx?PostID=3047242</wfw:comment><description>&lt;p&gt;via &lt;a href="http://blogs.msdn.com/chlong/archive/2008/04/23/hosting-days-australia.aspx" target="_blank"&gt;Christian&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;This years Hosting Days is &amp;quot;Fast Tracking Your Success with FastLane&amp;quot; in a city somewhere close to you, unless you are in Darwin or Alice Springs or &lt;a href="http://en.wikipedia.org/wiki/Cameron%27s_Corner" target="_blank"&gt;Cameron's Corner&lt;/a&gt;....&lt;/p&gt;  &lt;p&gt;Phil and I have the first track, which is the fun track all about the HOW of hosting.&lt;/p&gt;  &lt;p&gt;Go to &lt;a href="https://partner.microsoft.com/australia/40048707"&gt;https://partner.microsoft.com/australia/40048707&lt;/a&gt; to see the agenda and &lt;a href="https://partner.microsoft.com/australia/40048707" target="_blank"&gt;register&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="https://partner.microsoft.com/australia/40048707" target="_blank" border="0"&gt;&lt;img src="https://partner.microsoft.com/binary/Australia/40061339" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;see you there!&lt;/p&gt;  &lt;p&gt;- jorke&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:727e1ada-5753-4de5-82d5-c81a3f956659" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Hosting%20Days" rel="tag"&gt;Hosting Days&lt;/a&gt;,&lt;a href="http://technorati.com/tags/partners" rel="tag"&gt;partners&lt;/a&gt;,&lt;a href="http://technorati.com/tags/events" rel="tag"&gt;events&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3047242" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/jorke/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://blogs.technet.com/jorke/archive/tags/Hosting/default.aspx">Hosting</category><category domain="http://blogs.technet.com/jorke/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.technet.com/jorke/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://blogs.technet.com/jorke/archive/tags/IIS7/default.aspx">IIS7</category><category domain="http://blogs.technet.com/jorke/archive/tags/partners/default.aspx">partners</category><category domain="http://blogs.technet.com/jorke/archive/tags/community/default.aspx">community</category><category domain="http://blogs.technet.com/jorke/archive/tags/events/default.aspx">events</category><category domain="http://blogs.technet.com/jorke/archive/tags/Hosting+Days/default.aspx">Hosting Days</category></item><item><title>Hacked Web Applications causing storm - rattling Windows...</title><link>http://blogs.technet.com/jorke/archive/2008/04/29/hacked-web-applications-causing-storm-rattling-windows.aspx</link><pubDate>Mon, 28 Apr 2008 16:01:35 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3046318</guid><dc:creator>jorkeo</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.technet.com/jorke/comments/3046318.aspx</comments><wfw:commentRss>http://blogs.technet.com/jorke/commentrss.aspx?PostID=3046318</wfw:commentRss><wfw:comment>http://blogs.technet.com/jorke/rsscomments.aspx?PostID=3046318</wfw:comment><description>&lt;p&gt;For the past few days a &amp;quot;Cyber attack&amp;quot; has been taking place and according to &lt;a href="http://www.internetnews.com/security/article.php/3742926/HalfMillion+IIS+Servers+Hit+in+Cyber+Attack.htm" target="_blank"&gt;internetnews.com&lt;/a&gt; : &lt;/p&gt;  &lt;p&gt;&lt;em&gt;&amp;quot;number of infected IIS &lt;strong&gt;servers&lt;/strong&gt; at 282,000. Less than a day later, security firm F-Secure wrote its own &lt;/em&gt;&lt;a href="http://www.f-secure.com/weblog/archives/00001427.html"&gt;&lt;em&gt;blog entry&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, putting the infestation at over 500,000&amp;quot;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;and &lt;a href="http://www.f-secure.com/weblog/archives/00001427.html" target="_blank"&gt;f-secure&lt;/a&gt; :&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&amp;quot;Performing a Google search results in over &lt;b&gt;510,000 modified pages&lt;/b&gt;.&amp;quot;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Without pointing out the reporting inconsistencies between &lt;strong&gt;servers&lt;/strong&gt; and &lt;strong&gt;pages&lt;/strong&gt; .... what is actually happening here.. &lt;/p&gt;  &lt;p align="center"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="132" alt="image" src="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/HackedWebApplicationscausingstormrattli_143A9/image_thumb.png" width="194" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;First of all its &lt;strong&gt;not at all&lt;/strong&gt; related to the &lt;a href="http://blogs.technet.com/jorke/archive/2008/04/18/potential-security-vulnerability-for-networkservice-potential-new-iis-exploit.aspx" target="_blank"&gt;security advisory&lt;/a&gt; that was released last week. &lt;u&gt;Nor is it in fact related to any other security issue with IIS, ASP, ASP.NET or Windows.&lt;/u&gt; It's really important to understand that, its all to do with dodgy and insecure development practices.&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/HackedWebApplicationscausingstormrattli_143A9/image_4.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="110" alt="image" src="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/HackedWebApplicationscausingstormrattli_143A9/image_thumb_1.png" width="394" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Well very simply put its an age old &lt;a href="http://en.wikipedia.org/wiki/Sql_injection" target="_blank"&gt;SQL injection&lt;/a&gt; attack on a web site that modifies the return code adding a hidden link to a site that downloads &lt;a href="http://en.wikipedia.org/wiki/Malware" target="_blank"&gt;malware&lt;/a&gt; to client viewing the web page. Nothing new technology wise here, just a new method of delivery - which really should not affect those who have kept their machines up-to-date.&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/HackedWebApplicationscausingstormrattli_143A9/image_6.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="89" alt="image" src="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/HackedWebApplicationscausingstormrattli_143A9/image_thumb_2.png" width="324" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;In this case the attackers have chosen to target ASP/ASPX based web sites that have poorly written validation methods and deliver their code via a database content management system. The result being that pages on the site will return a hidden script tag that directs to one of the sites listed in the &lt;a href="http://www.f-secure.com/weblog/archives/00001427.html" target="_blank"&gt;earlier articles&lt;/a&gt; - which picks on particular vulnerabilities available on the client machine, not just those related to software developed by Microsoft either.&lt;/p&gt;  &lt;p&gt;Well that's all very nice you say - but &lt;strong&gt;&amp;quot;How do I protect myself against these kind of attacks?&amp;quot;. &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The way I see it, there are three areas of responsibility where lies the ability to protect the world against those few malicious people.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1. &lt;/strong&gt;&lt;strong&gt;The Developer - FIX YOUR BROKEN CODE!&lt;/strong&gt; Seriously - check your code for possible attack vectors and test, test test. I've seen heaps of web sites and web servers compromised due to poorly written or no validation checking. Incorrect security settings deploying to high risk environments. Don't always assume you know who is going to access your app. Don't assume that app will exist with everything local to it. Catch those errors - I could go on. There is heaps of guidance around this - here is a few to start you off:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms994921.aspx" target="_blank"&gt;Web Development Best practices&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms998271.aspx" target="_blank"&gt;SQL injection mitigation&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;2.The Client - Keep your machine up-to-date &lt;/strong&gt;- as &lt;a href="http://blogs.msdn.com/acoat" target="_blank"&gt;Coatsy&lt;/a&gt; says &amp;quot;go to &lt;a href="http://update.microsoft.com" target="_blank"&gt;update.microsoft.com&lt;/a&gt; and Download the golden padlock of goodness&amp;quot; from Microsoft Update.&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/HackedWebApplicationscausingstormrattli_143A9/image_8.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="103" alt="image" src="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/HackedWebApplicationscausingstormrattli_143A9/image_thumb_3.png" width="291" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;3. The System Admin / Hoster / Guy who has to run the web server - &lt;/strong&gt;Hey I sympathise with you most (of course I would!) You have to get a site with poorly written code up and running, and &lt;strong&gt;now what&lt;/strong&gt;? you have to check the thing isn't going to compromise your server? but of course the code supplied doesn't work in your standard low security settings to you need to bend the rules to allow that code to work.. Be Strong! &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/wyts434y.aspx" target="_blank"&gt;ASP.NET trust levels&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms228096.aspx" target="_blank"&gt;Securing ASP.NET in Shared Server&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;But you may have been too late, and you have to clean this mess up on your server - how are you going to prevent this malicious code being delivered to and from your server, while keeping everything up and running?&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Stop the attack coming in&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;If you are using IIS7 or URLScan on IIS6.0/5.1 you can filter the request to prevent the incoming attacks. In IIS7 This is what the configuration string looks like in your server wide applicationhost.config file (based on the info in articles):&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;lt;requestFiltering&amp;gt;     &lt;br /&gt; &amp;lt;denyUrlSequences&amp;gt;      &lt;br /&gt;&amp;#160; &amp;lt;add sequence=&amp;quot;DECLARE%20@S%20NVARCHAR(4000);SET%20@S=CAST(0x440045004300&amp;quot; /&amp;gt;      &lt;br /&gt; &amp;lt;/denyUrlSequences&amp;gt;      &lt;br /&gt;&amp;lt;/requestFiltering&amp;gt;&lt;/font&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Stop it going out&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;This is a little trickier, but due to the awesome modularity of IIS7 (only going to look at this) you can very easily write a module that can look in all the requests scan for the URL sequence in the response and send it to null. More information on doing this &lt;a href="http://learn.iis.net/page.aspx/366/developing-iis7-modules-and-handlers-with-the-net-framework/" target="_blank"&gt;is at the IIS.NET website&lt;/a&gt;. Hey, if I get enough comments I'll write one and post it up here!&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Done and Dusted&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;What we all need to remember about these kind of attacks is that vulnerability in the web sites being targeted are not limited to just a particular operating system platform. SQL Injection attacks is rampant in many platform agnostic applications and its such a simple thing to prevent. &lt;/p&gt;  &lt;p&gt;As you have probably guessed I'm pretty passionate about this subject, and when I see such misguided reports and irrational reactions to incorrect or misunderstood information, it inspires me to ensure that the truth of the issue is available. Speaking personally; In my short time at Microsoft, I have never seen such commitment behind ensuring that the Windows Operating System is the most versatile and secure operating system on earth.&lt;/p&gt;  &lt;p&gt;- jorke&lt;/p&gt;  &lt;p&gt;Note: Graphics &amp;quot;borrowed&amp;quot; from &lt;a href="http://www.microsoft.com/japan/security/default.mspx" target="_blank"&gt;Microsoft Japan Security Bulletins&lt;/a&gt;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:6dcd4762-273d-4b56-ab20-751ee8adb6f3" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/SQL%20Injection" rel="tag"&gt;SQL Injection&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Security%20Vunerability" rel="tag"&gt;Security Vunerability&lt;/a&gt;,&lt;a href="http://technorati.com/tags/IIS" rel="tag"&gt;IIS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Windows" rel="tag"&gt;Windows&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Microsoft" rel="tag"&gt;Microsoft&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3046318" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/jorke/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://blogs.technet.com/jorke/archive/tags/Hosting/default.aspx">Hosting</category><category domain="http://blogs.technet.com/jorke/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.technet.com/jorke/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://blogs.technet.com/jorke/archive/tags/IIS7/default.aspx">IIS7</category><category domain="http://blogs.technet.com/jorke/archive/tags/.net/default.aspx">.net</category><category domain="http://blogs.technet.com/jorke/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blogs.technet.com/jorke/archive/tags/hosters/default.aspx">hosters</category><category domain="http://blogs.technet.com/jorke/archive/tags/security/default.aspx">security</category><category domain="http://blogs.technet.com/jorke/archive/tags/SQL+Injection/default.aspx">SQL Injection</category></item><item><title>Potential Security Vulnerability for NetworkService / potential new IIS exploit</title><link>http://blogs.technet.com/jorke/archive/2008/04/18/potential-security-vulnerability-for-networkservice-potential-new-iis-exploit.aspx</link><pubDate>Fri, 18 Apr 2008 11:25:39 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3039220</guid><dc:creator>jorkeo</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.technet.com/jorke/comments/3039220.aspx</comments><wfw:commentRss>http://blogs.technet.com/jorke/commentrss.aspx?PostID=3039220</wfw:commentRss><wfw:comment>http://blogs.technet.com/jorke/rsscomments.aspx?PostID=3039220</wfw:comment><description>&lt;p&gt;Important heads up with regards to a potential privilege escalation issue when running under NetworkService &amp;#8211; which we all know is the IIS default.... But also note that it requires native code or full trust .NET. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="4"&gt;Hosting Providers with Shared Hosting configurations&lt;/font&gt;&lt;/strong&gt; should pay careful attention to this and ensure that they are running a customised version of medium trust at the very least - &lt;a title="http://msdn2.microsoft.com/en-us/library/ms998341.aspx" href="http://msdn2.microsoft.com/en-us/library/ms998341.aspx"&gt;&lt;strong&gt;http://msdn2.microsoft.com/en-us/library/ms998341.aspx&lt;/strong&gt;&lt;/a&gt;. Also be wary of any custom ISAPI extensions - i.e do a code review.&lt;/p&gt;  &lt;p&gt;&lt;u&gt;&lt;strong&gt;High level summary:&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;Processes running under Network Service identity can elevate to Local System on XP, Win2k3, Vista and Win2k8. Additionally, on Win2k3 any process running with an identity that has SeImpersonatePrivilege can elevate to Local System, and this privilege is required by IIS worker process identity. &lt;b&gt;The Elevation of Privilege requires running native user code or full-trust managed code.&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Our guidance is of course to move your app move WPI away from NetworkService to a windows account. Additionally on Win2k3, our guidance includes disabling Distributed Transaction Coordinator service (to close the hole where any identity with SeImpersonatePrivilege can elevate).&lt;/p&gt;  &lt;p&gt;More information here: &lt;a href="http://www.microsoft.com/technet/security/advisory/951306.mspx"&gt;http://www.microsoft.com/technet/security/advisory/951306.mspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Let me know if you have any further questions or require advice.&lt;/p&gt;  &lt;p&gt;- jorke&lt;/p&gt;  &lt;p&gt;UPDATE (6:23pm 18/4/08): &lt;/p&gt; &lt;a href="http://www.adopenstatic.com/cs/blogs/ken/archive/2008/04/17/17399.aspx" target="_blank"&gt;Check out Ken Schaefer's Blog for the origin of this potential issue.&lt;/a&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:7f2bf51e-f7f4-4c90-9f8a-49d0dd23ceb1" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Security%20Vunerability" rel="tag"&gt;Security Vunerability&lt;/a&gt;,&lt;a href="http://technorati.com/tags/NetworkService" rel="tag"&gt;NetworkService&lt;/a&gt;,&lt;a href="http://technorati.com/tags/IIS" rel="tag"&gt;IIS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/exploit" rel="tag"&gt;exploit&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3039220" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/jorke/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://blogs.technet.com/jorke/archive/tags/Hosting/default.aspx">Hosting</category><category domain="http://blogs.technet.com/jorke/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.technet.com/jorke/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://blogs.technet.com/jorke/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blogs.technet.com/jorke/archive/tags/security/default.aspx">security</category></item><item><title>HUGE performance increases with PHP on Windows 2008</title><link>http://blogs.technet.com/jorke/archive/2008/04/14/huge-performance-increases-with-php-on-windows-2008.aspx</link><pubDate>Mon, 14 Apr 2008 05:54:57 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3036323</guid><dc:creator>jorkeo</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.technet.com/jorke/comments/3036323.aspx</comments><wfw:commentRss>http://blogs.technet.com/jorke/commentrss.aspx?PostID=3036323</wfw:commentRss><wfw:comment>http://blogs.technet.com/jorke/rsscomments.aspx?PostID=3036323</wfw:comment><description>&lt;p&gt;One of our local developers &lt;a href="http://www.dallasjclark.com/" target="_blank"&gt;Dallas J Clark&lt;/a&gt; (Brisbane local) blogged about an article that shows &lt;a href="http://www.dallasjclark.com/blog/?p=292" target="_blank"&gt;PHP with a 130% performance increase on Windows Server 2008&lt;/a&gt; - and of course there have been a few comments asking about the metrics of the comparison etc. So naturally I'm wading into to try and clear the water..&lt;/p&gt;  &lt;p&gt;I have to agree that there are a lot of unknowns and its difficult to do a competitive comparison with such little comparative data. What needs to be understood as that the results are for a specific case that the customer experienced, see the &lt;a href="http://cid-9720229c26829d90.skydrive.live.com/self.aspx/Public/Virtual%20Maps%20Case%20Study.pdf" target="_blank"&gt;case study right here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;The facts&lt;/strong&gt; are that Microsoft has spent a lot of time working with &lt;a href="http://www.zend.com/en/" target="_blank"&gt;Zend&lt;/a&gt; to ensure that PHP has been engineered to run well on Windows. &lt;/p&gt;  &lt;p&gt;The key difference to understand here is that you need to understand the execution architecture differences between *nix vs Windows, respectively multi-process vs multi-threaded. As CGI is designed for multi-process execution this can give pretty ordinary performance on Windows due to the threads/cycles involved in spinning up processes every time a request is processed by the web server. Of course you could attempt multi-threading using the ISAPI filter but ask what the results were from anyone who has tried :) &amp;#8211; especially when you are not using code you have written all yourself &amp;#8211; thus the best way to ensure reliable performance on Windows is to run via CGI &amp;#8211; which of course the performance is not optimal.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Now how has this changed;&lt;/strong&gt; IIS 7 has a &lt;a href="http://www.fastcgi.com/" target="_blank"&gt;FastCGI&lt;/a&gt; module as part of its install which by its design will make anything CGI based run faster, the idea being that it allows you to process multiple requests in the one connection and once the script has been processed the &lt;a href="http://www.fastcgi.com/" target="_blank"&gt;FastCGI&lt;/a&gt; process will keep running, waiting for more requests until its spun down as part of the web server.&amp;#160; So in this case using PHP, it eliminates the constant overhead of loading PHP into memory each time a request needs to be processed or course increasing the speed of the request. &lt;/p&gt;  &lt;p&gt;Also there are the &amp;#8220;NTS&amp;#8221; &lt;a href="http://www.php.net/downloads.php" target="_blank"&gt;non thread safe windows binaries of PHP&lt;/a&gt; that are available off the &lt;a href="http://php.net" target="_blank"&gt;php.net&lt;/a&gt; site - These binaries allow you to execute your code without needing to wait for thread synchronisation, meaning a HUGE performance increase. Couple this with FastCGI then you are you going to experiencing PHP running at a speed never before possible.&lt;/p&gt;  &lt;p&gt;To test this I ran a little test, for metrics sake this is Windows Server 2008 Enterprise running in Virtual PC 2007 - allocated 512MB of RAM. The host machine is a HP Compaq Laptop &lt;/p&gt;  &lt;p&gt;nc8430 Core 2 Duo @ 2.16Ghz and 4GB RAM, with a 7200 rpm disk, running Vista of course. My methodology was to grab a simple PHP site, run PHP with the standard CGI Module run a performance test, then change handler mapping to run the FastCGI Module and run the same performance test. The site I tested was on &lt;a href="http://qdig.sourceforge.net/Main/HomePage" target="_blank"&gt;Qdig&lt;/a&gt; and performance tests were using the &lt;a href="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1466" target="_blank"&gt;Web Capacity Analysis Tool (WCAT)&lt;/a&gt;. The metric measured was Get Requests / second, because this is an indication of how long the requests are taking before they need to be queued by the web server.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/HUGEperformanceincreaseswithPHPonWindows_B596/image_2.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="289" alt="image" src="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/HUGEperformanceincreaseswithPHPonWindows_B596/image_thumb.png" width="521" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;On the left - NTS PHP with CGIModule - maximum approx 30 rps&lt;/p&gt;  &lt;p&gt;On the right - NTS PHP with FastCGIModule - maximum approx 870 rps&lt;/p&gt;  &lt;p&gt;Of course your mileage will vary, but &lt;strong&gt;you will&lt;/strong&gt; have a comparable or &lt;strong&gt;better&lt;/strong&gt; experience than on other platforms. &lt;/p&gt;  &lt;p&gt;Questions?&lt;/p&gt;  &lt;p&gt;-jorke&lt;/p&gt;  &lt;p&gt;   &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:88c441f9-6c90-4130-afd2-6500e087273d" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PHP%20Performance" rel="tag"&gt;PHP Performance&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PHP" rel="tag"&gt;PHP&lt;/a&gt;,&lt;a href="http://technorati.com/tags/IIS%207" rel="tag"&gt;IIS 7&lt;/a&gt;,&lt;a href="http://technorati.com/tags/IIS" rel="tag"&gt;IIS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Windows%20Server%202008" rel="tag"&gt;Windows Server 2008&lt;/a&gt;,&lt;a href="http://technorati.com/tags/FastCGI" rel="tag"&gt;FastCGI&lt;/a&gt;,&lt;a href="http://technorati.com/tags/CGI" rel="tag"&gt;CGI&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3036323" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/jorke/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://blogs.technet.com/jorke/archive/tags/Hosting/default.aspx">Hosting</category><category domain="http://blogs.technet.com/jorke/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.technet.com/jorke/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://blogs.technet.com/jorke/archive/tags/IIS7/default.aspx">IIS7</category><category domain="http://blogs.technet.com/jorke/archive/tags/linux/default.aspx">linux</category><category domain="http://blogs.technet.com/jorke/archive/tags/CGI/default.aspx">CGI</category><category domain="http://blogs.technet.com/jorke/archive/tags/PHP/default.aspx">PHP</category><category domain="http://blogs.technet.com/jorke/archive/tags/FastCGI/default.aspx">FastCGI</category></item><item><title>MIX: IIS7 bring hosters and developers together</title><link>http://blogs.technet.com/jorke/archive/2008/03/08/mix-iis7-bring-hosters-and-developers-together.aspx</link><pubDate>Fri, 07 Mar 2008 22:19:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2974761</guid><dc:creator>jorkeo</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.technet.com/jorke/comments/2974761.aspx</comments><wfw:commentRss>http://blogs.technet.com/jorke/commentrss.aspx?PostID=2974761</wfw:commentRss><wfw:comment>http://blogs.technet.com/jorke/rsscomments.aspx?PostID=2974761</wfw:comment><description>&lt;P&gt;Attended a great presentation at MIX by &lt;A href="http://blogs.msdn.com/klevereblog/" target=_blank mce_href="http://blogs.msdn.com/klevereblog/"&gt;Tito Leverette&lt;/A&gt; Web Platform Architect Evangelist aka Hosting Guy from Atlanta and &lt;A href="http://blogs.msdn.com/robcamer/" target=_blank mce_href="http://blogs.msdn.com/robcamer/"&gt;Rob Cameron&lt;/A&gt; Developer Evangelist aka Dev Guy:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://sessions.visitmix.com/?selectedSearch=BT08" target=_blank mce_href="http://sessions.visitmix.com/?selectedSearch=BT08"&gt;Bring Hosters and Developers together with IIS7&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/MIXIIS7bringhostersanddeveloperstogether_9F18/image_2.png" mce_href="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/MIXIIS7bringhostersanddeveloperstogether_9F18/image_2.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=405 alt=image src="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/MIXIIS7bringhostersanddeveloperstogether_9F18/image_thumb.png" width=644 border=0 mce_src="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/MIXIIS7bringhostersanddeveloperstogether_9F18/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;I thought they did a great job of pointing out the differences between what a Dev guy wants and what hoster guy is going to give them :) Tito did a great job of giving the classic "BUT NARRR" then explaining why - but then again I am hoster biased...&lt;/P&gt;
&lt;P&gt;-jorke&lt;/P&gt;
&lt;DIV class=wlWriterSmartContent id=scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ec660dc7-27e6-4e8a-ad7a-4abd04da6fbb style="PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;Technorati Tags: &lt;A href="http://technorati.com/tags/IIS" rel=tag mce_href="http://technorati.com/tags/IIS"&gt;IIS&lt;/A&gt;,&lt;A href="http://technorati.com/tags/II7" rel=tag mce_href="http://technorati.com/tags/II7"&gt;II7&lt;/A&gt;,&lt;A href="http://technorati.com/tags/hosting" rel=tag mce_href="http://technorati.com/tags/hosting"&gt;hosting&lt;/A&gt;,&lt;A href="http://technorati.com/tags/developers" rel=tag mce_href="http://technorati.com/tags/developers"&gt;developers&lt;/A&gt;,&lt;A href="http://technorati.com/tags/Windows%20Server%202008" rel=tag mce_href="http://technorati.com/tags/Windows%20Server%202008"&gt;Windows Server 2008&lt;/A&gt;,&lt;A href="http://technorati.com/tags/Microsoft" rel=tag mce_href="http://technorati.com/tags/Microsoft"&gt;Microsoft&lt;/A&gt;,&lt;A href="http://technorati.com/tags/MIX08" rel=tag mce_href="http://technorati.com/tags/MIX08"&gt;MIX08&lt;/A&gt;&lt;/DIV&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2974761" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/jorke/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://blogs.technet.com/jorke/archive/tags/Hosting/default.aspx">Hosting</category><category domain="http://blogs.technet.com/jorke/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.technet.com/jorke/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://blogs.technet.com/jorke/archive/tags/IIS7/default.aspx">IIS7</category><category domain="http://blogs.technet.com/jorke/archive/tags/MIX08/default.aspx">MIX08</category></item><item><title>Rich Media @ MIX</title><link>http://blogs.technet.com/jorke/archive/2008/03/08/rich-media-mix.aspx</link><pubDate>Fri, 07 Mar 2008 21:57:45 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2974672</guid><dc:creator>jorkeo</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.technet.com/jorke/comments/2974672.aspx</comments><wfw:commentRss>http://blogs.technet.com/jorke/commentrss.aspx?PostID=2974672</wfw:commentRss><wfw:comment>http://blogs.technet.com/jorke/rsscomments.aspx?PostID=2974672</wfw:comment><description>&lt;p&gt;So I'm in vegas at &lt;a href="http://visitmix.com/" target="_blank"&gt;MIX08&lt;/a&gt; and have spent ages typing a post about some awesome new media delivery technologies that have been released when I noticed &lt;a href="http://blogs.iis.net/chriskno" target="_blank"&gt;Chris Knowlton&lt;/a&gt; - Senior Product Manager and the King of Windows Media Streaming had already done it! - check it out &lt;a href="http://blogs.iis.net/chriskno/archive/2008/03/06/exciting-media-announcements-at-mix08.aspx" target="_blank"&gt;here&lt;/a&gt; - &lt;a title="http://blogs.iis.net/chriskno/archive/2008/03/06/exciting-media-announcements-at-mix08.aspx" href="http://blogs.iis.net/chriskno/archive/2008/03/06/exciting-media-announcements-at-mix08.aspx"&gt;http://blogs.iis.net/chriskno/archive/2008/03/06/exciting-media-announcements-at-mix08.aspx&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;I love that the bit rate throttling was demo'd in the &lt;a href="http://visitmix.com/blogs/Joshua/Day-1-Keynote/" target="_blank"&gt;keynote&lt;/a&gt;, and I love more I managed to show it off before MIX - last Tuesday at the Melbourne &lt;a href="http://www.heroeshappen2008.com.au/" target="_blank"&gt;Heroes Launch&lt;/a&gt;!&lt;/p&gt;  &lt;p&gt;-jorke&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:07326818-ce9e-462a-b3cd-ee0987397f55" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Streaming" rel="tag"&gt;Streaming&lt;/a&gt;,&lt;a href="http://technorati.com/tags/MIX" rel="tag"&gt;MIX&lt;/a&gt;,&lt;a href="http://technorati.com/tags/MIX08" rel="tag"&gt;MIX08&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Microsoft" rel="tag"&gt;Microsoft&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Media%20Streaming" rel="tag"&gt;Media Streaming&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Bit%20rate%20throttling" rel="tag"&gt;Bit rate throttling&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2974672" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/jorke/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://blogs.technet.com/jorke/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.technet.com/jorke/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://blogs.technet.com/jorke/archive/tags/Streaming/default.aspx">Streaming</category><category domain="http://blogs.technet.com/jorke/archive/tags/MIX08/default.aspx">MIX08</category></item><item><title>Windows Server 2008 RTM!!!</title><link>http://blogs.technet.com/jorke/archive/2008/02/05/windows-server-2008-rtm.aspx</link><pubDate>Tue, 05 Feb 2008 02:57:38 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2827911</guid><dc:creator>jorkeo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/jorke/comments/2827911.aspx</comments><wfw:commentRss>http://blogs.technet.com/jorke/commentrss.aspx?PostID=2827911</wfw:commentRss><wfw:comment>http://blogs.technet.com/jorke/rsscomments.aspx?PostID=2827911</wfw:comment><description>&lt;p&gt;HOORAAYY! I've had many people asking me when Windows Server 2008 was going to RTM. So here it is: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/windowsserver/archive/2008/02/04/windows-server-2008-rtm.aspx"&gt;&lt;strong&gt;&lt;font size="4"&gt;Windows Server 2008 has officially RTM'd!!!!!&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Looking under MSDN/Technet subscriber downloads you can get it now:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/WindowsServer2008RTM_8C0B/image_2.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="48" alt="image" src="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/WindowsServer2008RTM_8C0B/image_thumb.png" width="596" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Huge congratulations to the Windows Server team, a bit time to sit back relax and then starting working on the next version!&lt;/p&gt;  &lt;p&gt;btw - if you have a Windows Server 2008 story, or you've deployed it and want to show off some cool stuff, let me know I have some schwage I need to giveaway!&lt;/p&gt;  &lt;p&gt;I wonder if the &lt;a href="http://blogs.technet.com/jorke/archive/2008/01/09/the-lone-server.aspx" target="_blank"&gt;lone server&lt;/a&gt; is going to happy about this....&lt;/p&gt;  &lt;p&gt;- jorke&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:0982f122-bd8d-409f-b375-d1e5da039d50" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/windows%20server%202008" rel="tag"&gt;windows server 2008&lt;/a&gt;,&lt;a href="http://technorati.com/tags/server%202008" rel="tag"&gt;server 2008&lt;/a&gt;,&lt;a href="http://technorati.com/tags/rtm" rel="tag"&gt;rtm&lt;/a&gt;,&lt;a href="http://technorati.com/tags/iis7" rel="tag"&gt;iis7&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2827911" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/jorke/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.technet.com/jorke/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://blogs.technet.com/jorke/archive/tags/IIS7/default.aspx">IIS7</category><category domain="http://blogs.technet.com/jorke/archive/tags/RTM/default.aspx">RTM</category></item><item><title>Microsoft Web Deployment Tool</title><link>http://blogs.technet.com/jorke/archive/2008/01/24/microsoft-web-deployment-tool.aspx</link><pubDate>Thu, 24 Jan 2008 03:54:52 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2773944</guid><dc:creator>jorkeo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/jorke/comments/2773944.aspx</comments><wfw:commentRss>http://blogs.technet.com/jorke/commentrss.aspx?PostID=2773944</wfw:commentRss><wfw:comment>http://blogs.technet.com/jorke/rsscomments.aspx?PostID=2773944</wfw:comment><description>&lt;p&gt;A &lt;a href="http://blogs.iis.net/msdeploy/" target="_blank"&gt;brand new IIS blog&lt;/a&gt; and a &lt;a href="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1602" target="_blank"&gt;shiny new tool&lt;/a&gt; in tech preview. Check out the tech preview of the&amp;#160; &lt;a href="http://blogs.iis.net/msdeploy/archive/2008/01/22/welcome-to-the-web-deployment-team-blog.aspx" target="_blank"&gt;Web Deployment Tool&lt;/a&gt; from the awesome IIS Team.&lt;/p&gt;  &lt;p&gt;This new tool is designed with migration from IIS 6.0 to IIS 7.0.&lt;/p&gt;  &lt;p&gt;Get it, try it, tell me what breaks, so far I've found it rock solid!&lt;/p&gt;  &lt;p&gt;- jorke&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a47715c9-0a8b-490f-a9eb-41a3f69937e6" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/IIS" rel="tag"&gt;IIS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Deployment%20tool" rel="tag"&gt;Deployment tool&lt;/a&gt;,&lt;a href="http://technorati.com/tags/hosting" rel="tag"&gt;hosting&lt;/a&gt;,&lt;a href="http://technorati.com/tags/IIS7.0" rel="tag"&gt;IIS7.0&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Microsoft" rel="tag"&gt;Microsoft&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2773944" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/jorke/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://blogs.technet.com/jorke/archive/tags/Hosting/default.aspx">Hosting</category><category domain="http://blogs.technet.com/jorke/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.technet.com/jorke/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://blogs.technet.com/jorke/archive/tags/IIS7/default.aspx">IIS7</category><category domain="http://blogs.technet.com/jorke/archive/tags/deployment+tool/default.aspx">deployment tool</category></item><item><title>iis7forheroes.com - from Emantra</title><link>http://blogs.technet.com/jorke/archive/2008/01/23/iis7forheroes-com-from-emantra.aspx</link><pubDate>Wed, 23 Jan 2008 10:07:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2771843</guid><dc:creator>jorkeo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/jorke/comments/2771843.aspx</comments><wfw:commentRss>http://blogs.technet.com/jorke/commentrss.aspx?PostID=2771843</wfw:commentRss><wfw:comment>http://blogs.technet.com/jorke/rsscomments.aspx?PostID=2771843</wfw:comment><description>&lt;P&gt;&lt;A href="http://www.emantra.com.au/" target=_blank mce_href="http://www.emantra.com.au"&gt;&lt;IMG height=61 alt=image src="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/iis7forheroes.comfromEmantra_F0C2/image_5.png" width=203 border=0 mce_src="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/iis7forheroes.comfromEmantra_F0C2/image_5.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;The guys at &lt;A href="http://www.emantra.com.au/" target=_blank mce_href="http://www.emantra.com.au/"&gt;Emantra&lt;/A&gt; pinged me today with a project we've been talking about for a while, and I'm stoked these guys have pulled this off!&lt;/P&gt;
&lt;P&gt;Go to their site &lt;FONT size=4&gt;&lt;STRONG&gt;&lt;A href="http://iis7forheroes.com/" target=_blank mce_href="http://iis7forheroes.com/"&gt;http://iis7forheroes.com/&lt;/A&gt;&lt;/STRONG&gt;&lt;/FONT&gt; and get yourself some of:&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#ff0000 size=5&gt;The first &lt;STRONG&gt;SHARED &lt;/STRONG&gt;IIS7.0 web hosting in Australia!&lt;/FONT&gt; &lt;FONT size=1&gt;(that I know of!)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/iis7forheroes.comfromEmantra_F0C2/image_2.png" mce_href="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/iis7forheroes.comfromEmantra_F0C2/image_2.png"&gt;&lt;IMG height=176 alt=image src="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/iis7forheroes.comfromEmantra_F0C2/image_thumb.png" width=226 border=0 mce_src="http://blogs.technet.com/blogfiles/jorke/WindowsLiveWriter/iis7forheroes.comfromEmantra_F0C2/image_thumb.png"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://iis7forheroes.com/" target=_blank mce_href="http://iis7forheroes.com/"&gt;Sign up on their site&lt;/A&gt; for a &lt;STRONG&gt;free&lt;/STRONG&gt; 1 month trial for shared web hosting on Windows Server 2008 with IIS 7.0&lt;/P&gt;
&lt;P&gt;Well done to Cam, Russ and Ross for a job well done, where can I get a shirt like the guy in the picture? :)&lt;/P&gt;
&lt;P&gt;- jorke&lt;/P&gt;
&lt;DIV class=wlWriterSmartContent id=scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c43914af-8a3e-4dac-ab19-6d84189fb4c4 style="PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;Technorati Tags: &lt;A href="http://technorati.com/tags/emantra" rel=tag mce_href="http://technorati.com/tags/emantra"&gt;emantra&lt;/A&gt;,&lt;A href="http://technorati.com/tags/hosting" rel=tag mce_href="http://technorati.com/tags/hosting"&gt;hosting&lt;/A&gt;,&lt;A href="http://technorati.com/tags/iis7" rel=tag mce_href="http://technorati.com/tags/iis7"&gt;iis7&lt;/A&gt;,&lt;A href="http://technorati.com/tags/iis7.0" rel=tag mce_href="http://technorati.com/tags/iis7.0"&gt;iis7.0&lt;/A&gt;,&lt;A href="http://technorati.com/tags/windows%20server%202008" rel=tag mce_href="http://technorati.com/tags/windows%20server%202008"&gt;windows server 2008&lt;/A&gt;&lt;/DIV&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2771843" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/jorke/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://blogs.technet.com/jorke/archive/tags/Hosting/default.aspx">Hosting</category><category domain="http://blogs.technet.com/jorke/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.technet.com/jorke/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://blogs.technet.com/jorke/archive/tags/IIS7/default.aspx">IIS7</category><category domain="http://blogs.technet.com/jorke/archive/tags/partners/default.aspx">partners</category><category domain="http://blogs.technet.com/jorke/archive/tags/hosters/default.aspx">hosters</category><category domain="http://blogs.technet.com/jorke/archive/tags/emantra/default.aspx">emantra</category></item></channel></rss>