Server Farm Scalable Hosting Mode Deployment

You can install and configure Microsoft Windows SharePoint Services to allow your server farm to host several top-level sites on the same virtual server using the same IP address. Each top level site has its own content and application pools. This configuration is known as scalable hosting mode. The Public DNS is configured to direct each top level site to the same IP address of the server configured for scalable hosting mode. Windows SharePoint Services filters the inbound http traffic and directs requests to the correct top level site. This is similar to the way IIS operates in Host Header mode.

This topic describes the steps you need to take to configure the servers in your server farm to serve multiple host names with Windows SharePoint Services.

 Note   This is an advanced scenario, meant for experienced server farm administrators and Internet service providers. This is only one of several hosting choices for Windows SharePoint Services. For more information about hosting choices, see "Structuring the URL Namespace" in Windows SharePoint Services Architecture. For more information about setting up other hosting choices, see the the following topics: Single Server Deployment, Remote SQL Server Deployment, Configuring Two Virtual Servers to Host the Same Content and Separate Active Directory Directory Service Organization Unit Deployment.

 Note   Windows SharePoint Services with Service Pack 2 adds support for IP-bound virtual servers. The advanced extranet features are not supported in scalable hosting mode. For more information, see What's New in Windows SharePoint Services Service Pack 2.

Preparing the Servers

Before you can install and configure Windows SharePoint Services in your server farm, you must meet the hardware and software requirements and plan out your server farm configuration. The following sections help you determine the configuration to use when deploying a server farm in scalable hosting mode.

Hardware and Software Requirements

To deploy Windows SharePoint Services in a server farm configuration, you must meet the following criteria on each front-end Web server:

Web Server Hardware Requirements

Hardware requirements for your Web server vary depending on the platform you are using, edition of the operating system you choose, and whether you are deploying Windows SharePoint Services on a single server or server farm. The following table describes the hardware requirements for the supported operating systems.

Platform Operating system Requirements for single server deployment Requirements for server farm deployment
32-bit version

Microsoft Windows Server 2003, Standard Edition, Enterprise Edition, or Web Edition

 Note   Web Edition requires a full version of Microsoft SQL Server 2000 or SQL Server 2005

Same as the requirements for the edition of Windows Server 2003 you are using

1* Pentium III compatible CPU, 550 MHz or higher
* 2 CPUs recommended

512 MB RAM

32-bit version Microsoft Windows Server 2003 Datacenter Edition Same as the requirements for Microsoft Windows Server 2003 Datacenter Edition

1* Pentium III compatible CPU, 550 MHz or higher
* 2 CPUs recommended

1 GB RAM

32-bit version

Microsoft Windows Server 2003 R2, Standard Edition, Enterprise Edition, or Web Edition

 Note   Web Edition requires a full version of Microsoft SQL Server 2000

Same as the requirements for the edition of Windows Server 2003 R2 you are using

1* Pentium III compatible CPU, 550 MHz or higher
* 2 CPUs recommended

512 MB RAM

32-bit version Microsoft Windows Server 2003 R2, Datacenter Edition Same as the requirements for Microsoft Windows Server 2003 R2, Datacenter Edition

1* Pentium III compatible CPU, 550 MHz or higher
* 2 CPUs recommended

1 GB RAM

x64-based version

x64-based version of Microsoft Windows Server 2003, Standard Edition, Enterprise Edition, or Datacenter Edition

 Note   All x64-based versions of Windows Server 2003 editions require a full version of Microsoft SQL Server 2000 or SQL Server 2005

Same as the requirements for the 64-bit version of the edition of Windows Server 2003 you are using

1* 64-bit CPU
* 2 or more CPUs recommended

1 GB RAM

 Notes 

  • Windows SharePoint Services is not supported on Itanium-based versions of Windows Server 2003.
  • You must install Windows 2003 Server and Windows SharePoint Services on a partition formatted using the NTFS file system.

Web Server Software Requirements

Before you install and configure Windows SharePoint Services, you must ensure that each front-end Web server in your server farm meets the following software requirements.

To run Windows SharePoint Services, you must first install one of the Windows Server 2003 editions, listed in the previous table. The following list describes the components that must be running on the edition of Windows Server 2003 you choose for your Web server:

  • Windows Server 2003 Editions
    • Microsoft Internet Information Services (IIS) 6.0, running in IIS 6.0 worker process isolation mode
    • Microsoft ASP.NET version 1.1, Microsoft ASP.NET 2.0, or both
  • Windows Server 2003 R2 Editions
    • IIS 6.0, running in IIS 6.0 worker process isolation mode
    • ASP.NET version 1.1, ASP.NET 2.0, or both
  • 64-bit (x64-based) versions of Windows Server 2003 Editions
    • IIS 6.0, running in 32-bit emulation mode and IIS 6.0 worker process isolation mode
    • ASP.NET version 1.1, ASP.NET 2.0, or both

