Windows Vista
Windows 7
Windows Azure
Windows Server
Windows Phone
Windows Server

Planning the Installation : Installation Scenarios for IIS 7.0 (part 3) - Server Core Web Edition Server Workload

12/23/2011 6:29:51 PM
Server Core Web Edition Server Workload

Windows Server 2008 introduces Server Core, which is a complete command line shell operating system.


A good introduction to IIS 7.0 Server Core is available at http://www.iis.net/articles/view.aspx/IIS7/Explore-IIS7/Getting-Started/IIS7-on-Server-Core.

Server Core provides an installation option that produces a server that can be treated as an appliance. Traditional UI components such as Microsoft Internet Explorer and Windows Media Player are not installed. Server Core Web Edition is perfect for hosting IIS 7.0 when you want to support classic ASP; static, PHP-based; Internet Server Application Programming Interface (ISAPI); and other Web applications that do not require .NET. Server Core does not include ASP.NET and .NET functionality. Even without ASP.NET, you can use Server Core Web Edition for various workloads. For example, you can use Server Core to serve images. Only two modules are required for this server workload: the StaticFileModule and AnonymousAuthenticationModule. The following example shows the power and flexibility of the IIS 7.0 modular architecture.

Installing IIS 7.0 on Server Core Web Edition

To install IIS 7.0 on Server Core Web Edition, follow these steps:

Install Server Core Web Edition and configure the Server Core instance with an IP address. You’ll need two commands to configure your server with an IP address. Enter the following command at a command prompt:

netsh interface ipv4 show interfaces

The output is similar to the following:

Idx  Met   MTU   State        Name
--- --- ----- ----------- -------------------
2 10 1500 connected Local Area Connection
1 50 4294967295 connected Loopback Pseudo-Interface

Next, enter the following command at the command prompt (replace the IP information with appropriate values for your environment):

netsh interface ipv4 set address name="2" source=static
address= mask= gateway=

Now, to perform a default installation of IIS 7.0, run the following command at the command prompt:

start /w pkgmgr /iu:IIS-WebServerRole;WAS-WindowsActivationService;

Back up the current ApplicationHost.config file by running the following command at the command prompt:

%windir%\System32\Inetsrv\appcmd add backup "ContosoComConfig"

Open the file %windir%\System32\Inetsrv\Config\ApplicationHost.config in Notepad. To do this, you can type the following from the command line:

Notepad %windir%\system32\inetsrv\config\applicationHost.config

Locate the Global Modules section and change it as follows:

<add name="StaticFileModule"
image="%windir%\system32\inetsrv\static.dll" />
<add name="AnonymousAuthenticationModule"
image="%windir%\system32\inetsrv\authanon.dll" />
<add name="HttpLoggingModule"
image="%windir%\system32\inetsrv\loghttp.dll" />

Locate the Modules section in ApplicationHost.config and change it to match the following:

<add name="StaticFileModule" lockItem="true" />
<add name="AnonymousAuthenticationModule" lockItem="true" />
<add name="HttpLoggingModule" lockItem="true" />

Open a browser from a remote machine and visit http://<IPAddressOfServerCore>/welcome.png.

This should display the Welcome message.

From a command prompt on the Server Core, you can verify that just three modules related to IIS 7.0 are loaded. To do so, run the following command from the command prompt:

tasklist /m /fi "Imagename eq w3wp.exe"

The resulting output should look like this:

Image Name                    PID Modules
========================= ======== ============================================
w3wp.exe 1108 ntdll.dll, kernel32.dll, ADVAPI32.dll,
RPCRT4.dll, msvcrt.dll, USER32.dll,
GDI32.dll, ole32.dll, IISUTIL.dll,
CRYPT32.dll, MSASN1.dll, USERENV.dll,
Secur32.dll, WS2_32.dll, NSI.dll,
IMM32.DLL, MSCTF.dll, LPK.DLL, USP10.dll,
SAMLIB.dll, w3wphost.dll, OLEAUT32.dll,
nativerd.dll, XmlLite.dll, IISRES.DLL,
rsaenh.dll, CLBCatQ.DLL, mlang.dll,
comctl32.dll, SHLWAPI.dll, iiscore.dll,
W3TP.dll, w3dt.dll, HTTPAPI.dll, slc.dll,
faultrep.dll, VERSION.dll, mswsock.dll,
dhcpcsvc.DLL, WINNSI.DLL, dhcpcsvc6.DLL,
wshtcpip.dll, wship6.dll, static.dll,
authanon.dll, loghttp.dll

