Microsoft Windows Server 2003 Deployment Kit—Deploying Microsoft Internet Information Services (IIS) 6.0 [Electronic resources]

Microsoft Corporation

نسخه متنی -صفحه : 174/ 55
نمايش فراداده

Preparing for Migration

Before initiating the migration, ensure that existing Apache Web sites are compatible with IIS 6.0 and Windows Server 2003. In addition, determine if the existing Web sites are compatible with worker process isolation mode in IIS 6.0. Then, you must identify which steps in the migration process are automated by the Apache to IIS 6.0 Migration Tool and which steps you need to complete after running the tool. Finally, you must decide which option to use to install the tool.

Figure 7.2: Preparing for Migration of Apache Web Sites to IIS 6.0

Determining Web Site Compatibility with IIS 6.0

Before you migrate to IIS, you must determine the compatibility of the Apache Web site with IIS 6.0. Because of architectural differences, Web sites hosted on Apache have different dependencies than Web sites hosted on IIS. For example, some PHP applications running on Apache use MySQL to connect to databases, whereas IIS Web sites use Microsoft ActiveX Data Objects (ADO) or Open Database Connectivity (ODBC) to connect to databases. After you migrate an Apache Web site that uses MySQL for database connectivity, you must modify the Web site content to use ADO database connectivity.

Table 7.1 lists the Apache Web site components that you must consider before migrating the Apache Web site to IIS 6.0, along with brief descriptions of the compatibility issues, if any, that can result after migration.

Table 7.1: Apache Web Site Component Migration Compatibility Issues

Web Site Component

Description

Compatibility Issues

Static content

Static content contains no executable code. Examples of static content include HTML, .jpg, and .gif files.

Static content should migrate to IIS 6.0 without any modifications. However, IIS 6.0 MIME types might need to be configured to enable static content file types that are not well known.

For more information about MIME types, see "Configuring MIME Types" later in this chapter.

Dynamic content

Dynamic content contains executable code. Examples of dynamic content include CGI and PHP files.

To run Apache dynamic content on IIS, you must do one of the following:

Run the executable code on an appropriate environment that is compatible with IIS 6.0.

Convert the executable code to an environment that is supported by IIS 6.0.

For more information, see "Migrating Apache-Specific Extensions" later in this chapter.

Database connectivity

Database connectivity provides a standardized method of connecting to various database systems. MySQL is the most common database connectivity standard used in Apache Web sites.

To provide database connectivity on IIS 6.0, you must do one of the following:

Obtain a version of MySQL that is compatible with IIS 6.0.

Convert the executable code so that it uses ADO. ADO is the database connectivity standard supported by IIS 6.0.

For more information, see "Migrating Apache-Specific Extensions" later in this chapter.

External modules

External modules provide extended features to Apache Web sites. These components include Cold Fusion and Wpoison.

To use the features provided by these external modules, you must do one of the following:

Obtain a version of the external module that is compatible with IIS 6.0.

Convert the external module to IIS 6.0. For example, Wpoison is written in CGI and can be converted to run on IIS 6.0.

For more information, see "Migrating Apache-Specific Extensions" later in this chapter.

Determining Web Site Compatibility with Worker Process Isolation Mode

IIS 6.0 can run in one of two distinct modes of operation, which are called application isolation modes. Application isolation is the separation of applications by process boundaries that prevent the applications from affecting one another, and is configured differently for each of the two IIS isolation modes: IIS 5.0 isolation mode and worker process isolation mode.

Worker process isolation mode takes advantage of the redesigned architecture for IIS 6.0. This isolation mode runs all application code in an isolated environment; however, unlike earlier versions of IIS, IIS 6.0 provides isolation without a performance penalty because there are no added process hops. Worker process isolation mode is compatible with most existing Web sites and applications. Whenever possible, run IIS 6.0 in worker process isolation mode to take advantage of the enhanced performance and security in IIS 6.0. When IIS 6.0 is configured to use worker process isolation mode, the metabase property IIs5IsolationModeEnabled contains a value of False.

IIS 5.0 isolation mode provides compatibility for applications that depend upon the process behavior and memory model of IIS 5.0. Run IIS in this mode only when a Web site or application has compatibility issues when running in worker process isolation mode and you cannot resolve the problem. When IIS 6.0 is configured to use IIS 5.0 isolation mode, the metabase property IIs5IsolationModeEnabled contains a value of True.

Important

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.

After you install the target server, IIS is configured to use worker process isolation mode by default. The only reason for configuring IIS to use IIS 5.0 isolation mode is if there are Apache extensions that run only in IIS 5.0 isolation mode. For example, if the preprocessor for the dynamic content in an Apache Web site is incompatible with worker process isolation mode, you must configure IIS to use IIS 5.0 isolation mode. Determine Web site compatibility, in particular Apache-specific extensions to the Web sites, with IIS in your lab before migrating your existing Apache Web sites. In most cases, IIS hosts the Web sites in worker process isolation mode without any problems.