Planning for Scale

When you decide to implement a server farm, it is generally because you want to support a large-scale Web environment. Achieving scalability depends on a number of factors, each of which must be regulated in its own way. These factors include:

  • The amount of processing power available for each Web site.

You can manage processing power by ensuring that you have appropriate load balancing up front, and a good balance between the number of front-end Web servers and SQL Server back-end servers. A recommended minimum configuration for a server farm includes three front-end Web servers and two back-end database servers.

  • The amount of disk space available for Web site content and data.

You can manage disk space issues by using quotas to limit Web site size, and by specifying maximum sizes for content databases. For more information about using quotas and content databases, see Configuring Site Quotas and Locks and Managing Content Databases.

  • Protection from single-box failure.

Using multiple front-end Web servers to serve the same content gives you protection from failure on the front end. You can use the failover protection included with SQL Server 2000 and SQL Server 2005 to help protect your back-end servers. For more information about SQL Server failover protection, see the SQL Server documentation.

  • The number of sites stored in each content database.

You will get better results by limiting the size of each content database and simply adding more content databases when you add more sites. Smaller content databases make it easier to back up and restore or move sites. Note that database performance may degrade if you add too many databases. Balance your needs for backup and restore performance against those for database performance.

Balancing the load for the front-end Web servers is also part of the scalability equation. Windows SharePoint Services supports two methods of load balancing:

  • Software, such as Network Load Balancing (NLB) services in Windows Server 2003. NLB runs on the front-end Web servers, and uses the TCP/IP networking protocol to route requests. Because NLB (and other software load balancing solutions) runs on the front-end Web servers, it uses the front-end Web system resources, trimming the resources you can use for serving Web pages. However, the impact on system resources is not great, and a software solution can handle up to 32 front-end Web servers.
  • Hardware, such as a router or switch box. Load balancing hardware uses your network to direct Web site traffic between your front-end Web servers. Load balancing hardware is more expensive to set up than software, but does not use any of your front-end Web server resources to run. Windows SharePoint Services can be used with any load balancing hardware.

There is a third method of load balancing, round-robin load balancing with Domain Name System (DNS). Round-robin DNS load balancing uses a lot of resources on the front-end Web servers, is slower than either load balancing software or hardware, and is not recommended for use with Windows SharePoint Services.

Preparing the Back-End Database Servers

To set up your back-end database servers, you must perform the following steps.

  • Install either SQL Server 2000, Service Pack 3 or later, or SQL Server 2005.

You can use the Standard or Enterprise edition of either SQL Server 2000 or SQL Server 2005 with Windows SharePoint Services. Be sure to install the latest service pack for SQL Server. For more information about installing SQL Server, see the SQL Server 2000 documentation.

  • Set a secure password for your SQL Server administration account.

You must know both the administrator user account and password to be able to connect between Windows SharePoint Services on the front-end Web servers and SQL Server on the back-end servers. It is recommended that you set a secure password for the administration account. If you are using Integrated Windows authentication (recommended), you should use a domain account with permissions to create databases in SQL Server. At a minimum you must grant the account Security Administrators and Database Creators roles. If you are using SQL Server authentication, this means that the "sa" account should have a secure password. For more information about setting the administrator user name and password, see the SQL Server 2000 or SQL Server 2005 documentation.

  • Configure the authentication method for connections between the Web servers and SQL Server.

For better security in your server farm, it is recommended that you use Integrated Windows authentication, rather than SQL Server authentication, for connections between your front-end Web servers and the back-end database servers. Integrated Windows authentication uses a domain user account to control access to SQL Server, rather than storing credentials in the registry and passing them across the network as in SQL Server authentication.

The steps for configuring SQL Server differ between SQL Server 2000 or SQL Server 2005, as detailed in the following procedures.

Configure authentication for SQL Server 2000
  1. On the back-end database servers, click Start, point to All Programs, point to Microsoft SQL Server, and then click Enterprise Manager.

 Note   To use SQL Server Enterprise Manager, you must be a SQL Server database administrator.

  1. Click the plus sign (+) next to Microsoft SQL Servers.
  2. Click the plus sign (+) next to SQL Server Group.
  3. Right-click the SQL server name, and click Properties.
  4. In the Properties dialog box, click the Security tab.
  5. Under Authentication, select Windows only, and then click OK.