Notice the last three dynamic-link libraries (DLLs) are static.dll, authanon.dll, and loghttp.dll. The DLLs are loaded in the same order as they are listed in the ApplicationHost.config file. The other modules are related to the operating system.

This example demonstrates a lightweight yet flexible server that can serve images and log the hits in standard IIS logs. You can use your normal Web reporting tools to track the images being served.


Back up your ApplicationHost.config file whenever you manually edit the file. Doing so allows you to restore your server to its original state if a problem should occur. You would not make it a regular task to restore your ApplicationHost.config file, however; you would only run the restore command if there was an issue, or for this example, to restore your server to its original state.


For more information about administering IIS 7.0 on Server Core installations of Windows Server 2008, go to http://blogs.iis.net/metegokt/archive/2007/06/26/administering-iis7-on-server-core-installations-of-windows-server-2008.aspx.

Other -----------------
- Planning the Installation : Installation Scenarios for IIS 7.0 (part 2) - IIS Managed Modules and .NET Extensibility Server Workload & IIS Full Install
- Sharepoint 2010 : Configuring Crawls (part 3) - Using Server Name Mappings & Controlling Host Distribution
- Sharepoint 2010 : Configuring Crawls (part 2) - Creating and Managing Crawl Rules
- Sharepoint 2010 : Configuring Crawls (part 1) - Creating and Managing Content Sources
- Windows Server 2003 : Creating and Enforcing Security Policies (part 3) - Microsoft Baseline Security Analyzer
- Windows Server 2003 : Creating and Enforcing Security Policies (part 2) - Security Configuration and Analysis
- Windows Server 2003 : Creating and Enforcing Security Policies (part 1) - Using Security Policy Templates
- Microsoft Dynamic CRM 4.0 : MapPoint Integration (part 2) - MapPoint Web Services
- Microsoft Dynamic CRM 4.0 : MapPoint Integration (part 1) - MapPoint 2009
- Microsoft Dynamic CRM 4.0 : Microsoft Live Search Maps
Top 10
- Sharepoint 2013 : New Installation and Configuration - Configuring Your SharePoint Farm
- Microsoft Dynamics CRM 4.0 : SharePoint Integration - Store Attachments in SharePoint Using a Custom Solution
- Migrating to Exchange Server 2007 : Migrating from Exchange 2000 Server or Exchange Server 2003 to Exchange Server 2007 (part 2)
- Maintaining Windows 7 : Check Your Hard Drive for Errors
- Personalizing and Configuring Windows 7 : The Windows 7 User Interface (part 3) - Branding Windows 7 like a PC Maker
- Duplicating and Copying DVDs (part 2) - Ripping DVDs to the PC
- Windows Phone 8 : Configuring Basic Device Settings - Wi-Fi Networking (part 2) - Removing Known Networks
- Client Access to Exchange Server 2007 : Using Outlook 2007 Collaboratively (part 1)
- Windows Phone 7 : AlienShooter Enhancements (part 2) - Tombstone Support, Particle System
- Microsoft Exchange Server 2007 : Single Copy Clusters (part 2) - Installing Exchange Server 2007 on the Active Node
Popular tags
Microsoft Access Microsoft Excel Microsoft OneNote Microsoft PowerPoint Microsoft Project Microsoft Visio Microsoft Word Active Directory Biztalk Exchange Server Microsoft LynC Server Microsoft Dynamic Sharepoint Sql Server Windows Server 2008 Windows Server 2012 Windows 7 Windows 8 windows Phone 7 windows Phone 8
programming4us programming4us
Popular keywords
HOW TO Swimlane in Visio Visio sort key Pen and Touch Creating groups in Windows Server Raid in Windows Server Exchange 2010 maintenance Exchange server mail enabled groups Debugging Tools Collaborating
programming4us programming4us
PS4 game trailer XBox One game trailer
WiiU game trailer 3ds game trailer
Natural Miscarriage
Windows Vista
Windows 7
Windows Azure
Windows Server
Game Trailer