Deploying MCMS Site - Using Application Center 2000

MCMS Technical Article

On This Page

Introduction Introduction
Deployment Workflow Deployment Workflow

Introduction

Microsoft Content Management Server (MCMS) 2002 Web sites can be deployed in multiple tiers, for example; the staging and production tiers. Deploying an MCMS Web site from one server to another is a task that requires careful migration of various MCMS resources. This white paper introduces a site deployment script designed to work with Microsoft® Application Center 2000 to deploy MCMS Web sites from one server to another. Using the site deployment scripts, you can perform incremental deployments from a staging server to a server or a cluster in the production tier.

To download the site deployment script, go to the download location at https://go.microsoft.com/fwlink/?LinkId=12419.

Deployment Workflow

To use the site deployment script, you must have a fully functional MCMS implementation installed that meets all the software and hardware requirements.

The following figure shows a sample MCMS implementation.

In this scenario, the staging server and the production cluster are in different domains separated by the Internet Security and Acceleration (ISA) firewall. You deploy the site for this scenario by performing the following procedures in the order shown.

  1. Install the required software on both source and target servers. For more information, see "Software Requirements."

  2. Set up the ISA Server. For more information, see "Setting up the ISA Server."

  3. Set up Application Center on the production and staging servers. For more information, see "Setting up Application Center."

  4. Identify all of the IP addresses and Network Interface Card (NIC) numbers. For more information, see "Preparing for Deployment."

  5. Edit the ACCluster.xml file. For more information, see "Using the ACCluster.xml File."

  6. Edit the stager.xml file. For more information, see "Using the Stager.xml File."

  7. Create Application Center applications on the staging server. For more information, see "Using the MCMSDeploy Utility."

  8. Deploy content to the production cluster. For more information, see "Using the MCMSDeploy Utility."

Software Requirements

The following software is required on both source and target servers.

  • Microsoft® Content Management Server (MCMS) 2002

  • Microsoft Application Center 2000

  • Microsoft Application Center 2000 Service Pack 1

  • Microsoft XML Core Services (MSXML) version 4.0

  • Microsoft XML Core Services (MSXML) version 4.0 Service Pack 1

  • Microsoft® Windows® Scripting Host version 5.6

About the MCMSDeploy Utility

You use the MCMSDeploy tool, a command-line utility that provides a way to set up and manage a Microsoft Application Center Web cluster and Microsoft Content Management Server (MCMS) Web farms, to run the Microsoft Content Management Server site deployment script. The MCMSDeploy tool also provides options for updating and deploying content from a staging server to a production cluster.

The MCMSDeploy utility uses Application Center to deploy MCMS file system-based assets (templates) and MCMS Site Deployment to deploy MCMS database assets (postings). Two XML files are provided (ACCluster.xml and Stager.xml), which are used to describe the structure and configuration of the staging server and the production cluster. MCMSDeploy reads the XML files and deploy MCMS assets. You can run MCMSDeploy from the staging server controller to perform all tasks. However, if your site configuration does not permit you to create the production Application Center Web cluster from the staging controller, you can also run the script from a computer in the production cluster.

To download the MCMSDeploy tool and all of the required files, go to the download location at https://go.microsoft.com/fwlink/?LinkId=12419.

The following table lists the files provided with the MCMSDeploy utility.

File

Description

ACCluster.xml

An XML file that describes the production cluster configuration. This file is used to build and manage the cluster and related MCMS Web farms.

You must edit this file with your deployment configuration.

Stager.xml

An XML file that describes the staging server configuration. This file is used to create the Application Center staging server.

You must edit this file with your deployment configuration.

ACCluster.xsd

An XML schema file used to validate the ACCluster.xml and Stager.xml files.

MCMSDeploy.wsf

A Windows script file that provides an entry point to the Microsoft® Visual Basic® Scripting Edition (VBScript) source. It also defines the command line parameters and object references required by the script.