Proceed to Grant database creation rights in SQL Server 2000.

Configure authentication for SQL Server 2005
  1. On the back-end database servers, click Start, point to All Programs, point to Microsoft SQL Server 2005, and then click SQL Server Management Studio.
  2. On the Connect to Server screen, select the name of the local server from the Server name drop-down list.
  3. Select Windows Authentication from the Authentication drop-down list and then click Connect.
  4. In Object Explorer, right-click the server name and then click Properties.
  5. On the Server Properties - <Servername> screen, in the Select a page section, click Security.
  6. In the Server authentication section, select Windows Authentication mode, and then click OK.

Proceed to Grant database creation rights in SQL Server 2005.

Grant database creation rights in SQL Server 2000

If you are using a domain account that does not already have database creation rights in SQL Server, you can give the account this access in SQL Server Enterprise Manager. This is a one-time only change. After you have granted database creation permissions to the account used by the Windows SharePoint Services administration virtual server application pool, this account can create databases for any subsequent virtual servers.

  1. On the back-end database servers, click Start, point to All Programs, point to Microsoft SQL Server, and then click Enterprise Manager.

 Note   To use SQL Server Enterprise Manager, you must be a SQL Server database administrator.

  1. In Enterprise Manager, click the plus sign (+) next to Microsoft SQL Servers, click the plus sign (+) next to SQL Server Group, and then click the plus sign (+) next to your SQL Server computer.
  2. Click the plus sign (+) next to Security, and then right-click Logins, and click New Login.
  3. In the Name box, type the account in the form DOMAIN\name.
  4. Click the Server Roles tab on the New Login pane.
  5. In the Server Role list, select the Security Administrators and Database Creators check boxes, and then click OK.

Proceed to Preparing the Front-End Web Servers.

Grant database creation rights in SQL Server 2005

If you have used a domain account that does not already have database creation rights in SQL Server, you can give the account this access using SQL Server Management Studio. This is a one-time-only change. After you have granted database creation rights to the account used by the Windows SharePoint Services administration virtual server, this account can create databases for any subsequent virtual servers.

  1. On the back-end database servers, click Start, point to All Programs, point to Microsoft SQL Server 2005, and then click SQL Server Management Studio.
  2. On the Connect to Server screen, select the name of the local server from the Server name drop-down list.
  3. Select Windows Authentication from the Authentication drop-down list and then click Connect.
  4. In Object Explorer, click the plus sign (+) next to Security.
  5. Right-click Logins, and then click New Login.
  6. In the Login – New screen, in the Login name box, type the account in the form of DOMAIN\accountname.
  7. In the Select a page section, click Server Roles.
  8. In the Server roles list, select the securityadmin and dbcreator check boxes, and then click OK.

Preparing the Front-End Web Servers

To prepare your front-end Web servers for Windows SharePoint Services, you must verify all front-end Web servers meet the minimum hardware and software requirements. You must then configure them as Web servers, running Internet Information Services (IIS) 6.0 and either ASP.NET 1.1, ASP.NET 2.0, or both, and you must set IIS to run in IIS 6.0 worker process isolation mode instead of IIS 5.0 isolation mode. For details about preparing your front-end Web servers, see Preparing Front-End Web Servers for Windows SharePoint Services.

Installing Windows SharePoint Services

After you have prepared the back-end database and front-end Web servers, you can install Windows SharePoint Services on the front-end Web servers. Note that you must install Windows SharePoint Services on each front-end Web server.

The installation steps vary, depending on whether you are installing Windows SharePoint Services on Windows Server 2003 R2 or a prior version of Windows 2003 Server.

Install Windows SharePoint Services on Windows 2003 R2

Windows SharePoint Services is included as a role in Windows Server 2003 R2. You must install Windows SharePoint Services using the Add/Remove Windows Components in Control Panel Add/Remove Programs. If you use the Configure Your Server or Manage Your Server only the typical (WMDSE) option is available.

  1. Click Start, point to Control Panel, and then click Add or Remove Programs.
  2. Click Add/Remove Windows Components.
  3. In the Windows Components dialog box, scroll down and locate Windows SharePoint Services, select its check check box, and then click Next to begin installation.
  4. When prompted, insert the Windows Server 2003 R2 CD 2 and browse to %drive%\cmpnents\r2\setupsts.exe, where %drive% is the drive letter of your CD drive.

 Note   You can optionally browse to a network location where Setupsts.exe is located.

  1. Click Open and then click OK.
  2. When the Installation Screen appears, click Server Farm and then click Next.
  3. On the Summary page, verify that only Windows SharePoint Services will be installed, and then click Install.

