Migrating Web Sites Manually" later in this chapter. For more information about how to determine whether to perform the migration with the IIS 6.0 Migration Tool, see "Selecting a Migration Method" earlier in this chapter.Figure 6.5 illustrates the process of performing the migration to IIS 6.0 with the IIS 6.0 Migration Tool.

Figure 6.5: Migrating Web Sites to IIS 6.0 with the IIS 6.0 Migration Tool
Installing the IIS 6.0 Migration Tool
The IIS 6.0 Migration Tool and its accompanying user documentation are included in the default installation of the Windows Server 2003 Deployment Kit companion CD and the Internet Information Services (IIS) 6.0 Resource Kit companion CD. There is no setup program for the migration tool; you need only copy the IIS 6.0 Migration Tool to the target server. You do not need to install any software on the source server. To avoid installing the entire contents of the companion CD onto your target server, install the companion CD on a workstation first, and then copy the migration tool to the target server.Install the IIS 6.0 Migration Tool by completing the following steps:
Install the Windows Server 2003 Deployment Kit companion CD or the Internet Information Services (IIS) 6.0 Resource Kit companion CD on a computer other than the source server or target server.
Create a folder on the target server to contain the migration tool.
Copy the IIS 6.0 Migration Tool (Iismt.exe) from Program Files\IIS Resources\IIS 6.0 Migration Tool, on the computer listed in Step 1, to the folder on the target server that you created in Step 2.
Verify that the migration tool operates correctly by typing iismt at the command prompt.
This starts the migration tool and displays Help for the tool only. The migration process does not actually begin.
Verifying That Clients Are Not Accessing Web Sites
The IIS 6.0 Migration Tool requires only read access to the Web site content and configuration settings on the source server. Therefore, the source server can remain online in your production environment. However, you might need to remove the source server from your production network and move it to a private network segment that has direct network connectivity to the target server under the following circumstances:
The number of files and amount of configuration information being copied across the network generates a high volume of traffic and slows the production network.
Firewalls that exist between the source and target servers prevent the migration tool from performing the migration. This often occurs because the migration tool uses DCOM ports that are blocked by the firewalls for communicating with the source and target servers.
Security-related configuration settings on the source server need to be modified to allow the migration tool to work.Examples of these security-related configuration settings that can prevent the migration tool from working include the following:
Remote access to disk volumes through administrative shares is prohibited.The IIS 6.0 Migration Tool requires access to the disk volume that contains the Web site content to perform the migration. For example, if the Web site content is stored in D:\Inetpub\Wwwroot, the migration tool must access the administrative share (D$) of the disk volume. The administrative shares are often removed to help prevent unauthorized access to the Web server. In order to use the migration tool, you must recreate the appropriate administrative shares.
Remote access to the source server must be allowed for members of the local Administrators group on the source server.For security reasons, many organizations restrict the members of the local Administrators group so that they can only log on locally, not over the network. However, the migration tool must be able to remotely access the source server over the network, as a member of the local Administrators group.
Verify that clients are no longer accessing Web sites by completing the following steps:
Prevent new clients from accessing the sites by pausing the sites.For more information about how to pause Web sites, see "Pause Web or FTP Sites" in "IIS Deployment Procedures" in this book.
Monitor the active Web connections to determine when clients are no longer accessing the source server.For more information about how to monitor the active Web connections, see "Monitor Active Web and FTP Connections" in "IIS Deployment Procedures" in this book.
When the number of active Web counters is zero, stop the WWW service or move the source server to another network segment.If you elect to stop the WWW service, ensure that the IIS Admin service is running because the migration tool requires the IIS Admin service. For more information about how to stop the WWW service, see "Stop the WWW Service" in "IIS Deployment Procedures" in this book.
Running the IIS 6.0 Migration Tool
The IIS 6.0 Migration tool is a command-line utility that is designed to run on the target server. To run the migration tool, type iismt at the command prompt, and provide the parameters, listed in Table 6.2, that are appropriate to the Web sites and applications that you are migrating. For more information about each of the parameters and on how to perform the migration with the IIS 6.0 Migration Tool, see the "IIS 6.0 Migration Tool User Guide" on the Windows Server 2003 Deployment Kit companion CD or the Internet Information Services (IIS) 6.0 Resource Kit companion CD.
Parameter | Required or Optional | Description |
---|---|---|
SourceServer | Required | Identifies the source server by providing the following: DNS or NetBIOS name for the source server. IP address of the source server. |
WebSite | Required | Identifies the site to be migrated by providing the following: Web site description, such as "Default Web Site." Metabase key path, such as W3SVC/1. |
/user UserName | Optional | Specifies the user name of an account that is a member of the Administrators group on the source server. This parameter is not necessary if you log on with an account that is a member of the Administrators group on both the source server and the target server. |
/password Password | Optional | Specifies the password that is associated with the user name. |
/path Path | Optional | Specifies a different directory location for the home directory of the Web site on the target server. This parameter is ignored if /configonly is included. |
/serverbindings ServerBindingsString | Optional | Allows a change to the IP address, host header, or port configuration of the Web site during the migration. |
/siteid SitelD | Replace | Optional | Specifies the site ID on the target server, which can be specified as one of the following: Site/ID- Overwrites the site ID on the target server. Replace - Overwrites the site ID on the target server with the site ID from the source server. |
/configonly | Optional | Migrates only the Web site configuration and not the Web site content. |
/fpse | Optional | Re-applies FrontPage Server Extensions to the migrated site on the target server. This parameter is ignored if /configonly is included. |
/verbose | Optional | Displays metabase path copy and file copy operations to the screen during the migration process. |
/overwrite | Optional | Does not display messages that prompt the user to confirm the overwrite of an existing destination folder or file when content is being copied from the source server to the target server. |
/noninteractive | Optional | Does not display messages that prompt the user for input. The migration tool will exit on the first error condition. This is a useful switch for invoking the migration tool from a batch file or script program to perform an unattended migration. |
The IIS 6.0 Migration Tool uses the following syntax:iismt.exe Server Website [/user Username] [/password Password] [/path path] [/serverbindings ServerBindings String] [/siteid SiteID | Replace] [/configonly] [/fpse] [/verbose] [/overwrite] [/noninteractive]
Table 6.2 lists all the command-line parameters that the migration tool accepts, although not all of the parameters listed are required.
Verifying That the IIS 6.0 Migration Tool Ran Successfully
Before continuing with the Web site migration, verify that the IIS 6.0 Migration Tool migrated the Web site content and configuration information successfully. When you run the migration tool, the output displayed by the migration tool indicates the success or failure of the migration. If the output indicates that errors occurred, you can use the IIS 6.0 Migration Tool log file to resolve any errors.
Verify that the IIS 6.0 Migration Tool ran successfully by completing the following steps:
Open systemroot\System32\LogFiles\IISMT\iismt_date_time.log in a text editor and determine if any errors occurred (where date is the date when the tool ran and time is the time the tool started).
Review the log file and resolve any problems that occurred during migration before proceeding to the next step in the process.
Migrating Additional Web Site Content
Some Web sites and applications 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 only migrates Web site content from the following locations:
Within the home directory and subdirectories of the Web site.
In virtual directories whose disk volume letter exists on both the source server and the target server.
If the code in your applications directly references content that is located outside the home directory and subdirectories of the Web site, or if a virtual directory is stored on a disk volume letter that does not exist on the target server, you must migrate this Web site content manually.
Migrating Content Located Outside the Home Directory of the Web Site
A Web site or application can have content that is referenced by the Web site, but is located outside the home directory and subdirectories of the Web site. This content must be migrated manually because the IIS 6.0 Migration Tool migrates content only in the home directory and subdirectories of the Web site.Migrate content that is located outside the home directory and subdirectories of the Web site by completing the following steps:
Create a folder on the target server to contain the content.Ensure that the folder is in the same relative location to the home directory of the Web site. For example, if a Web site on the source server is in D:\Wwwroot\WebSite and the content to be migrated is in D:\Program Files\SiteContent, create the same folder (D:\Program Files\SiteContent) on the target server.
Copy the content from the source server to the target server.Use the process of your choice for copying the content as described in "Migrating Web Site Content" later in this chapter.
If necessary, modify any references to the content that is located in directories that are external to the home directory of the Web site on the target server.The target server might have a different disk configuration than the source server, or you might be migrating the content to a different disk volume letter on the target server than the source server. You need to modify any references in the Web site to content that is located outside the home directory and subdirectory of the Web site.
Migrating Content Located in Virtual Directories
Virtual directory content on the source server might be stored on a disk volume, such as F:, that does not exist on the target server. This content must be migrated manually because the IIS 6.0 Migration Tool migrates virtual directories only when the disk volume letter on which the virtual directory is located exists on both the source server and the target server.Migrate content that is located in virtual directories, which are stored on a disk volume that does not exist on the target server, by completing the following steps:
Create a folder on the target server to contain the virtual directory and the content.Ensure that the folder is in the same relative location on the target servers as on the source server.
Copy the content from the source server to the target server.Use the process of your choice for copying the content as described in "Migrating Web Site Content" later in this chapter.
Create the virtual directory under the appropriate Web site on the target server that references the folder created in Step 1.For more information about how to create virtual directories on the target server, see "Create a Virtual Directory" in "IIS Deployment Procedures" in this book.
Modifying IIS 6.0 Metabase Properties That Reference the Systemroot Folder
The IIS 6.0 Migration Tool migrates metabase properties that reference the systemroot folder on the source server, but does not update the references to the systemroot folder on the target server. If the location of systemroot folder on the target server does not match the location of the systemroot folder on the source server, you must modify the metabase settings on the migrated Web sites to reference the correct systemroot folder on the target server. Because the default systemroot folder name changed from WINNT to Windows in Windows 2000 Server and later versions, you might need to manually modify the metabase properties that reference the systemroot folder on the target server.
These metabase properties that reference the location of the systemroot folder can include the following:
HttpErrors. The HttpErrors metabase property specifies the custom error string sent to clients in response to HTTP 1.1 errors. Each string in the list specifies the HTTP error code and subcode, indicates whether the handler will be a URL or a file, and specifies which URL or file the client will be sent. Each string can be in either a URL or a file format. If you migrate the Default Web Site on Windows NT 4.0 or Windows 2000, you must reset the HttpErrors metabase property to contain the systemroot folder for Windows Server 2003, even if the systemroot folder exists on the same drive on both the source and target computer.
ScriptMaps. The ScriptMaps metabase property specifies the file name extensions of applications that are used for script processor mappings. This property contains references to paths with default ISAPIs, such as C:\Windows\system32\inetsrv\asp.dll.
Compensate for the differences in the location of the systemroot folder on the target server by completing the following steps:
Enable the IIS 6.0 metabase edit-while-running feature.
Open the MetaBase.xml file in Microsoft Notepad.
Search for any references to the systemroot folder on the source server and replace these references with the systemroot folder path on the target server.For example, if the source server had been installed in C:\WINNT and the target server is installed into C:\Windows, you should replace any occurrences of "C:\WINNT" with "C:\Windows".
Save the MetaBase.xml file.
Disable the metabase edit-while-running feature.For more information about the edit-while-running feature, see "Metabase Edit-While-Running Feature" in IIS 6.0 Help, which is accessible from IIS Manager.