MCMSDeploy.vbs

The VBScript source file. You should modify this file only if the ACCluster.xml and Stager.xml files do not describe your Application Center Web cluster configuration, or if you require a different deployment scenario than those performed by the script.

It is recommended that you do not edit the MCMSDeploy.vbs file.Any changes made to this file are not supported.

Setting Up the ISA Server

You must configure your Internet Security and Acceleration (ISA) server in order for the MCMS deployment script to work correctly. This section describes the steps you must take to do the following:

  • Open required ports

  • Enable remote administration across the firewall

  • Configure the production cluster

  • Enable IP routing for Application Center in order for the Load Balance commands to work correctly.

Note: The Active Directory server in the same domain as the staging server must have local entries for all the servers in the production cluster. Each entry must include only the server name and not the fully qualified domain name.

To open the required ports for deployment

  1. Using the ISA Management console, create a Protocol Definition for port 4243 (TCP, Outbound).

  2. Using the ISA Management console, create a Protocol Definition for port 4244 (TCP, Outbound).

  3. Using the ISA Management console, create a Protocol Rule that uses the Protocol Definitions created in steps 1 and 2.

  4. Restart the firewall service.

To use remote administration across the firewall

  • Using the ISA Management console, create a Protocol Definition for port 4242 (TCP, Outbound).

To configure the production cluster

  1. Using the regedt32.exe utility, add registry entries to every server in the Application Center production cluster to restrict the Distributed Component Object Model (DCOM) entry ports to any range above 5000. For example, 5000-5030.

    For more information and instructions, see "Using Distributed COM with Firewalls" at https://go.microsoft.com/fwlink/?LinkId=12490.

  2. Restart all the servers in the Application Center production cluster.

  3. Using the ISA Management console, open Outbound TCP Ports 5000-5030. (The range should match the range you entered in step 1 of this procedure.)

  4. Using the ISA Management console, open Outbound TCP and UDP port 135.

  5. Restart the firewall service.

To enable IP routing for Application Center

  1. In the ISA Management console, expand Servers and Arrays, expand the ISA Server, expand Access Policy, right-click IP Packet Filters, and then click Properties.

  2. In the IP Packet Filters Properties window, on the General tab, select the check boxes for both Enable packet filtering and Enable IP routing, and then click OK.

  3. Restart the firewall service.

Setting Up Application Center

In order for the deployment scripts to work correctly, you must configure your Microsoft Application Center 2000 implementation as follows:

  • Install Application Center on the staging server and all the computers in the production cluster, without setting up the cluster. The deployment scripts will create the production cluster for you, and fail if any cluster is already configured.

  • Make sure that no server in the production cluster is a member of Windows Network Load Balancing. Deployment will fail if any server is a member of a Network Load Balancing configuration. To verify that a server is not using Network Load Balancing, check the Network Connection Properties.

  • Make sure that each server in the production cluster, with the exception of the cluster controller, has synchronization turned off. To verify that the synchronization is turned off, check the Microsoft Management Console (MMC).

Preparing for Deployment

Before you start using the deployment scripts, you must identify IP addresses and IDs for each the network adapter used by the production cluster and the staging server. Each server in the production cluster has dual network adapters connected to either the Network Load Balancing that receives Web requests or to the management network to relay management messages between all the servers. Each network adapter listens on a different IP address, and has a unique ID. Application Center uses the network adapter card (NIC) ID to distinguish the network adapters.

To identify the NIC ID

  1. Click Start, and then click Run.

  2. In the Run window, in the Open box, type winmsd, and then click OK.

  3. In the System Information tree, expand Components, expand Network, click Adapter, and review the values in the IP Address and Name boxes.

    The number in square brackets in the Name box is the NIC ID.

Configuring the ACCluster.xml File

You configure the ACCluster.xml file to set up the production Application Center Web cluster and the MCMS Web farms. You must configure the ACCluster.XML file to fit your deployment.