For more information about how to migrate Apache-specific extensions and how to determine compatibility of these extensions with worker process isolation mode, see "Migrating Apache Specific Extensions" later in this chapter.

Note

Identifying a complete list of potential incompatibilities that Web sites can experience with worker process isolation mode is beyond the scope of this book. Even after following the guidelines in this chapter, you need to verify in your lab whether your Web sites are compatible with worker process isolation mode.

Identifying the Role of the Migration Tool

Before you migrate Apache Web sites to IIS 6.0, you must know which steps of the migration process are automated by the Apache to IIS 6.0 Migration Tool and which steps you must complete manually. This will allow you to have the appropriate tools and resources available when you are ready to start the migration. In addition, you need to determine the configuration and placement of your Web site after running the tool. The automation provided by the Apache to IIS 6.0 Migration Tool is the same for static and dynamic content. However, depending on the content in your Apache Web site, further configuration might be required after running the tool.

The following steps in the Apache Web site migration process are automated by the Apache to IIS 6.0 Migration Tool:

Copying of Web site content. The migration tool creates a copy of the files and folders containing Web site content. The copied files are converted from standard UNIX text file format (end-of-line denoted by carriage return) on the server running Apache to standard Windows text file format (end-of-line denoted by carriage return and line feed characters) on the server running IIS. The Web site content is placed on the server running IIS in a location selected while running the tool.

Translation of Web site configuration. The configuration of the Apache Web server and individual Web sites is translated to the corresponding IIS Web server and Web site configuration settings in the IIS metabase.

Migration of ~user directories. ~user directories are private virtual Web directories that contain individual user Web sites. The tool migrates the contents of these directories, creates corresponding users, and converts permissions found in these virtual Web directories.

Translation of .htaccess permissions. The htaccess file sets permissions for access for the virtual Web directories on an Apache Web server. The permissions in this file are translated by the tool into the corresponding directory permissions in the NTFS file system.

Migration of MIME types and port numbers. MIME types define the types of static files that are served by the Web server. The tool automatically determines the MIME types defined on the Web server running Apache and then creates the associations of MIME types to extensions on the Web server running IIS.

Migration of FrontPage Server Extensions. The tool detects the presence of FrontPage 2000 Server Extensions and FrontPage 2002 Server Extensions on the Apache Web server, enumerates the Web sites and subweb sites, enumerates the FrontPage Server Extensions settings, users, and roles, creates the Web sites and subweb sites, and recalculates the links for each Web site and subweb site.

Creation of status file. The tool creates a file that contains the status of the migration steps completed by the tool. The status file can be used for confirming that the migration completed successfully or for troubleshooting any problems encountered while performing the migration with the tool.

The following steps in the Apache Web site migration process need to be completed after running the Apache to IIS 6.0 Migration Tool:

Convert code within dynamic content. Dynamic content, such as PHP or CGI, on Apache needs to be modified to run on IIS 6.0.

Modify database connectivity within dynamic content. For the Web sites and applications that have database connectivity, the content needs to be modified to use database connectivity provided by IIS 6.0 and Windows Server 2003.

Migrate external modules used by Web sites. After migration, you need to migrate external modules that are used by the Web sites and applications.

Add Web service extensions used by the Web sites. Any dynamic content types that are not automatically migrated by the tool must be added as Web service extensions. These new Web service extensions might be necessary for any modifications or conversions of dynamic code.

Configure advanced Web site properties. After tool completes its migration tasks, the Web sites are configured comparably to how they were on Apache. You might want to configure the Web site to take advantages of the advanced security and availability features in IIS 6.0.

Obtain server certificates for SSL. For each Web site on the Apache Web server that uses SSL, you must either renew the existing server certificates in a format that is compatible with IIS 6.0 or you must request new server certificates in a format that is compatible with IIS 6.0. This is because the server certificates on the Apache Web server are in a format that is incompatible with IIS. Once you have the server certificates, you must import the certificates into IIS and configure your Web sites to use the appropriate certificates.

Selecting a Migration Tool Installation Option

The Apache to IIS 6.0 Migration Tool supports four options you can choose from when determining how you want to migrate Apache Web sites to IIS. Your familiarity with the Linux or Windows operating systems and the access that you have to the Web servers involved in the migration will determine the process you should follow to install and then run the tool. In some cases, you might not have unrestricted access to the Web servers because another group manages the Apache servers or the Web servers are behind firewalls that prevent FTP traffic.