When installation is complete, you browser opens the Configure Administrative Virtual Server page.

  1. Select the application pool and security account to use and click OK.

Proceed to Configuring Windows SharePoint Services.

Install Windows SharePoint Services on Windows Server 2003

You use the following steps to install Windows SharePoint Services with the remote SQL Server option on Windows Server 2003. To perform these steps for a server farm, it is required that you use the command-line administration tool, Stsadm.exe. For more information about using Stsadm.exe, see Introducing the Administration Tools for Windows SharePoint Services.

  1. Download STSV2.exe to your computer.

You can download STSV2.exe from the Microsoft Download Center.

  1. Run STSV2.exe to extract the installation files.

The installation files will be extracted to the %drive%:\program files\STS2Setup_LCID directory (where “LCID” is the local ID for the version of Windows SharePoint Services you extracted).

  1. When the Windows SharePoint Services installation starts, click Cancel.
  2. Click Start, and then click Run.
  3. In the Open box, type %drive%:\folder\setupsts.exe remotesql=yes (where %drive%:\folder is the path to the Setupsts.exe file on your local computer).

For example, if you extracted the US English version of STSV2.exe to the C: drive, then the folder is c:\program files\STS2Setup_1033, in which case you would type c:\program files\STS2Setup_1033\setupsts.exe remotesql=yes.

  1. Click OK.

The Windows SharePoint Services Setup program opens.

  1. On the End-User License Agreement page, review the terms, and then select the I accept the terms in the License Agreement check box, and then click Next.
  2. On the Type of Installation page, click Server Farm, and then click Next.
  3. On the Summary page, verify that only Windows SharePoint Services will be installed, and then click Install.

Setup runs and installs Windows SharePoint Services. When installation is complete, you browser opens the Configure Administrative Virtual Server page.

  1. Select the application pool and security account to use and click OK.

Proceed to Configuring Windows SharePoint Services.

Configuring Windows SharePoint Services

Now that Windows SharePoint Services is installed on your front-end Web servers, you can now configure Windows SharePoint Services. Perform the following procedures on each front-end Web server:

  • Create the administration virtual server and configuration database

You create an administration virtual server on each front-end Web server, but you only need to create the configuration database when you configure the first front-end Web server; for subsequent front-end servers, you can simply connect to the same configuration database.

  • Extend a virtual server

When IIS is installed a Default Web Site is created. By default, this is the virtual server that will be extended.

  • Create sites

Creating sites for users is the final step. You can also enable Self-Service Site Creation so users can create their own sites. For more information, see Configuring Self-Service Site Creation.

 Note   Configuring scalable hosting mode is not supported using HTML administration pages.

  • Create the administration virtual server and configuration database.

You only need to create the configuration database once, when you configure the first front-end Web server; for subsequent front-end servers, you can simply connect to the same configuration database.

  • Create and extend a virtual server.

When IIS is installed a Default Web Site is created. By default this is the virtual server that will be extended.

  • Create sites.

Creating sites for users is the final step. You can also enable Self-Service Site Creation so users can create their own sites. For more information, see Configuring Self-Service Site Creation.

Create the administration virtual server and configuration database

The following steps will use the stsadm.exe command line utility to configure the Administration port and set the configuration database. Refer to the command line operations section of the Windows SharePoint Services Administrator's guide for required and optional parameters.

  1. Open a command prompt window, and navigate to the \Program Files\Common Files\Microsoft Shared\Web Server Extensions\60\bin folder.
  2. If you are running Windows SharePoint Services on Windows Server 2003 R2, skip to step 4. Otherwise, if you are running a version of Windows Server 2003, prior to R2, then proceed to step 3.
  3. Run the following command to create the administration virtual server:
 stsadm.exe -o setadminport -port <port> 
  [-admapcreatenew] [-admapidname <ID for application pool>] 
  [-admapiptype <configurableid/NetworkService/LocalService /LocalSystem>]
  [-admapidlogin <user account for the application pool>] 
        [-admapidpwd <password>] 

