Contents tagged with IIS 6
-
Netcraft: IIS now serves 50 Million Hostnames!
I was going through some data on IIS webservers today and came across Netcraft, which is a website that gives monthly statistical data on webservers from different companies and some other interesting stuff. Not sure if this data can be taken official or not but what really excited me was the number of hostnames that were running on IIS.
Microsoft Web Server has hit the BIG number of 50 Million hostnames from which Netcraft has recieved response. Now, yes, I know what you must be thinking. We all have Intranet websites that run any of the web server technologies that might be listed out there. Those are not coming into account in this. A reason that could be considerate enough not to get this data on a sales pitch ... :)
Nevertheless, 50 Million hostnames is a huge number for anyone.
Source: Netcraft February WebServer Survey
Just to keep in spirit of this achievement I am now planning some informative articles on the latest and most powerful extensions that can be plugged in IIS 7.x
Have Fun!
PS: If any one can get me a link to an official statistical data for IIS, I would be more than happy to link to it. -
IIS Solution Center and More
Apparently a lot of people including me regularly search for support articles related to IIS for solutions. Today with no real work on hand I decided to save a few IIS related articles so that I can have a database at a central location. When I visited the Microsoft Support Solution center for IIS, I realised that a great location was already available with all the information. Solution Center as the name suggest is a central repository of not just the support articles but also a lot of great "How-To" articles on IIS. For some reason, I was not able to find the link for IIS 7 Solution Center, but below are the links for IIS 5, IIS 5.1 and IIS 6.
IIS 6 Solution Center
IIS 5, 5.1 Solution Center
At the bottom of the IIS 5 Solution center you will find a link for Information on the "Nimda" worm. Hmmm... Not sure if that gives correct information but it sure as hell reminds you of the mark it left... :)
For learning all the new stuff on IIS 7 ... do visit http://learn.iis.net/ and for questions: http://forums.iis.net/
Hope this helps. -
ASP.NET MVC Framework and IIS: What's the connection?
"Can you tell me as to how ASP.NET MVC is processed in IIS?" I came across this interesting question from a member of my audience when I was giving a session for Community Techdays a few days back. I am not much of an ASP.NET developer therefore as much as I would hate to I had to say "Let me get back to you later on that".So here's what I have figured out so far:
ASP.Net MVC or ASP.Net Model View Controller was introduced with .Net 3.5. The basic difference between an ASP.Net application and and ASP.Net MVC is that in ASP.Net, traditionally, the .Net framework maps the URL to a certain file on the disk (This file on disk has the code, that performs certain logic and also the markup to which is then sent to the requestor), whereas in ASP.NET MVC the URL is mapped to a controller where the controller class is responsible for handling various features of the request.
The mapping of these ASP.NET MVC URL's is handled by the ASP.NET routing engine. I am not going to go into how the MVC is executed. But for further details you can check this.
Lets look at it from an IIS perspective now. ASP.NET is executed in different ways in different versions of IIS. I will be covering IIS 6, IIS 7 and IIS 7 ... Yes I mention IIS 7 twice ... :) the 1st one is for IIS 7 with Integrated Pipeline mode and the 2nd one is for IIS 7 in Classic Mode. To know more IIS 7 processing features check my previous articles IIS : Changes from 6 to 7, IIS 6 and IIS 7 - How different are they?
In IIS 6 and IIS 7 Classic Mode, ASP.NET processing is not built-in with IIS. In very simple terms when IIS determines that the request is for ASP.NET, the request is mapped to aspnet_isapi.dll and from this point on the request is executed and the response is sent back. Therefore, an extension has a lot of importance in terms of IIS 6. Hence, for ASP.NET MVC applications to work we need to have a mechanism to map the ASP.NET MVC URL's to the aspnet_isapi.dll. This is acheived in one of the two ways mentioned below:
1.) Create a wildcard mapping for the ASP.NET MVC Application website in the way shown below:
(i) Right-click on the concerning website --> select Properties
(ii) Select the Home Directory tab
(iii) Click the Configuration button
(iv) Select the Mappings tab
(v) Click the Insert button
(vi) Give the path to the aspnet_isapi.dll in the Executable field. It's under C:\Windows\Microsoft.NET\Framework\v2.0.50727\, C:\ being your System Drive.
(vii) Uncheck the checkbox labeled Verify that file exists
(viii) Click the OK buttonNote: If you see the configuration tab to be greyed out, that means your application is not mapped to an Application Pool. Click on the Create button just above it and in the drop down below select an appropriate application pool.After this is done you need to make an addition in the global.asax file in your application as below:routes.MapRoute("Root", "", new { controller = "Home", action = "Index", id = "" });2.) The second method is to register the .mvc extension using registermvc.wsf with IIS from the following directory, C:\Program Files\Microsoft ASP.NET\ASP.NET MVC\ScriptsOnce that is done, modify you RegisterRoutes function in global.asax as follows:routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute("Default", "{controller}.mvc/{action}/{id}", new { action = "Index", id = "" });
routes.MapRoute("Root", "", new { controller = "Home", action = "Index", id = "" } );
Now your URL's should be as follows:
{controller}.mvc/{action}/{id}
/product.mvc/
Hope this helps. -
IIS Security: Semi-colons in URL
IIS security guy Nazim Lala has just blogged about a IIS 6 security issue, related to the use of Semi-colon (;) in a URL. It's not much of an issue if your IIS 6 server is properly configured. Good example of how Best practices can make your day. For more technical info do read the blog and check your servers for anything like that. It's always good to double check than to suffer right...
Have fun... Hopefully see you in new year!!!
Update: Info also present on MSRC Team Blog -
Why should I use Web Platform Installer?
This is one question I have often heard from a lot of people. I had written about this a long time back and yet find it interesting enough to give it another shot.
For those who are not aware... Web platform installer is a free tool from Microsoft which lets you download, install and configure tools and utilities under the Microsoft Web Platform umbrella. So that includes IIS, Web Tools and Extensions from Microsoft, Runtime Frameworks, Development tools (These are express editions ofcourse) and a lot of opensource frameworks and applications. More info at www.microsoft.com/web
I recently had a demo for an event and wanted to ready a few VM's on which of course I had to get IIS and a few other tools up and running. Once the basic OS's were installed I downloaded, installed and configured IIS, PHP, Web Developer Express Edition, SQL Express Edition and a few open source apps on 4 different machines in a matter of 1\2 hour. Sounds real fast and cool huh!
All I had to do was install web platform installer from http://www.microsoft.com/web/downloads/default.aspx on each of the machines, choose all that I wanted to and rest was taken care by WPI.
Some advantages I found of using WPI are:- I don't have to worry about dependencies.
- I don't have to worry about the IIS version. It works on IIS 6, IIS 7.
- If a certain IIS extension was made for IIS 7 then it doesn't show up when you are running Windows Server 2003.
- I don't need to know what are the latest IIS extensions from Microsoft. They are all mentioned in Web PI with their status (Beta, RC or Live Version).
- If a reboot is required then Web PI will come up automatically once you reboot and log in. This is cool because now it will continue from the place it left off.
- It does download and install simultaneously. Example: If you have selected 4 items to be installed, WPI will install the 1st item as soon as it is downloaded and start downloading the 2nd item simultaneously. Here again it is smart enough to go through the dependencies 1st and then to the actual item.
- User friendly.
- WPI has been successful in bringing a good mixture of both Microsoft and Non-Microsoft open source applications for us to take advantage off.
Other than this you can now(in V2) install and configure media components and include a custom feed (Example: feed of your enterprise application) as well from WebPI. Kateryna from IIS Team has more info on that here and here.
Note: For the people who have had hard time installing PHP on IIS 6 or IIS 7 you really should try it out through WEB PI. It feels like a walk in a park.
Have Fun! -
Where is the IIS Admin Service in IIS 7???
Question:
Hello, I am pretty new to IIS 7. I have just recently started working on IIS 7 test boxes at my office. I installed default IIS 7 and was very happy but I think I have missed something as I am not able to find the IIS Admin Service. However, my IIS box seems to be running fine. On my IIS 6 production box I can see the service and IIS 6 does not work at all without the IIS admin Service started. What am I missing?
It might sound a little new to you but IIS Admin Service in not required in IIS 7 for as long as you are not using IIS Metabase compatibility feature or FTP 6 publishing services.
The interesting fact is not that IIS can run without IIS admin service, but How ?:)
This is where you need to understand what is the role of IIS Admin Service and why that is not required in IIS 7. For the basics lets start with what are services in general. Services are basically programs that run in the background performing core operating system functions usually without any required input from the user. IIS Admin Service is one such service where in the user doesn't have to do anything.
Now coming to what IIS admin service does: IIS Admin service is responsible for managing the metabase (the configuration repository in IIS 5, 6). In IIS 6 metabase is in xml format and can be edited and read in plain text editors like Notepad. The service runs under inetinfo.exe and is governed by iisadmin.dll primarily. IIS admin service makes the metabase available to applications that are dependent on it including IIS core components as well.
Having said that the implementation of IIS admin service is pretty much the same in IIS 7 except that the configuration of IIS 7 is no more dependent on the Metabase. IIS 7 still stores its configuration in xml format, however, the schema and the depth of configuration and granularity is entirely different from what it was in IIS 6. Therefore IIS metabase is no more required in IIS 7 and exists only for compatibility reasons that is if you wish to install the IIS 6 compatibility components of IIS 7. The configuration is now stored in administration.config and applicationHost.config files which is at c:\windows\system32\inetsrv\config\. If you are familiar with .Net configuration then this will seem like a welcome change to you. IIS 7 configuration can also be governed via web.config files within your apps. For more info on the new architecture model check my previous post.
Hope this answers your question. -
Troubleshooting: Silverlight and IIS 6
If you have noticed Silverlight and IIS 6 do not go well by default. When we come to think of it, din't Silverlight come a long time after Windows Server 2003? Yes, but that doesn't mean that they do not support each other totally. It's just that the MIME types needed to run Silverlight are not present by default on IIS 6. So here's how to do add them:
--> Open up IIS manager
--> Right-click Server Name
--> Properties
--> Mime Types
--> New
and add the following 3 entires one after the other:
Extension : .xap Mime Type: application/x-silverlight-app
Extension: .xaml Mime Type: application/xaml+xml
Extension: .xbap Mime Type: application/x-ms-xbap
Once done with this, you should be good to go ...
Oh by the way, you would have to do the same if you are still running the RTM version of Vista (IIS 7). From Vista SP1 onwards this was taken care by default. More info at iis.net
Have Fun! -
IIS : Changes from 6 to 7
A few days back I was talking to a few Sys Admins and they asked me something, which I din’t get quite right at first attempt. Well the question was simple. We are planning to move from IIS 6 to IIS 7, could you let us know what are the differences? I told them all about how the new architecture came into place and how that benefits us. When I finally finished my talk. I realized they never wanted me to get into architecture. Their question was simple, Could you let us know what are the differences in IIS 6 and IIS 7 (As System Admins)?
That is when I understood as system administrators, knowing about the changes of the IIS 7 architecture is just the first step to understand the changes. Those of you who are still unaware of the architectural changes you might want to check the post I wrote some time back. However, this post will attempt to bring together the changes in IIS 7 with respect to IIS Installation, Configuration, Security, IIS Manager and so on.Note: The description is brief intended only to highlight the changes.
IIS Installation:
How is it different with IIS 6 installation? Well it’s not different it’s just more customizable. IIS 7 is broken down into more than 40 modules, which, can be selected depending on the configuration you want for your server. If there is a dependency for a particular module, that will be auto-selected by the setup process. Within Windows Vista IIS 7 can be installed from Turn windows Features on\off from the control panel and from Windows Server 2008 you can install the Web Server Role through the Server Manager.
IIS Configuration System:
The configuration system within IIS 7 has evolved from the flat property description as in IIS 6 to a much structured and easier to understand. IIS 6 used Metabase.xml file within %windir%\system32\inetsrv as its configuration store. IIS 6 Metabase compatibility has been maintained but focus should be paid on the new configuration as the changes it brings can really help you get going quickly. If you are familiar with the .Net configuration system then understanding the new IIS configuration will be much easier. The new files that you should be aware of regarding IIS configuration are:
At the root (or global) level, there are two separate files:
· system32\inetsrv\applicationHost.config: Holds the global defaults for web server (IIS) settings.
· \windows\microsoft.net\framework\v2.0.50727\config\machine.config: Holds the global defaults for the .NET framework settings, including some of the ASP.NET ones (the rest of them are in the web.config at the same folder, which is sometimes called the root web.config)
Apart from this, in the web content directories, there may be optional web.config files. These can be used to control the features for their level and downwards.
Security:
IIS 6 is known for it's by default lockdown and it has done wonders for a lot of system administrators. In regard to IIS 7 a lot of changes in the security model of the web server is in direct relation to the changes of it's core architecture itself. In IIS 6, security was performed in a dual-mode when dealing with ASP. Thanks to the new integrated pipeline structure within IIS 7, authentication and authorisation is taken up just once. For a clear understanding you could refer my previous post on IIS 7 architecture.
Additionally, IIS 7 brings in the new feature of Delegated Administration. Using delegated administration you could allow changes of certain levels to non-admin users. To top it, these users could be both Windows and non-Windows (local IIS users). For example, you could now make a user, administrator for a particular web server or website. This user does not have to be the administrator of the box. How cool is that for a change!
All previous forms of Authentication schemes are support on IIS 7 with Passport Authentication being the only exception. For details on how security schemes have changed in IIS 7 read the article on IIS.Net
IIS Manager:
IIS manager is be far my favorite change in IIS 7 not that I dint like it's IIS 6 UI but this is much cooler and user friendly. IIS manager has been built into it's familiar tree view on the left hand corner. The center pane can now be used to see what is know as the "content view" and the "features view". Content view shows you the content that the selected application or the virtual directory holds and the feautres view shows the available features for that selected virtual directory. And at the right hand corner you would find this very helpful set of commands available for the selected attribute.
This was just to get you started. Hope this helps! -
I am Back!
It's been long time I haven't been around. I was really busy with my current profile (interesting work you see!). Meanwhile lot of developement has taken place in the community around - new version with Win7 beta, lots of new extensions, lots of issues resolved. I will be covering more of this in the near future. But just to pump ourselves into momentum, I have collected few IIS Kb's that are interesting. Take a look at them.
Note: These are just part of my collection so they are pretty much related to IIS 5.0,5.1,6.0,7.0
Hope it helps:
321141 How To Disable or Remove Unnecessary IIS Services
309506 How To Perform an Unattended Installation of IIS 6.0
950573 FIX: Application domains restart unexpectedly in Internet Information Services 7.0
954874 IIS binds to all IP addresses on a server when you install IIS 7.0 on Windows Server 2008
954872 How to create and manage configuration backups in Internet Information Services 7.0
954756 You experience issues when you host a Web application that contains lots of ASP files in IIS
954857 The Windows Process Activation Service and the World Wide Web Publishing Service are set to a Stopped state after you install the .NET Framework 3.5 on a Windows Vista-based computer
954873 You may experience slow performance when you use Integrated Windows authentication together with the Kerberos authentication protocol in IIS 7.0
954847 IIS 6.0 returns path information that is incorrect when you use the WebDAV PROPFIND method
954755 How to configure intermediate certificates on a computer that is running IIS for server authentication
954856 BUG: You cannot install or uninstall a component in IIS 7.0
954875 An error message is displayed when you try to create a new application pool in Internet Information Services 7.0
954839 Events 4505 and 4506 are logged in the Security log when you turn on the metabase auditing feature in Internet Information Services 6.0
954841 Error message when you browse IIS 6.0 content in Internet Explorer: "The data is invalid"
941850 When you try to access files on a WebDAV site that uses only Digest authentication, the process may fail on a Windows Vista-based computer
942039 FIX: Visual Studio 2005 incorrectly creates a subfolder and moves a Web project to the newly created folder -
How To: IIS and Log Parser 2.2
As IIS administrators we come across many scenarios wherein we are asked to analyse the overall performance of a web server. There are various steps involved in it, however, analysing IIS log files without a proper tool can be a pain. It's very easy to get lost in the lines. Log Parser is a tool that I rely upon when it comes to manual IIS log file analysis. It's a cool tool that provides universal query access to text-based data, such as .log files. Log Parser can be downloaded from here.