David Lowe Senior Product Planner Microsoft Corporation SVR304 Session Objectives And Takeaways Session Objective(s): Understand changes and new features in IIS 7.5 in Windows Server 2008 R2 Learn how IIS and IIS Extensions provide a solid foundation for the Microsoft Web Platform Web is a key pillar in Windows Server 2008 R2 with IIS 7.5 and .NET on Server Core IIS Extensions deliver additional value to the Microsoft Web Platform for administrators, developers and hosters Agenda IIS and the Microsoft Web Platform IIS 7.5 Enhancements in R2 IIS and ASP.NET on Server Core in R2 Remotely Managing IIS in R2 IIS Extensions for Development and Deployment The Microsoft Web Platform www.iis.net IIS.net Community Web App Gallery Web Platform Installer www.asp.net ASP.net Community Web Platform Installer www.microsoft.com/web Web Platform Installer V2.0 More Reliable More Control More Secure More Choice Increased availability through dynamic request handling, improved caching, and powerful troubleshooting tools Simplified, distributed management through set of customizable administration tools with easier application deployment for developers Improved security and server protection through reduced server footprint, enhanced publishing, and request filtering capabilities Flexible platform with enhanced support for multiple application development platforms and media content delivery Scalable Web Infrastructure Centralized Web Management Enhanced Server Protection Included ASP.NET & PHP Support Dynamic Caching & Compression Delegated Remote Management Secure Content Publishing Modular & Extensible Web Server Powerful Diagnostic Tools Easy Application & Server Deployment Improved Access Protection Integrated Media Platform Enhancing IIS Feature Set Extensions Add Further Functionality Extensions Add Further Functionality Some Extensions Integrated IIS 7.0 Platform IIS 7.5 Platform IIS 7.5 & New Features in R2 ASP.NET on Server Core Integrated Admin Pack Modules PowerShell Module & Cmdlets Configuration Logging & Tracing Integrated FTP and WebDAV Best Practices Analyzer .NET in Server Core in R2 .NET Framework in Server Core Subset of .NET 2.0 Subset of .NET 3.0 Windows Communication Framework (WCF) Windows Workflow Framework (WF) Subset of .NET 3.5 WF additions from 3.5 LINQ Subset of ASP.NET support for IIS Windows PowerShell support WoW64 for 32-bit support (R2 is 64-bit only!) Windows Server 2008 R2 Server Core Architecture Server, Server Roles (for example only) TS NAS ADFS WDS Etc… Server Core, Server Roles and Optional Features .NET .NET 2.0 3/3.5 DNS DHCP AD File PS ASP.NET WoW64 AD Print Media IIS 7 LDS Server Server Core Security, TCP/IP, File Systems, RPC, plus other Core Server Sub-Systems Hyper-V Server With .NetFx, Shell, Tools, etc. GUI, Shell, IE, Media, Mail, Etc. .NET Framework in Server Core WCF WF WPF CLR 2.0 ASP.NET LINQ CLR 3.0 Additions CLR 3.5 Additions Install ASP.NET on Server Core (New DISM Command) dism /online /enable-feature /featurename:IISWebServerRole /featurename:IIS-WebServer dism /online /enable-feature /featurename: IISCommonHttpFeatures /featurename:IIS-DefaultDocument /featurename:IIS-Security /featurename:IISRequestFiltering dism /online /enable-feature /featurename: IISApplicationDevelopment /featurename:IIS-ISAPIFilter /featurename:IIS-ISAPIExtensions /featurename:IISNetFxExtensibility dism /online /enable-feature /featurename: IIS-ASPNET ASP.NET on Server Core Remote Management of IIS Install the IIS Management Service dism /online /enable-feature /featurename:IIS-ManagementService Enable Remote Management HKLM\Software\Microsoft\WebManagement\Server Set EnableRemoteManagement to 1 Start the Management Service net start wmsvc Service is not set to start automatically sc config wmsvc start= auto Remote Management of Server Core IIS 7.0 / 7.5 Extensions New functionality for IIS enabled by modular and extensible architecture New modules for IIS Manager built using public Microsoft.Web.Administration APIs IIS team develops key Extensions for IIS Core runtime Web application lifecycle Media integration Official IIS Extensions are free, fully supported and available in four languages (FR, DE, ES, JA) IIS Extensions Available Extension Beta IIS FTP Service 7.5 (for IIS 7.0) IIS WebDAV 7.5 (for IIS 7.0) IIS Manager for Remote Administration IIS Administration Pack (for IIS 7.0) IIS Media Services IIS Web Deployment Tool IIS Database Manager IIS Advanced Logging IIS URL Rewriter IIS Application Request Routing UrlScan 3.1 (for IIS 5.1 / IIS 6.0) Windows PowerShell Snap-In (for IIS 7.0) Windows Cache Extension for PHP IIS Search Engine Optimization Toolkit IIS Application Warm-Up IIS Dynamic IP Restrictions RC (1.1) (1.0) (2.0) (2.0) www.iis.net/extensions RTW IIS Extensions Integrated in R2 Windows PowerShell Snap-In for IIS Implemented as Web Administration Module FTP Service 7.5 WebDAV 7.5 IIS Administration Pack Modules FastCGI Configuration Request Filtering Configuration Configuration Editor ASP.NET Authorization and Custom Errors FTP Service 7.5 Enables Web authors to publish content more easily and securely, and offers improved integration and management for hosters and administrators Benefits Publish securely and easily from IIS Manager via Internet standards Simplify hosting through integrated Web and FTP site management Improve security and auditing through new authentication providers and enhanced logging Features Integrated with IIS Manager Support for FTP over SSL Host FTP and Web content from same site by adding FTP binding Support for hosting multiple FTP sites on same IP address Improved virtual directory support Improved user isolation through per-user virtual directories Improved logging support Detailed error messages for end users and event tracing for server-side troubleshooting WebDAV 7.5 Enables Web authors to publish content more easily and securely, and offers better integration, configuration and authorization features Benefits Publish securely and easily from IIS Manager Configure publishing on a per-site level Improve security and auditing through custom authorization support Features Integrated with IIS Manager Support for HTTP over SSL Configuration can be done at the site-level rather than at the server-level as in IIS 6.0 Per-URL authoring rules, allowing administrators to specify custom WebDAV security settings on a per-URL basis Administration Pack Modules A collection of IIS modules that enhance the functionality of IIS Manager to help administer IIS Web servers Benefits Manage your configuration files with Configuration Editor Manage existing features with IIS Manager UI Extensions Features Generate code to automate tasks Scoped searches of the configuration system View key statistics about websites Default reports for administrators or delegated management Create custom reports FastCGI module allows management of FastCGI settings ASP.NET modules allow management of authorization and custom errors settings HTTP Request Filtering module IIS Extensions Integrated in R2 Windows PowerShell Module Allows IT professionals and hosters to easily automate complex IIS 7.5 administrative tasks effectively increasing the productivity of administrators Benefits Simplify the administration of your Web site by scripting tasks Execute repetitive administrative tasks across servers Improve your decision making by consolidating metrics from your servers in real-time Features Seamless integration into the PowerShell environment Low-level and task-based cmdlets specific to IIS that allows to: Add and change configuration properties of Web-Sites, Web Applications, Virtual Directories and Application Pools Execute advanced configuration tasks Query run-time data PowerShell Web Administration To use Web Administration module import-module WebAdministration cd IIS:\ IIS cmdlets High-level and low-level cmdlets for administration and modifying configuration Best Practice Analyzer cmdlets Start /w ocsetup BestPractices-PSH-Cmdlets import-module BestPractices Cmdlets are: get-bparesult invoke-bpamodel set-bparesult Windows PowerShell: Web Administration on Server Core PowerShell Scenarios for IIS(1) Add / remove / change: Applications Virtual directories Sites Application pools Add sites based on template Copy config and content of existing site / vdir to other site / vdir Configure SSL Find log file directory for site Change authentication settings of site / app / vdir Set IP restrictions on a site Recycle: Application pools IIS (IISRESET) Backup IIS configuration Activate sites (start/stop) Add bindings to existing website Convert folders to applications / vdirs Change AppPool account identities and passwords Unload web apps Configure redirection PowerShell Scenarios for IIS(2) Add / remove / reorder default document Change port number / IP address of a site binding Change physical path of a site Edit list of allowed Web Service Extensions Add new custom error page Register new: ISAPI filter / extension Native module / handler Managed module / handler (integrated pipeline/ISAPI mode) Add / remove / change MIME Map Monitor: Site status Executing requests Test site is up and running Find all stopped sites Find configuration setting Move log files Create new AppPool with recycling settings Lock section or element Change Application Pool of an application Running IIS Extensions on R2 IIS Web Deployment Tool Can be run on full and Server Core installations IIS URL Rewriter IIS Application Request Routing IIS Media Services IIS Search Engine Optimization Toolkit Web Deployment Tool Simplify the migration, management and deployment of IIS Web Servers, Web applications and Web sites. It can be used to package, synchronize IIS sites including content, configuration certificates and databases. Benefits Synchronize your server farm efficiently Package, archive and deploy Web applications more easily Migrate Web applications between IIS 6.0 / 7.0 / 7.5 with ease Features Integrated with IIS Manager and Visual Studio 2010 Ability to migrate the entire Web server, Web application or Web site Synchronizes only changed data Warns of missing dependencies during synchronization Automatically gathers content, configuration, certificates, Registry Keys, ASP.NET configuration Packages Web app or entire site Supports both live servers and zipped packages as source or target apps Administrative privileges are not required to deploy Web applications Web Deployment Tool IIS URL Rewriter Enables server administrators to create powerful rules to implement URLs that are easier for users to remember and easier for search engines to find. Benefits Easily define rules matching URLs and HTTP headers to generate more friendly and consistent URLs Protect content and assets from unauthorized linking and scanning Integrate with existing IIS features for management and performance http://www.site.com/photos.aspx?user=ben&id=5 http://www.site.com/photos/ben/5/ Features Integrated user interface Regular expression and wildcard pattern matching Global and distributed rules Access to server variables and HTTP headers Various rule actions including redirect and request abort Support for IIS kernel mode and user mode output caching Lower case conversion function Rewrite maps and rule templates Import Apache mod_rewrite rules IIS Application Request Routing Increases application and server availability by using load-balancing algorithms to implement proxy-based routing for incoming HTTP requests Benefits Balance loads across servers to maximize resource utilization Manage and monitor multiple servers and Web farms more easily through IIS Manager Create affinity for server requests by client or host name Features Rules-based routing engine examines HTTP requests Load balancing algorithms pick appropriate content server Health monitoring to determine the health of content servers Client affinity to direct all requests from a client to a specific server Host name affinity to streamline administration for content servers Management of server groups through IIS Manager Supports Failed Request Tracing V2 RC Versions Now Available IIS URL Rewriter V2 RC Rules-based response rewriting engine. Rewriting within the content of specific HTML tags. Pre-conditions for outbound rules. Setting of server variables and HTTP headers. Tracking capture groups across rule conditions. Logging of rewritten URLs. IIS Application Request Routing V2 RC Enhance ARR v1.0 scenarios with disk cache. Use ARR as a cache proxy as an edge cache. Search Engine Optimization Helps Web developers, hosting providers, and Web server administrators improve Web site relevance in search results by making site content more search enginefriendly. Use the Site Analysis module to see recommendations for optimization. Benefits Improve the volume and traffic to your site from search engines Control how search engines access and display Web content Inform search engines about locations available for indexing Features Site Analysis Features Fully-featured crawl engine View detailed summaries of analysis Rich Query Builder interface Detailed route analysis Robots Exclusion Features Robots display in friendly UI Support for filtering, grouping and sorting Ability to add sitemap locations Sitemap and Sitemap Index Features Display of sitemaps in simple UI Ability to add / remove /edit index files and new URLs in physical / logical views Search Engine Optimization Toolkit Additional IIS Enhancements IIS Application Warm-Up CLR Settings per Application Pool Configuration Logging and Tracing New Application Pool Identities and Managed Service Accounts Best Practices Analyzer IIS Application Warm-Up IIS process model is request driven To instantiate critical infrastructure and be more responsive certain applications need to be pre-loaded Application preload feature in IIS 7.5 allows applications to automatically start without a request Requires IIS Application Warm-Up extension See article on learn.iis.net for full instructions CLR Settings per App Pool ASP.NET settings stored in global ASPNET.config Can now create custom ASPNET.config files Specify location in applicationHost.config Local settings honored at runtime – can be UNC path E.g. set maximum number of threads, maximum number of requests or garbage collection settings Add the following in applicationHost.config file: <applicationPools> <add name="DefaultAppPool" CLRConfigFile="c:\myConfig\CLRConfigFile.txt" /> <add name="Classic .NET AppPool" managedPipelineMode="Classic" /> <applicationPools> Configuration Logging Tracing IIS 7.0 does not include any built-in tracing mechanism for configuration changes IIS in Windows Server 2008 R2 provides: Read / write auditing of configuration system Logging of events unrelated to Reads / Writes Logs kept under Applications and Services Applications and Services Logs > Microsoft > Windows > IISConfiguration Four logs: Administrative, Analytic, Debug, WriteAuditing By default, all logging is disabled Application Pool Identities All application pools run as NetworkService IIS in R2 (and backported to IIS 7.0) allows use of new “AppPool” identity IIS in R2 allows domain accounts for running services without management of passwords – Managed Service Accounts Identity type in IIS in R2 is set by default to 4 (App Pool Identity) versus 2 (Network Service) – NOT in IIS 7.0 / WS08 Best Practices Analyzer Seven criteria are checked for compliance 1-7 Best Practices Analyzer Web edition of Windows Server 2008 R2 Will include Web Server (IIS) and DNS roles Server Core installation supports ASP.NET Optimized for Internet-facing Web-serving environments not requiring authentication Can run Windows Media Services 2008, Windows SharePoint Services, Office SharePoint Server and SQL Server Does not require purchase of Client Access Licenses (CALs) or External Connector Reduced cost for Web scenarios Dedicated Web and DNS server Simplified licensing Supports 4 processors and 32 GB RAM (64 bit) Summary IIS is enhanced as IIS 7.5 in R2 Mostly integration of IIS Extensions .NET on Server Core is biggest change IIS team continues to invest in Extensions New Online Resources at MSCOM and IIS.net IIS 7.0 Content Articles, Walkthroughs, Blogs Downloads, Webcasts, Forums Customer Perspectives, Technical Resources, Links to Community Resources Resources www.microsoft.com/teched www.microsoft.com/learning Sessions On-Demand & Community Microsoft Certification & Training Resources http://microsoft.com/technet http://microsoft.com/msdn Resources for IT Professionals Resources for Developers Related Content Breakout Sessions (session codes and titles) WIA 201: Microsoft Web Platform Overview WIA 203: Streaming with IIS and Windows Media Services WIA 302: Architecting a Scalable Web Hosting Platform with IIS Hands-on Labs (session codes and titles) WUX07-HOL: Diagnosing and Troubleshooting Web Applications in IIS 7.0 WUX11-HOL: Scaling Out Your Web Infrastructure by Using Application Request Routing WSV15-HOL: Deploying and Managing ASP.NET Using IIS 7.5 on Server Core Complete an evaluation on CommNet and enter to win an Xbox 360 Elite! © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.