To configure the ACCluster.xml file

  1. Open the ACCluster.xml file in a text editor such as Notepad.

  2. In the configuration element, in the acWebCluster subelement, do the following:

    Use this

    To do this

    name

    Type the name of the Application Center production cluster.

    type

    Type the Application Center cluster type. The following options are available:

    • Web - Web cluster.

    • complusrouting - COM+ routing cluster

    • complusapp - COM+ application cluster

    Note: Only the Web option was tested.

    loadBalancing

    Type nlb for Network Load Balancing or none.

    ip

    Type the IP address of the Application Center cluster.

    subnet

    Type the SubNet address of the Application Center cluster.

  3. In the name attribute of the stager subelement, type the name of the staging server.

  4. In the webFarm element, in the name attribute of the mcmsImportServer subelement, type the name of the MCMS import server.

    MCMS import server is the read/write server that communicates with the MCSM database directly.

  5. In the controller subelement, do the following:

    Use this

    To do this

    name

    Type the name of the Application Center cluster controller.

    ip

    Type the Network Load Balancing network IP address of the Application Center cluster controller.

    lbNic

    Type the NIC ID that identifies the network adapter connected to the Network Load Balancing network.

    See "Planning for Deployment" for information about how to determine the network adapter ID.

    mgmtNic

    Type the number that identifies the network adapter connected to the management network.

    See "Planning for Deployment" for information about how to determine the network adapter ID.

    drain

    Type the drain value in minutes. The minimum value is 0.

    Drain is the timeout value in minutes used to drain connections to a Web server when it is taken offline from a load balanced cluster. After the timeout has elapsed, the Web server is taken offline regardless of any existing client connection.

    Note: Only the minimum value (0) was tested.

  6. In the server subelement, do the following:

    Use this

    To do this

    name

    Type the name of the server in the Web cluster.

    ip

    Type the Network Load Balancing (NLB) network IP address of the server in the Web cluster.

    lbNic

    Type the number that identifies the network adapter connected to the NLB.

    See "Planning for Deployment" for information about how to determine the network adapter ID.

    mgmtNic

    Type the number that identifies the network adapter connected to the management network.

    See "Planning for Deployment" for information about how to determine the network adapter ID.

    drain

    Type the drain value in minutes. The minimum value is 0.

    Drain is the timeout value in minutes used to drain connections to a Web server when taken offline from a load balanced cluster. After the timeout has elapsed, the Web server is taken offline regardless of any existing client connection.

    Note: Only the minimum value (0) was tested.

  7. In the applications element, in the name attribute in the application subelement, type the name of the Web application that you are deploying.

  8. In the resource subelement, do the following:

    Use this

    To do this

    type

    Type the resource type that the application is using. Following are the available options:

    • FileSystem

    • IIS

    • Registry

    • DSN

    • ComPlusApp

    Note: Only the FilesSystem and IIS options were tested.

    path

    Type the path name. The format of the path name varies with the type of the resource. Following are the available options:

    • IIS - the complete metabase path. For example, /LM/W3SVC/3 or the site name, such as My Web Site.

    • Registry - the complete registry path. For example, HKEY_CURRENT_USERS\Software\Microsoft\ Active Setup\{guid}.

    • FileSystem - the complete file system path. For example, C:\Program Files\Misc\ MyResource.txt.

    • DSN - the friendly name of the data source name DSN (for example, My DSN) or the unique registry path, such as My Computer\HKEY_LOCAL_MACHINE\Software\ ODBC\ODBC.INI\Name.

    • COMPlusApp (COM+ application): the friendly name of the COM+ application or its globally unique identifier (GUID) class identifier (CLSID).

    Note: Depending on the number of resources you want to deploy, you can have multiple resource subelements with different types of resources. For example, you can choose to deploy application directories (using the FileSystem resource type) as well as virtual directories (using the IIS resource type).

  9. Save the ACCluster.xml file, and exit the text editor.

