Make Web, Not War - Installfest: Extend Your Web Server, Rodney Buike

4,155 views

Published on

Install Windows Server 2008 R2 RC (valid up to one year) and find out what's new in IIS and the Microsoft Web Platform. Then walk through a variety of Demos including ASP.NET & PHP on Server Core, Remote Management of Server Core, Windows PowerShell Web Administration on Server Core & Web Deployment Tool.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,155
On SlideShare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
23
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • 06/17/09 22:00 © 2007 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.
  • Make Web, Not War - Installfest: Extend Your Web Server, Rodney Buike

    1. 1. Rodney Buike Technology Advisor [email_address] http://www.thelazyadmin.com http://blogs.technet.com/canitpro Twitter: @rbuike
    2. 2. Today’s Goals <ul><li>Get Windows Server 2008 R2 installed with… </li></ul><ul><ul><li>IIS 7.5 </li></ul></ul><ul><ul><li>ASP.NET </li></ul></ul><ul><ul><li>PHP </li></ul></ul><ul><li>Discover what’s new in Server 2008 R2 web services </li></ul><ul><ul><li>.NET on Server Core R2 </li></ul></ul><ul><li>Learn what’s possible on the Windows platform </li></ul><ul><ul><li>Web Platform Installer </li></ul></ul><ul><ul><li>Remote Management and PowerShell </li></ul></ul><ul><ul><li>Best Practices </li></ul></ul>
    3. 3. <ul><li>Web edition of Windows Server 2008 R2 </li></ul><ul><ul><li>Will include Web Server (IIS) and DNS roles </li></ul></ul><ul><ul><li>Server Core installation supports ASP.NET </li></ul></ul><ul><li>Optimized for Internet-facing Web-serving environments not requiring authentication </li></ul><ul><li>Can run Windows Media Services 2008, Windows SharePoint Services, Office SharePoint Server and SQL Server </li></ul><ul><li>Does not require purchase of Client Access Licenses (CALs) or External Connector </li></ul>Supports 4 processors and 32 GB RAM (64 bit)
    4. 4. IIS 7.5 & New Features in R2 ASP.NET on Server Core PowerShell Module & Cmdlets Integrated FTP and WebDAV Integrated Admin Pack Modules Configuration Logging & Tracing Best Practice Analyzer
    5. 5. Enhancing IIS Feature Set Extensions Add Further Functionality Extensions Add Further Functionality FTP & WebDAV Integrated IIS 7.0 Platform IIS 7.5 Platform
    6. 6. IIS Extensions Available Extension Beta RC RTW 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)  Windows PowerShell Snap-In for IIS 7.0  IIS URL Rewriter  UrlScan 3.1 (for IIS 5.1 / IIS 6.0)  IIS Media Services 2.0  IIS Dynamic IP Restrictions  IIS Application Request Routing  (2.0)  (1.0) IIS Web Deployment Tool  IIS Database Manager  IIS Advanced Logging  Web Platform Installer  (2.0)  (1.0)
    7. 8. .NET 2.0 in Server Core <ul><li>Subset of .NET 2.0 on Server Core </li></ul><ul><ul><li>.NET functionality aligns with functionality in Server Core </li></ul></ul><ul><ul><li>Not installed by default in RC </li></ul></ul><ul><li>How to install if not already installed </li></ul><ul><ul><li>For 64-bit applications (R2 is 64-bit only) </li></ul></ul><ul><ul><ul><li>Start /w ocsetup NetFx2-ServerCore </li></ul></ul></ul><ul><ul><li>If 32-bit support is needed: </li></ul></ul><ul><ul><ul><li>Start /w ocsetup ServerCore-WOW64 </li></ul></ul></ul><ul><ul><ul><li>Start /w ocsetup NetFx2-ServerCore-WOW64 </li></ul></ul></ul>
    8. 9. .NET 3.x in Server Core <ul><li>.NET 3.0 functionality </li></ul><ul><ul><li>No WPF in Server Core </li></ul></ul><ul><li>.NET 3.5 functionality </li></ul><ul><ul><li>LINQ </li></ul></ul><ul><li>.NET 3.0 and 3.5 installed with a single package </li></ul><ul><ul><li>For 64-bit applications </li></ul></ul><ul><ul><ul><li>Start /w ocsetup NetFx3-ServerCore </li></ul></ul></ul><ul><ul><li>If 32-bit support is needed: </li></ul></ul><ul><ul><ul><li>Start /w ocsetup ServerCore-WOW64 </li></ul></ul></ul><ul><ul><ul><li>Start /w ocsetup NetFx3-ServerCore-WOW64 </li></ul></ul></ul>
    9. 10. Install ASP.NET on Server Core (IIS 7.0 on Server 2008 Core) <ul><li>start /w ocsetup IIS-WebServerRole;IIS-WebServer </li></ul><ul><li>start /w ocsetup IIS-CommonHttpFeatures;IIS-DefaultDocument;IIS-Security;IIS-RequestFiltering </li></ul><ul><li>start /w ocsetup IIS-ApplicationDevelopment;IIS-ISAPIFilter;IIS-ISAPIExtensions;IIS-NetFxExtensibility </li></ul><ul><li>start /w ocsetup IIS-ASPNET </li></ul>
    10. 11. Install ASP.NET on Server Core (IIS 7.5 on Server 2008 R2 Core) <ul><li>dism /online /enable-feature /featurename:IIS-WebServerRole /featurename:IIS-WebServer </li></ul><ul><li>dism /online /enable-feature /featurename: IIS-CommonHttpFeatures /featurename:IIS-DefaultDocument /featurename:IIS-Security /featurename:IIS-RequestFiltering </li></ul><ul><li>dism /online /enable-feature /featurename: IIS-ApplicationDevelopment /featurename:IIS-ISAPIFilter /featurename:IIS-ISAPIExtensions /featurename:IIS-NetFxExtensibility </li></ul><ul><li>dism /online /enable-feature /featurename: IIS-ASPNET </li></ul>
    11. 12. ASP.NET on Server Core
    12. 13. Install PHP on Server Core <ul><li>start /w ocsetup IIS-WebServerRole;WAS-WindowsActivationService;WAS-ProcessModel;IIS-CGI </li></ul><ul><li>Extract to C:PHP </li></ul><ul><li>Copy C:PHPPHP.ini.recommended to C:PHPPHP.ini </li></ul><ul><li>Edit PHP.ini </li></ul><ul><ul><li>Set fastcgi.impersonate = 1 </li></ul></ul><ul><ul><li>Set cgi.fix_pathinfo=1 </li></ul></ul><ul><ul><li>Set cgi.force_redirect = 0 </li></ul></ul><ul><ul><li>Set open_basedir to point to WWWROOT </li></ul></ul><ul><ul><li>Set extension_dir to point to “./ext” </li></ul></ul><ul><ul><li>Enable required PHP extensions </li></ul></ul><ul><ul><li>Run C:PHPPHP.exe –info to test </li></ul></ul>
    13. 14. PHP on Server Core
    14. 15. Web Platform Installer <ul><li>Download, install and update latest components of the Microsoft Web Platform </li></ul><ul><li>Install open source .NET and PHP web applications </li></ul>
    15. 16. Install WordPress with WPI
    16. 17. Remote Management of IIS <ul><li>Install the IIS Management Service </li></ul><ul><ul><li>dism /online /enable-feature /featurename:IIS-ManagementService </li></ul></ul><ul><li>Enable Remote Management </li></ul><ul><ul><li>HKLMSoftwareMicrosoftWebManagement Server </li></ul></ul><ul><ul><li>Set EnableRemoteManagement to 1 </li></ul></ul><ul><li>Start the Management Service </li></ul><ul><ul><li>net start wmsvc </li></ul></ul><ul><li>Service is not set to start automatically </li></ul><ul><ul><li>sc config wmsvc start= auto </li></ul></ul>
    17. 18. Remote Management of Server Core
    18. 19. PowerShell Web Administration <ul><li>To use Web Administration module </li></ul><ul><ul><li>import-module WebAdministration </li></ul></ul><ul><ul><li>cd IIS: </li></ul></ul><ul><li>IIS cmdlets </li></ul><ul><ul><li>High-level and low-level cmdlets for administration and modifying configuration </li></ul></ul><ul><ul><li>Best Practice Analyzer cmdlets </li></ul></ul><ul><ul><ul><li>Start /w ocsetup BestPractices-PSH-Cmdlets </li></ul></ul></ul><ul><ul><ul><li>import-module BestPractices </li></ul></ul></ul><ul><ul><li>Cmdlets are: </li></ul></ul><ul><ul><ul><li>get-bparesult </li></ul></ul></ul><ul><ul><ul><li>invoke-bpamodel </li></ul></ul></ul><ul><ul><ul><li>set-bparesult </li></ul></ul></ul>
    19. 20. IIS Best Practice Analyzer <ul><li>Seven criteria are checked for compliance </li></ul><ul><ul><li>1-7 </li></ul></ul>
    20. 21. Best Practices Analyzer
    21. 22. Web Deployment Tool <ul><li>Benefits </li></ul><ul><li>Synchronize your server farm efficiently </li></ul><ul><li>Package, archive and deploy Web applications more easily </li></ul><ul><li>Migrate Web applications between IIS 6.0 / 7.0 / 7.5 with ease </li></ul><ul><li>Features </li></ul><ul><li>Integrated with IIS Manager and Visual Studio 2010 </li></ul><ul><li>Ability to migrate the entire Web server, Web application or Web site </li></ul><ul><li>Synchronizes only changed data </li></ul><ul><li>Warns of missing dependencies during synchronization </li></ul><ul><li>Automatically gathers content, configuration, certificates, Registry Keys, ASP.NET configuration </li></ul><ul><li>Packages Web app or entire site </li></ul><ul><li>Supports both live servers and zipped packages as source or target apps </li></ul><ul><li>Administrative privileges are not required to deploy Web applications </li></ul><ul><li>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. </li></ul>
    22. 23. Web Deployment Tool
    23. 24. Additional IIS Enhancements <ul><li>IIS Application Auto-Start </li></ul><ul><li>CLR Settings per Application Pool </li></ul><ul><li>Configuration Logging and Tracing </li></ul><ul><li>New Application Pool Identities and Managed Service Accounts </li></ul>
    24. 25. Go Do’s <ul><li>Download Windows Server 2008 R2 RC </li></ul><ul><ul><li>microsoft.com/windowsserver2008 </li></ul></ul><ul><li>Install IIS, ASP.NET and PHP </li></ul><ul><ul><li>learn.iis.net </li></ul></ul><ul><li>Try the Web Platform Installer </li></ul><ul><ul><li>microsoft.com/web </li></ul></ul><ul><li>Tell us what you are doing! </li></ul><ul><ul><li>[email_address] </li></ul></ul>
    25. 26. Rodney Buike Technology Advisor [email_address] http://www.thelazyadmin.com http://blogs.technet.com/canitpro
    26. 28. FTP Service 7.5 <ul><li>Benefits </li></ul><ul><li>Publish securely and easily from IIS Manager via Internet standards </li></ul><ul><li>Simplify hosting through integrated Web and FTP site management </li></ul><ul><li>Improve security and auditing through new authentication providers and enhanced logging </li></ul><ul><li>Features </li></ul><ul><li>Integrated with IIS Manager </li></ul><ul><li>Support for FTP over SSL </li></ul><ul><li>Host FTP and Web content from same site by adding FTP binding </li></ul><ul><li>Support for hosting multiple FTP sites on same IP address </li></ul><ul><li>Improved virtual directory support </li></ul><ul><li>Improved user isolation through per-user virtual directories </li></ul><ul><li>Improved logging support </li></ul><ul><li>Detailed error messages for end users and event tracing for server-side troubleshooting </li></ul><ul><li>Enables Web authors to publish content more easily and securely, and offers improved integration and management for hosters and administrators </li></ul>
    27. 29. WebDAV 7.5 <ul><li>Benefits </li></ul><ul><li>Publish securely and easily from IIS Manager </li></ul><ul><li>Configure publishing on a per-site level </li></ul><ul><li>Improve security and auditing through custom authorization support </li></ul><ul><li>Features </li></ul><ul><li>Integrated with IIS Manager </li></ul><ul><li>Support for HTTP over SSL </li></ul><ul><li>Configuration can be done at the site-level rather than at the server-level as in IIS 6.0 </li></ul><ul><li>Per-URL authoring rules, allowing administrators to specify custom WebDAV security settings on a per-URL basis </li></ul><ul><li>Enables Web authors to publish content more easily and securely, and offers better integration, configuration and authorization features </li></ul>
    28. 30. Administration Pack Modules <ul><li>Benefits </li></ul><ul><li>Manage your configuration files with Configuration Editor </li></ul><ul><li>View key statistics about your website with IIS Reports </li></ul><ul><li>Manage existing features with IIS Manager UI Extensions </li></ul><ul><li>Features </li></ul><ul><li>Generate code to automate tasks </li></ul><ul><li>Scoped searches of the configuration system </li></ul><ul><li>View key statistics about websites </li></ul><ul><li>Default reports for administrators or delegated management </li></ul><ul><li>Create custom reports </li></ul><ul><li>FastCGI module allows management of FastCGI settings </li></ul><ul><li>ASP.NET modules allow management of authorization and custom errors settings </li></ul><ul><li>HTTP Request Filtering module </li></ul><ul><li>A collection of IIS modules that enhance the functionality of IIS Manager to help administer IIS Web servers </li></ul>
    29. 31. Windows PowerShell Module <ul><li>Benefits </li></ul><ul><li>Simplify the administration of your Web site by scripting tasks </li></ul><ul><li>Execute repetitive administrative tasks across servers </li></ul><ul><li>Improve your decision making by consolidating metrics from your servers in real-time </li></ul><ul><li>Features </li></ul><ul><li>Seamless integration into the PowerShell environment </li></ul><ul><li>Low-level and task-based cmdlets specific to IIS that allows to: </li></ul><ul><ul><li>Add and change configuration properties of Web-Sites, Web Applications, Virtual Directories and Application Pools </li></ul></ul><ul><ul><li>Execute advanced configuration tasks </li></ul></ul><ul><ul><li>Query run-time data </li></ul></ul><ul><li>Allows IT professionals and hosters to easily automate complex IIS 7.5 administrative tasks effectively increasing the productivity of administrators </li></ul>
    30. 32. PowerShell Scenarios for IIS(1) <ul><li>Add / remove / change: </li></ul><ul><ul><li>Applications </li></ul></ul><ul><ul><li>Virtual directories </li></ul></ul><ul><ul><li>Sites </li></ul></ul><ul><ul><li>Application pools </li></ul></ul><ul><li>Add sites based on template </li></ul><ul><li>Copy config and content of existing site / vdir to other site / vdir </li></ul><ul><li>Configure SSL </li></ul><ul><li>Find log file directory for site </li></ul><ul><li>Change authentication settings of site / app / vdir </li></ul><ul><li>Set IP restrictions on a site </li></ul><ul><li>Recycle: </li></ul><ul><ul><li>Application pools </li></ul></ul><ul><ul><li>IIS (IISRESET) </li></ul></ul><ul><li>Backup IIS configuration </li></ul><ul><li>Activate sites (start/stop) </li></ul><ul><li>Add bindings to existing web-site </li></ul><ul><li>Convert folders to applications / vdirs </li></ul><ul><li>Change AppPool account identities and passwords </li></ul><ul><li>Unload web apps </li></ul><ul><li>Configure redirection </li></ul>
    31. 33. PowerShell Scenarios for IIS(2) <ul><li>Add / remove / reorder default document </li></ul><ul><li>Change port number / IP address of a site binding </li></ul><ul><li>Change physical path of a site </li></ul><ul><li>Edit list of allowed Web Service Extensions </li></ul><ul><li>Add new custom error page </li></ul><ul><li>Register new: </li></ul><ul><ul><li>ISAPI filter / extension </li></ul></ul><ul><ul><li>Native module / handler </li></ul></ul><ul><ul><li>Managed module / handler (integrated pipeline/ISAPI mode) </li></ul></ul><ul><li>Add / remove / change MIME Map </li></ul><ul><li>Monitor: </li></ul><ul><ul><li>Site status </li></ul></ul><ul><ul><li>Executing requests </li></ul></ul><ul><li>Test site is up and running </li></ul><ul><li>Find all stopped sites </li></ul><ul><li>Find configuration setting </li></ul><ul><li>Move log files </li></ul><ul><li>Create new AppPool with recycling settings </li></ul><ul><li>Lock section or element </li></ul><ul><li>Change Application Pool of an application </li></ul>
    32. 34. IIS Application Auto-Start <ul><li>IIS process model is request driven </li></ul><ul><li>To instantiate critical infrastructure and be more responsive certain applications need to be pre-loaded </li></ul><ul><li>Application preLoad feature in IIS 7.5 allows applications to automatically start without a request </li></ul><ul><li>Add the following to applicationHost.config file: </li></ul><ul><ul><li><application path=&quot;/myapp&quot; preloadEnabled=&quot;true&quot;> <virtualDirectory path=&quot;/&quot; physicalPath=&quot;c:inetpubmyapp&quot;/> </application> </li></ul></ul><ul><li>Add the following to web.config file: </li></ul><ul><ul><li><preload> <add value=&quot;default.aspx&quot;/> </preload> </li></ul></ul>
    33. 35. CLR Settings per App Pool <ul><li>ASP.NET settings stored in global ASPNET.config </li></ul><ul><li>Can now create custom ASPNET.config files </li></ul><ul><ul><li>Specify location in applicationHost.config </li></ul></ul><ul><ul><li>Local settings honored at runtime – can be UNC path </li></ul></ul><ul><ul><li>E.g. set maximum number of threads, maximum number of requests or garbage collection settings </li></ul></ul><ul><li>Add the following in applicationHost.config file: </li></ul><ul><ul><li><applicationPools> <add name=”DefaultAppPool” CLRConfigFile=”c:myConfigCLRConfigFile.txt” /> <add name=&quot;Classic .NET AppPool“ managedPipelineMode=&quot;Classic&quot; /> <applicationPools> </li></ul></ul>
    34. 36. Configuration Logging Tracing <ul><li>IIS 7.0 does not include any built-in tracing mechanism for configuration changes </li></ul><ul><li>IIS in Windows Server 2008 R2 provides: </li></ul><ul><ul><li>Read / write auditing of configuration system </li></ul></ul><ul><ul><li>Logging of events unrelated to Reads / Writes </li></ul></ul><ul><li>Logs kept under Applications and Services </li></ul><ul><ul><li>Applications and Services Logs > Microsoft > Windows > IIS-Configuration </li></ul></ul><ul><li>Four logs: </li></ul><ul><ul><li>Administrative, Analytic, Debug, WriteAuditing </li></ul></ul><ul><li>By default, all logging is disabled </li></ul>
    35. 37. Application Pool Identities <ul><li>All application pools run as NetworkService </li></ul><ul><ul><li>Enables token kidnapping scenarios </li></ul></ul><ul><li>IIS in R2 (and backported to IIS 7.0) will allow use of new “AppPool” identity </li></ul><ul><li>IIS in R2 will also allow domain accounts for running services without management of passwords – Managed Service Accounts </li></ul><ul><li>Identity type in IIS in R2 will be set by default to 4 (App Pool Identity) versus 2 (Network Service) – NOT in IIS 7.0 / WS08 </li></ul>
    36. 38. © 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.

    ×