Installation of IIS 7.0 • Chapter 13 737 World Wide Web Services The World Wide Web Services in Windows Vista and the Web Server role in Longhorn Server provide support for Web sites using HTML and optional support for ASP.NET, ASP, and other Web server extensions. This service gives servers running IIS 7.0 the ability to host Web sites and support Web-based applications. Unlike previous versions of IIS, administrators need to make informed decisions about what functionality is required for their servers. Installation of World Wide Web Services is relatively easy using either the Programs and Features method for Windows Vista or Server Manager for Longhorn Server in that you don’t have to know what dependencies are required. That is not the case for those using the command-line installation methods. When using those methods, you must know the features you want to install and their dependencies or your installations will fail. World Wide Web Services depend on the existence of the Windows Process Activation Service (WAS). Earlier we walked through setting up IIS via Server Manager in Longhorn Server. When we went through the installation we were prompted that the features we were installing required WAS, as shown in Figure 13.12. WAS provides all necessary infrastructure for a base level of process activation and management as well as an HTTP processing infrastructure. The World Wide Web Services feature is made up of fi ve sections with various modules underneath each one: ■ Application Development Features ■ Common HTTP Features ■ Health and Diagnostics ■ Performance Features ■ Security Table 13.2 Continued Module Description Depends On NetFxEnvironment Confi gurationAPI Metabase Installs the IIS metabase — and compatibility layer WMICompatibility Installs IIS 6.0 SMI — scripting interface LegacyScripts Installs IIS 6.0 Metabase confi guration scripts WMICompatibility LegacySnap-in Installs IIS 6.0 management — console 738 Chapter 13 • Installation of IIS 7.0 The next section covers these features and their modules in more detail. BEST PRACTICES ACCORDING TO MICROSOFT Microsoft highly recommends learning each and every feature set, its modules, and any dependencies. This reduces the risk of mistakes that can cause instability and poor performance on Web servers. SOME INDEPENDENT ADVICE Examine the feature sets and modules we’ve listed in this chapter. Also check out Microsoft’s article “IIS Setup Overview” at www.iis.net/default.aspx?tabid=2& subtabid=25&i=955 on Microsoft’s IIS Web site; it provides a great deal of information on IIS 7.0 setup in general. IIS 7.0 Modules It is no secret that IIS 6.0 installs with a large set of components, or dynamic linked libraries (DLLs.) The fashion of security offered in IIS 6.0 is to not enable features that the administrator doesn’t desire on a per-DLL basis. However, IIS 6.0 doesn’t offer the opportunity to fully remove the unused DLL but instead just the ability to ensure it doesn’t execute. This is important for administrators because they are the ones responsible for ensuring that Windows workstations and servers are patched appropriately. There is nothing more frustrating than installing patches for features not even used, yet the DLL still was installed. When you’re installing IIS 7.0, selecting no feature installs the appropriate DLLs for that feature, creating an environment where administrators need not patch features not installed. IIS 7.0 is based on more than 40 modules that cover the wide range of features offered by the Web server out of the box. In this section, we outline each module’s name, purpose, and dependencies to ensure that only the correct pieces are installed. Installation of IIS 7.0 • Chapter 13 739 IIS 6.0 was solid, secure, and powerful, but it wasn’t modular in design. Components that were not enabled still had their DLLs loaded in memory. This increased the size of the footprint and created headaches for administrators having to patch features they weren’t even using. Microsoft improved on this by loading only those modules in memory that were selected by the administrator, making them responsible for patching those specifi c modules only. Modules perform specifi c functions; they can stand alone or be part of a feature set. The onus is now on the administrator to understand the 40-plus modules offered in IIS 7.0 and correctly choosing the ones he or she needs. Although running setup through the user interface doesn’t require the knowledge of the modules and their dependencies, installing IIS via scripts and the command line does. Here we cover the most important ones and their dependencies. The Runtime Core “Bits” Administrators installing IIS 7.0 via the command line and through scripts must understand in detail what feature sets include what modules and their dependencies. Simply forgetting a dependent module for a feature set you require can mean the difference between a smooth installation and a nightmare implementation, especially if it is on a grand scale. On the other hand, if administrators install more than they need, they have needlessly increased their security footprint, causing additional maintenance through unneeded patching and decreasing performance. In IIS 7.0, you get what you install—it’s as simple as that. As the administrator, you have the control and, more important, the responsibility to install and maintain what is needed. Figure 13.29 lists all the setup features and their associated modules in IIS 7.0. We will discuss in detail the fi ve sections of the World Wide Web Services. We will describe each module and list any and all its dependencies. NOTE All IIS features have an implicit dependency with their parent. For instance, FTP Server depends on the FTP Publishing Service being enabled. Some IIS features, though, do depend on other IIS features for their functionality, and those are referred to as intra-dependencies. 740 Chapter 13 • Installation of IIS 7.0 Application Development Features The Application Development Features support the deployment of Web-based applications and dynamic content such as ASP.NET, ASP, ISAPI extensions, and fi lters. They also provide support for .NET extensibility, CGI executables, and fi les such as .stm, .shtm, and .shtml. The Application Development Features are made up of seven modules. Table 13.3 lists the modules available in the Application Development Features, with descriptions of each along with any dependencies required. Figure 13.29 IIS 7 Setup Features and Modules IIS 7.0 Setup Features and Modules BasicAuthModule DigestAuthModule WindowsAuthModule CertificateAuthModule AnonymousAuthModule IPSecurityModule UrlAuthroizationModule RequestFilteringModule IISCertificateMappingAuthe nticationModule Security Health and Diagnostics HttpLoggingModule CustomLoggingModule RequestMonitorModule HTTPTracingModule ODBCLogging LoggingLibraries NetFxExtensibility ISAPIModule ISAPIFilterModule CGIModule ServerSideIncludeModule ASP ASP.NET Application Development Performance HTTPStaticCompression HTTPDynamicCompression FTPServer FTPManagement FTP Publishing Management ManagementConsole ManagementScripting ManagementService Metabase WMICompatibility LegacyScripts LegacySnap -in Common HTTP Features StaticFileModule DefaultDocumentModule DirectoryListingModule HttpRedirect CustomErrorModule Windows Process Activation Service (WAS) ProcessModel NetFxEnvironment ConfigurationAPI Table 13.3 Application Development Features Modules Module Description Depends On NetFxExtensibility Enables Web servers NetFxEnvironment to host .NET Framework managed module extensions Installation of IIS 7.0 • Chapter 13 741 Common HTTP Features Common HTTP Features install support for static Web server content such as HTML and image fi les, custom errors, and redirection. Default Document and Static Content are two of the more important modules supported here. Table 13.4 lists the modules available for the Common HTTP Features under IIS 7.0. Table 13.3 Continued Module Description Depends On RequestFilteringModule ISAPIModule Allows ISAPI extensions to — handle client requests ISAPIFilterModule Allows ISAPI fi lters to — modify Web server behavior CGIModule Enables support for CGI — executables ServerSideInclude Module Provides support for .stm, . — shtm, and .shtml include fi les ASP Enables Web servers to host ISAPIModule classic ASP applications RequestFilteringModule ASP.NET Enables Web servers to host ASP.NET applications NetFxExtensibility NetFxEnvironment ISAPIModule ISAPIFilterModule RequestFilteringModule Table 13.4 Common HTTP Features Modules Module Description StaticFileModule Serves .htm, .html, and image fi les from a Web site DefaultDocumentModule Provides the ability to specify a default fi le to be loaded when users do not specify a fi le in a request URL Continued . require the knowledge of the modules and their dependencies, installing IIS via scripts and the command line does. Here we cover the most important ones and their dependencies. The Runtime Core. “Bits” Administrators installing IIS 7.0 via the command line and through scripts must understand in detail what feature sets include what modules and their dependencies. Simply forgetting a dependent. applications and dynamic content such as ASP.NET, ASP, ISAPI extensions, and fi lters. They also provide support for .NET extensibility, CGI executables, and fi les such as .stm, .shtm, and .shtml.