Configuring the Stager.xml File

You configure the Stager.xml file to set up the staging server. You must configure the Stager.xml file to fit your deployment.

To configure the Stager.xml file

  1. Open the Stager.xml file in a text editor such as Notepad.

  2. In the configuration element, in the acWebCluster subelement, do the following:

    Use this

    To do this

    name

    Type the name of the Application Center staging server.

    type

    Type the Application Center staging server type. The following options are available:

    • Web - a Web cluster

    • complusrouting - a COM+ routing cluster

    • complusapp - a COM+ application cluster

    Note: Only the Web option was tested.

    loadBalancing

    Type none.

  3. In the name attribute of the stager subelement, type the name of the staging server.

  4. In the webFarm element, in the name attribute of the mcmsImportServer subelement, type the name of the staging server.

  5. In the webFarm element, in the name attribute of the controller subelement, type the name of the staging server.

  6. In the applications element, in the name attribute of the application subelement, type the name of the application that you are deploying.

  7. In the resource subelement, do the following:

    Use this

    To do this

    type

    Type the resource type that the application is using. Following are the available options:

    • FileSystem

    • IIS

    • Registry

    • DSN

    • ComPlusApp

    Note: Only the FilesSystem and IIS options were tested.

    path

    Type the path name. The format of the path name varies with the type of the resource. Following are the available options:

    • IIS - the complete metabase path. For example, /LM/W3SVC/3 or the site name, such as My Web Site.

    • Registry - the complete registry path. For example, HKEY_CURRENT_USERS\Software\Microsoft\ Active Setup\{guid}.

    • FileSystem - the complete file system path. For example, C:\Program Files\Misc\ MyResource.txt.

    • DSN - the friendly name of the data source name DSN (for example, My DSN) or the unique registry path, such as My Computer\HKEY_LOCAL_MACHINE\Software\ ODBC\ODBC.INI\Name.

    • COMPlusApp (COM+ application): the friendly name of the COM+ application or its globally unique identifier (GUID) class identifier (CLSID).

    Note: Depending on the number of resources you want to deploy, you can have multiple resource subelements with different types of resources. For example, you can choose to deploy application directories (using the type FileSystem) as well as virtual directories (IIS type).

  8. Save the Stager.xml file, and exit the text editor.

Using the MCMSDeploy Utility

Use the following syntax to start the MCMSDeploy command-line utility.

MCMSDeploy.wsf /configFile:value [/acUser:value] [/acPassword:value]
[/mcmsExportUser:value] [/mcmsExportPassword:value]
[/mcmsImportUser:value] [/mcmsImportPassword:value] /task:value

Note: You must change the default scripting engine from wscript to cscript in order for script messages to appear in the console window. To do this, type cscript /h:script.

Commands Used With the MCMSDeploy Utility

The following table lists the optional commands you can use with the MCSDeploy utility in the syntax provided above.

Command

Description

configFile

Indicates the XML configuration file.

The value is Stager.xml or ACCluster.xml (including the relative or absolute path).

This is a required command.

accuser

Indicates the user to authenticate on the Application Center cluster.

The user name must be provided in the domain\username format.

acPassword

Indicates the user password to authenticate on the Application Center cluster.

mcmsExportUser

Indicates the user to authenticate on the MCMS export server.

The user name must be provided in the domain\username format.

mcmsExportPassword

Indicates the user password to authenticate on the MCMS export server.

mcmsImportUser

Indicates the user to authenticate on the MCMS import server. MCMS import server is the read/write server that communicates directly with the MCMS database.

The user name must be provided in the domain\username format.

mcmsImportPassword

Indicates the user password to authenticate on the MCMS import server.

task

Indiciates supported tasks. For more information see "Tasks Used With the MCMSDeploy Utility."

Tasks Used With the MCMSDeploy Utility