Note that you can use any unused port between 1023 and 32767 for the admin port.

  1. Run the following command to create the configuration database.

 Note   Because you use one configuration database for all your virtual servers, you only perform this step on the first front-end Web server.

 stsadm.exe -o setconfigdb -ds <database server name> 
  [-dn sts_config -hh
  [-du <database user>] [-dp <password>]  

 Note   If you are using Integrated Windows authentication, you do not need to specify the du or dp parameter.

To connect to the configuration database from subsequent front-end Web servers, use the Set Configuration Database page in HTML Administration, or the following syntax:

stsadm.exe -o setconfigdb -ds <database server name> -dn sts config -connect
  [-du <database user>] [-dp <password>] 

 Note   If you are using Integrated Windows authentication, you do not need to specify the du or dp parameter.

With the administration virtual server and configuration database in place, you can extend the default Web site with Windows SharePoint Services to provide sites for your users. Each front-end Web server needs at least one virtual server for Web sites.

You can use either the command line or HTML Administration pages to extend the virtual server. The following section describes how to extend the virtual server from the command line. For information, see Extending Virtual Servers.

Extend the virtual server from the command line
  1. Open a command prompt window, and navigate to the \Program Files\Common Files\Microsoft Shared\Web Server Extensions\60\bin folder.
  2. Run the following command to extend the virtual server
 stsadm -o extendvs -url http://servername 
       -ds <database server name> -dn <database name> -donotcreatesite 
        -ownerlogin <DOMAIN\user> -owneremail <email address>
 
  [-du <database user>]  
  [-dp <password>]
  [-ownername <display name>] [-apcreatenew] [-apidname <application pool name>]
  [-apidtype <configurableid/NetworkService/LocalService/LocalSystem>] 
  [-apidlogin <application pool user account>]
  [-apidpwd <application pool password>] [-exclusivelyusentlm] 

 Note   The default Web site created during the installation of IIS is configured to use all unassigned IP addresses. You can assign an IP address to the default Web site. When extending the virtual server in scalable hosting mode, you must use the IP address instead of the servername or the command will fail.

Be sure to use the donotcreatesite parameter when you extend the virtual server. Without this parameter, a site is automatically created when you extend the virtual server, and the site will not be affiliated with a host name.

Note that the du and dp parameters are not needed if you are using Integrated Windows authentication to connect to SQL Server. It is recommended that you create a new application pool to use for your virtual servers, so that they run in separate processes from the administrative virtual server. Use the same application pool for each server farm virtual server on each front-end Web server. This application pool should use a domain account, but it does not need to have database creation rights in SQL Server. The administration virtual server account will create any databases required.

Creating Sites

After following the steps above, you are ready to create top level sites for your users. This is the last step in the process for setting up your server farm; after this step, you can start adding users and managing the sites.

  1. Open a command prompt window, and navigate to the \Program Files\Common Files\Microsoft Shared\Web Server Extensions\60\bin folder.
  2. Run the following command to create a site:
stsadm.exe -o createsite -url http://<http://site1.myserver.com> 
-ownerlogin <DOMAIN\user> -owneremail <email address> 
[-ownername <display name>]
[-lcid <lcid>]
[-sitetemplate <site template>]
[-title <title>]
[-description <description>]

Repeat this step for every site you want to create.

 Note   To view a list of sites that have been added, you must access the sites table in the configuration database. You can use Microsoft Excel to import the sites data table.

Optionally, you may want to remove the original top-level Web site for the virtual server. To do so, use the following command line syntax:

stsadm.exe -deletesite -url http://servername

Setting up a test environment

If you are setting up the multiple host names model for your server farm, you need to create the mapping for the sites you will create for users. The following example shows one way to set up a test environment with multiple host named sites. In a real deployment, you would map the host names in the Domain Name System (DNS).

Add host names for the IP address and create sites
  1. Open the c:\WINNT\system32\drivers\etc\hosts file.
  2. Add the IP address for the virtual server that will host your sites, and then add the host names to use. By default, the IP address assigned to your server will be the IP address you enter into the hosts file. You can get this IP address by opening a command prompt window and running the IPCONFIG command.

For example, if the IP address of your server is 111.11.111.11, you could add the following entries to the hosts file:

111.11.111.11 site1.myserver.com

111.11.111.11 user2.myserver.com

111.11.111.11 site2.myserver.com

111.11.111.11 team1.myserver.com

 Notes 

  • The IP address must be in the first column and the host name must be separated by at least one space.
  • For testing purposes, you may have to remove any proxy server setting in Internet Explorer.
  1. Save and close the hosts file.

The server must be restarted for the host file to take effect. After restarting the server, you can verify your host file entries are correct by pinging the host name. If you ping site1.myserver.com, for example, it should return the IP address of the server.

Next Steps

Your server farm is now set up to serve Windows SharePoint Services Web sites with multiple host names. You can start adding users and managing sites, or you can perform the following optional but recommended steps:

  • It is recommended that you help protect your administration virtual server either by using a firewall to block access or by using Secure Sockets Layer (SSL) for the port. For more information, see Configuring Authentication.
  • As your sites increase in number and size, you will want to be able to add content databases or change connections to the content databases. For more information about content databases, see Managing Content Databases.