To install and run the Apache to IIS 6.0 Migration Tool for any of the installation options, you must be able to:

Log on to the source server with an account that has root-level or super-user access.

Log on to the target server with an account that is a member of the local Administrators group.

In addition, when you select the intermediate computer installation option, you must be able to:

Log on to the intermediate computer running Linux with an account that has root-level or super-user access.

Log on to the intermediate computer running Windows with an account that is a member of the local Administrators group.

Table 7.2 lists and describes the installation options for the Apache to IIS 6.0 Migration Tool. Read this table to select the installation option that best fits your needs.

Table 7.2: Apache to IIS 6.0 Migration Tool Installation Options

Installation Option

Installation Details

The source server (See Figure 7.3)

Install and run the Apache to IIS 6.0 Migration Tool on your Linux-based source server (you do not need to physically access the Windows-based target server).

Install Perl on both the Linux-based source server and the Windows-based target server.

Enable the FTP service on the Windows-based target server only.

The target server (See Figure 7.4)

Install and run the migration Apache to IIS 6.0 Migration Tool on the Windows-based target server (you do not need to physically access the Linux-based source server).

Install Perl on the Windows-based target server only.

Enable the FTP service on the Linux-based source server only.

An intermediate computer running Microsoft Windows 2000 or later (See Figure 7.5)

Install and run the Apache to IIS 6.0 Migration Tool on a Windows-based intermediate computer (you do not need to physically access either the Linux-based source server or the Windows-based target server).

Install Perl on both the Windows-based intermediate computer and the Windows-based target server.

Enable the FTP service on both the Windows-based target server and the Linux-based source server.

An intermediate computer running a supported version of Linux (See Figure 7.5)

Install and run the Apache to IIS 6.0 Migration Tool on a Linux-based intermediate computer (you do not need to physically access either the Linux-based source server or the Windows-based target server).

Install Perl on both the Linux-based intermediate computer and the Windows-based target server.

Enable the FTP service on both the Windows-based target server and the Linux-based source server.

Figure 7.3: Migrating from Apache to IIS 6.0 with the Source Server Installation Option

Figure 7.4: Migrating from Apache to IIS 6.0 with the Target Server Installation Option

Figure 7.5: Migrating from Apache to IIS 6.0 with the Intermediate Computer Installation Option

The Apache to IIS 6.0 Migration Tool must be installed on the source server, target server, or intermediate computer. The high-level process for installing the tool includes the following:

Copying the compressed distribution files (.tar for Linux or .zip for Windows) to the appropriate computer based on the installation option selected.

Expanding the compressed distribution files.

Installing the Perl interpreter, if it is not already installed.

For more detailed information about the installation option that you have selected for the Apache to IIS 6.0 Migration Tool, see "Installing the Migration Tool" later in this chapter.

Source Server Installation Option

When you select the source server installation option, you install and run the Apache to IIS 6.0 Migration Tool on the source server, which runs Apache. In addition, you must install and configure the FTP service on the target server.

Figure 7.3 illustrates the migration process for the source server installation option.

The process for migrating Apache Web sites when you select the source server installation option is as follows:

The Apache to IIS 6.0 Migration Tool prompts you for the appropriate user credentials for the source server and target servers.

The tool then transfers the Apache-based Web site content and the configuration information from the source server to the target server by way of FTP.

The tool applies the Web site configuration settings to the IIS Web sites on the target server.

Target Server Installation Option

When you select the target server installation option, you install and run the Apache to IIS 6.0 Migration Tool on the target server, which runs Windows Server 2003 and IIS 6.0. In addition, you must install and configure the FTP service on the source server.

Figure 7.4 illustrates the migration process for the target server installation option .

The process for migrating Apache Web sites when you select the target server installation option is as follows:

The Apache to IIS 6.0 Migration Tool prompts you for the appropriate user credentials for the source and target servers.

The tool then transfers the Apache-based Web site content and the configuration information from the source server to the target server by way of FTP.

The tool applies the Web site configuration settings to the IIS 6.0 Web sites on the target server.

Intermediate Computer Installation Option

When you select the intermediate computer installation option, you install and run the Apache to IIS 6.0 Migration Tool on the intermediate computer, which runs either Windows or Linux. In addition, you must install and configure the FTP service on the source and target servers.

Figure 7.5 illustrates the migration process for the intermediate computer installation option.

The process for migrating Apache Web sites when you select the intermediate computer installation option is as follows:

The Apache to IIS 6.0 Migration Tool prompts you for the appropriate user credentials for the source and target servers.

The tool transfers the Apache-based Web site content and the configuration information from the source server to the intermediate computer by way of FTP.

The tool applies the site configuration settings to the IIS Web sites on the target server.