This section includes procedures for performing the following tasks using the MCMSDeploy utility:

  • Create Application Center applications on the staging server

  • Deploy content to the production cluster

  • Remove all applications and the cluster on the staging server

The following table lists the tasks that can be performed using the MCMSDeploy utility:

Task

Description

CreateCluster

Sets up the Application Center cluster and the staging server.

CreateClusterKeepSettings

Same as the CreateCluster task, except uses an existing NLB cluster instead of creating a new one. You can only use this option when:

  • The NLB load balancing option is being used and is operational on the destination computer.

  • The Application Center cluster type is not set to ComPlusApp.

CreateApplications

Creates applications on the Application Center cluster after the cluster is created.

This task is only run on the staging server, and applications are automatically created on the production cluster during deployment.

DeleteApplications

Removes the Application Center applications.

DeleteCluster

Removes the Application Center cluster.

Run this task after the Application Center applications have been removed.

Offline

Sets all servers in the Application Center Web cluster offline.

Online

Sets all servers in the Application Center Web cluster online.

DeployOnline

Exports an MCMS package from the staging (local) server and imports the package to the Web farms in the Application Center Web cluster, while leaving all servers in their current load-balancing state.

DeployOffline

This task does the following:

  • Sets all servers in the Application Center Web cluster offline

  • Exports an MCMS package from the staging (local) server

  • Imports the package to the Web farms in the Application Center Web cluster

After this task is run, all servers in the Web cluster are brought back online.

DeployAcrossFarms

Exports an MCMS package from the staging (local) server, and does the following for each of the Web farms in the cluster:

  • Takes all servers in each Web farm offline

  • Imports the MCMS package to the import server of the Web farm

  • Performs an Application Center deployment on the servers in the Web farm

  • Brings the servers in the Web farm back online

DeployInsideFarms

This task does the following:

  • Exports an MCMS package from the staging (local) server

  • Imports the package to the import server for the Web farm

  • Takes each server in the Web farm offline, performs an Application Center deployment on the server, and puts the server back online

The following procedures show how to perform some common tasks using the MCMSDeploy utility.

Notes: Passwords will be visible on the command-line. However, MCMSDeploy does not display the passwords when echoing commands to the console.

For more information about working with command-line tools and scripts, see https://go.microsoft.com/fwlink/?LinkId=12479.

For more information about Application Center commands see, https://go.microsoft.com/fwlink/?LinkId=12481.

To create Application Center applications on the staging server

  1. Configure the Stager.xml file.

  2. To create the Application Center cluster, type the following at the command line.

MCMSDeploy.wsf /configFile:Stager.xml /acUser:domain\username /acPassword:password /task:CreateCluster

  1. To create the Application Center applications on the staging server, type the following at the command line.

MCMSDeploy.wsf /configFile:Stager.xml /acUser:domain\username /acPassword:password /task:CreateApplications

To deploy content to the production cluster

  1. Configure the ACCluster.xml file.

  2. To create the Application Center production cluster, type the following at the command line.

MCMSDeploy.wsf /configFile:ACCluster.xml /acUser:domain\username /acPassword:password /task:CreateCluster

  1. To deploy the content to the production cluster, type the following at the command line.

MCMSDeploy.wsf /configFile:ACCluster.xml /acUser:domain\username /acPassword:password /mcmsImportUser:domain\username /mcmsImportPassword:password /mcmsExportUser:domain\username /mcmsExportPassword:password /task:DeployOffline

To remove all applications and the cluster on the staging server

  1. Configure the Stager.xml file.

  2. To remove all Application Center applications on the staging server, type the following at the command line.

MCMSDeploy.wsf /configFile:Stager.xml /acUser:domain\username /acPassword:password /task:DeleteApplications

  1. To remove the staging server, type the following at the command line.

MCMSDeploy.wsf /configFile:Stager.xml /acUser:domain\username /acPassword:password /task:DeleteCluster

The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of publication.