Before migrating your existing IIS 4.0 Web site, ensure that the Web site and its components are compatible with Windows Server2003 and IIS 6.0. Follow these steps to prepare for migration:
Determine whether your existing system hardware is compatible with Windows Server 2003.
Gather information about your existing server running Windows NT Server 4.0 and about the Web site that you are going to migrate.
Identify the steps of the migration process that you must perform manually after you run the IIS 6.0 Migration Tool.
If you currently use setup programs or provisioning scripts on the source server and you intend to continue using them after migration, ensure that the setup programs and provisioning scripts are compatible with Windows Server2003 and IIS 6.0.
In some cases, the configuration of a Web site might require you to migrate the Web site to IIS 6.0 running in IIS 5.0 isolation mode. In that case, you cannot follow the steps in this chapter to perform the migration. For more information about migrating Web sites to IIS 6.0 running in IIS 5.0 isolation mode, see Migrating IIS Web Sites to IIS 6.0 in Deploying Internet Information Services (IIS) 6.0 of the Microsoft Windows Server 2003 Deployment Kit (or see Migrating IIS Web Sites to IIS 6.0 on the Web at http://www.microsoft.com/reskit).
At a minimum, your existing system hardware must be compatible with Windows Server2003 before you migrate the Web site to IIS 6.0. Therefore, you must identify any hardware devices that are incompatible with Windows Server2003.
When you select the computer that will be the target server, ensure that the computer is compatible with Windows Server2003. The most common hardware incompatibility is a device driver that is no longer supported or is not yet supported in Windows Server2003. When a device is no longer supported, remove the existing device and then install an equivalent device that is supported by Windows Server2003. When a device is not supported, look for updated drivers on the device manufacturer s Web site. It is also important that you have the latest BIOS version that is available from your computer manufacturer.
For example, the target server might have a network adapter that is not included with Windows Server2003. You can review the manufacturer s Web site to obtain a driver that is compatible with Windows Server2003.
For more information about the hardware devices supported by the Windows Server2003 operating systems, see the Hardware Compatibility List on the product CD-ROM or see the Hardware Compatibility List link on the Web Resources page at http://www.microsoft.com/windows/reskits/webresources.
Before you migrate your Web site content, you must know the following information about the server and Web site:
The name of the source server
The friendly name of your Web site
Whether your Web site will run correctly in IIS 6.0 worker process isolation mode
Whether any applications on your Web site require Inetinfo.exe
Whether ASP pages on your Web site use relative parent paths in their #include statements
When you run the IIS 6.0 Migration Tool, you must provide the name of the source server.
To determine the name of the source server
Open Administrative Tools, and then click Server Manager .
On the Server Manager dialog box, note the server name displayed in the Computer column.
When you run the IIS 6.0 Migration Tool, you must provide the friendly name of your Web site so the site and its contents migrate correctly.
To determine the friendly name of your Web server on IIS 4.0
Open Administrative Tools, and then click Windows NT 4.0 Option Pack .
Click Microsoft Internet Information Server , and then click Internet Service Manager .
In the console tree, double-click Internet Information Server . The friendly name of the Web site appears as a node under the Internet Information Server node.
Application isolation separates Web sites and applications so that a failure in one Web site or application does not affect other Web sites and applications running on the same Web server. IIS 6.0 can run in one of the following application isolation modes:
Worker process isolation mode. This mode uses the redesigned architecture for IIS 6.0 to run all application code in an isolated environment. This mode is compatible with most existing Web sites. In this mode, applications run under the Network Service account, which has a lower level of privileges than the Local System account that is used by applications on IIS 4.0. The Local System account enables access to and the ability to alter the resources on the system. Whenever possible, configure IIS 6.0 to run in worker process isolation mode to benefit from the enhanced performance and security in IIS 6.0.
IIS 5.0 isolation mode . This mode provides compatibility for applications that depend on the architecture of earlier versions of IIS. Run IIS in this mode only when a Web site cannot run in worker process isolation mode (that is, the application must run under the Local System account) and run it only until the compatibility issues are resolved.
IIS 6.0 cannot run both application isolation modes simultaneously on the same server. Therefore, on a single server running IIS 6.0, you cannot run some Web applications in worker process isolation mode and others in IIS 5.0 isolation mode. If you have applications that require separate modes, you must run them on separate servers.
For more information about modifying configuring IIS 6.0 to run in IIS 5.0 isolation mode, see Migrating IIS Web Sites to IIS 6.0 in Deploying Internet Information Services (IIS) 6.0 of the Microsoft Windows Server 2003 Deployment Kit (or see Migrating IIS Web Sites to IIS 6.0 on the Web at http://www.microsoft.com/reskit).
Many applications that run on Windows NT Server 4.0 and IIS 4.0 run in-process with Inetinfo.exe. If this is true of some of your Web site content, you must either migrate that content to IIS 6.0 running in IIS 5.0 isolation mode; or you must rewrite the content so that Inetinfo.exe is not required, and then migrate the content to IIS 6.0 running in worker process isolation mode.
If your Web site contains ASP pages, you must ensure that the #include statements in those pages do not use relative parent paths to refer to files that must be included in the .asp page. Relative parent paths present a security risk because they can allow unauthorized users to access content in directories to which they do not have access. By default, IIS 6.0 does not permit the use of relative parent paths. Instead, #include statements must use absolute virtual paths that trace the path from the root directory of the Web site to the file that contains the #include statement.
The following code shows the format of a relative parent path that would be rejected by IIS in its default configuration, and an example:
<!--#include file=../<filename.ext>--> <!--#include file=../myAspPage.asp>-->
The following code shows the format of an absolute virtual path and an example:
<!--#include virtual="/<virtual path>/<filename.ext>"--> <!--#include virtual="/C:\myWebSite/myWebSiteFolder/myAspPage.asp"-->
The IIS 6.0 Migration Tool is a command-line utility that automates some of the steps in the process for migrating Web sites from IIS 4.0 to IIS 6.0. The migration tool does not provide an end-to-end migration solution, but it automates some of the time-consuming , repetitive migration tasks .
The IIS 6.0 Migration Tool automates the following steps in the IIS migration process:
Transferring the Web site content . All of the files and folders located in the home directory of the Web site are copied from the source server to the target server. Virtual directories, which can be located outside of the home directory of the Web site, are also copied if the target server uses the same disk volume letter (for example, C:\) that the source server uses as the location of the virtual directory. The NTFS file system permissions assigned to the files and directories that make up the Web site content on the source server are granted to the corresponding files and directories on the target server. You must manually migrate any content that does not meet these requirements.
Transferring the Web site configuration in the IIS metabase . The configuration for each Web site and application, which is stored in the IIS metabase properties on the source server, is translated and then the corresponding IIS 6.0 metabase properties are appropriately configured on the target server.
Backing up the IIS metabase configuration to the target server. The IIS metabase configuration is backed up on the target server before migration. You can use this backup to restore the target server to a known state in the event that the migration process is not successful.
You must complete the following steps in the Web site migration process after you run the IIS 6.0 Migration Tool.
Some Web sites have content that is not located in the home directory of the Web site or in subdirectories that are inside the home directory. The IIS 6.0 Migration Tool migrates all of the content that is located in the home directory of the Web site and in any subdirectories contained in that home directory. The tool also migrates content in virtual directories, if the disk volume letter (for example, C:\) on which the virtual directory is located is the same on both the source server and the target server. However, if the virtual directory is located on C:\ on the source server, and you decide to configure the target server so that the virtual directory will be located on D:\, for example, you must migrate the virtual directory content manually.
The procedure described in this chapter assumes that you have set up the Web site and virtual directory locations on the target server exactly as they exist on the source server. For more information about migrating content that is stored in folders outside of the home directory of the Web site or the virtual directories beneath the home directory, see the Migrating Additional Web Site Content topic in Migrating IIS Web Sites to IIS 6.0 in Deploying Internet Information Services (IIS) 6.0 of the Microsoft Windows Server 2003 Deployment Kit (or see Migrating IIS Web Sites to IIS 6.0 on the Web at http://www.microsoft.com/reskit).
After running the IIS 6.0 Migration Tool, the Web site configuration is similar to its configuration on the source server. However, depending on the configuration of the Web site on the source server, you might need to configure additional Web site properties, by completing the following steps:
Change the IIS metabase settings to reflect where Windows is installed. If the Windows Server2003 systemroot path, which is the location where Windows is installed, does not match the Windows systemroot path on the source server, you must modify the metabase settings on the migrated Web sites to reference the correct folder on the target server. For example, if Windows was installed on C:\WINNT on the source server, the IIS metabase entries for ScriptMaps and HTTPErrors properties might still reference these paths, and therefore need to be updated on the target server.
Configure IIS properties that reference local user accounts . There are a number of Web site configuration properties on the source server that you can configure to utilize user accounts that are local to the source server. The IIS 6.0 Migration Tool does not migrate local user and group accounts from the source server to the target server. As a result, the migrated Web site references user accounts that do not exist on the target server. If you have an Active Directory domain, you can work around this situation by creating a domain account for IUSR_ computername and storing the account information in the IIS metabase. Then, add IIS 6.0 as a member of that domain. Otherwise, you must configure the Web site to utilize user accounts that are domain-based or local to the target server, and then re-create the file system permissions on migrated content.
For example, if NTFS permissions are granted to local user accounts on the source server, you must create new user accounts, or designate existing user accounts, for use on the target server and then grant the corresponding NTFS permissions to the user accounts on the target server.
Configure SSL certificates . If you use SSL to secure your Web site, you must export the SSL sever certificate from the source server, and then install the certificate on the target server after the migration process is complete.
Configure FrontPage Server Extensions users and roles . If FrontPage Server Extensions is configured to use a local user account on the source server as the FrontPage administrator, you must create a new user account, or designate an existing user account, for use on the target server. In addition, you must assign the user the same FrontPage role as the corresponding user had on the source server.
For more information about using the IIS 6.0 Migration Tool to perform your migration, see Migrating a Web Site with the IIS 6.0 Migration Tool later in this chapter.