How to Create a Host Named Site Collection Exposed Only on the Default Zone

You can deploy multiple Solution Storefront site collections as host named site collections in the same Web application. By default, you can only access host named site collections on the default zone (the internal zone exposed to business users), which in this case is the Windows Authenticated zone. In this situation, the site collections target the same Microsoft Commerce Server 2009 R2 site.

Note

For host-based site collections, only the default zone can be exposed with the host name site address. If you are creating host based site collections for a web application with a default and extended zone, the default zone should be the public zone.

If you are not using the

Use the following procedure to create a host named site collection only exposed on the default zone.

To create a host named site collection exposed only on the default zone

  1. Log on to the operating system under a user account that has the required permissions.

  2. Start the SharePoint Commerce Services Configuration Wizard. Using Windows Explorer, browse to %COMMERCE_SERVER_ROOT%SharePointServices\Site\ and double-click SharePointCommerceServicesConfiguration.exe.

    The SharePoint Commerce Services Configuration Wizard opens and verifies whether all required software is installed on the server and all required services are running. It displays the result of this dependency check.

  3. Do one of the following:

    • If the dependency check indicates that some software is missing or that some services are not running, click Cancel, install the missing software and/or start the required services, and start the Wizard again.

    • If the dependency check is successful, click Next.

  4. On the page to select the SharePoint Commerce Services to deploy, select Commerce SharePoint Default Site and Web Parts, and then click Next.

  5. On the page to select the SharePoint application and site collection, specify the Web application where you want to deploy the SharePoint Commerce Services. Do one of the following:

    • To use an existing SharePoint Web application, select it from the drop-down list in the Web Application box. Go to step 7.

    • To create a new Web application, click Browse in the Web Application box. Go to step 6.

  6. On the page to create the new Web application, do all of the following:

    1. In the IIS Web Site section:

      Use this

      To do this

      Description

      Type a name for the SharePoint Web application (or accept the default).

      Port

      Specify the port for the SharePoint Web application(or accept the default).

      Host Header

      (Optional) Specify the host name to use for the host header (if different from the name of the physical host where the application is running).

    2. In the Extended IIS Web Site section:

      Use this

      To do this

      Description

      Type a name for the SharePoint Web application (or accept the default).

      Port

      Specify the port for the SharePoint Web application (or accept the default).

      Host Header

      (Optional) Specify the host name to use for the host header (if different from the name of the physical host where the application is running).

    3. In the Application Pool section, do one of the following:

    • Select an existing application pool for the SharePoint Web application from the drop-down list.

    • Create a new application pool. You must specify a name for the application pool, a valid user account, and password.

    1. Click Next.

      The Wizard creates the Web application and returns to the page where you must select a SharePoint application and Site collection.

  7. On the page to select the SharePoint application and site collection, do the following:

    1. In the Web Application box, select the new business user port.

    2. In the Site Collection Title box, type the site collection name where the Web Parts will be activated.

    3. Optionally, in the Site Collection Description box, type the valid user account name of the user who is to be the primary administrator for the new site collection. The selected user will automatically receive SharePoint administrative privileges for the site collection you selected.

    4. In the Site Collection Web Site Address section, select Host named and type the address in the related text box. The address must be in one of the following formats, including the port of your default zone:

    • http: //[hostheader name]:port

    • http:://[machine name of your business user Web application]:port

      For example, http://myhostname:8080.

    • To use an existing site, select it from the Commerce Server Site box, and then click Next. Go to step 8.

      Hh567812.alert_caution(en-us,CS.95).gifImportant Note:

      To have the correct schema, the existing Commerce Server 2009 R2 site you select must have been unpacked from one of the PuP files included with Commerce Server 2009 R2.

    • To create a new site, select the Create Commerce Site check box. Go to step 8.

  8. To create a new Commerce Server 2009 R2 site, do all of the following:

    • In the Commerce Server Site box, type the name to assign to the site; the name cannot have any spaces.

    • Optionally, type a description in the Site Description box.

    • Choose whether to unpack only the Commerce Server 2009 R2 site's schema, or to unpack the schema and the sample data.

    • In the Database Options section, in the Database Server box, type the host name of the database server where the new Commerce Server 2009 R2 site's databases will be unpacked. To install the site's databases to several different SQL Server hosts, click Advanced. You can then type the SQL Server host name for each individual site database displayed in the table.

    Note

    The SharePoint Commerce Services Configuration Wizard does not unpack the Commerce Server 2009 R2 Web services when it creates a new Commerce Server 2009 R2 site. To install the Web services in the site, follow the instructions in Unpack Commerce Server Web Services.

  9. Click Next.

    A page appears listing a summary of the tasks the wizard will complete based on the selections you made in previous pages.

  10. To make changes to your selections, click Back. To proceed with the deployment with the current selections, click Next.

  11. On the Configuration Complete page, click View Site to go to the root site, or click Finish to exit the wizard.

    1. Note   When you first view the Solution Storefront, you will see a message that reads as follows: "Web Part cannot be displayed. The catalog name and/or channel name have not been specified for this site. Please check your Channel Configuration." To address this issue, see How To Specify the Channel and Catalog.
  12. You must map the host named site collection URL on your DNS server. For a local development environment, in the host file, C:\Windows\System32\drivers\etc\hosts, you can set the IP for the host named site collection URL to the IP you selected for the Web application used for the default zone, which in this case would be the Windows zone.

  13. Set the path of the Authorization Manager stores in the ChannelConfig.config file:

    1. Navigate to the virtual directory of the business user Web application that the Solution Storefront has been deployed to. For example, c:\inetpub\wwwroot\wss\virtualdirectories\portNumber.

    2. Using Microsoft Visual Studio, in the ChannelConfiguration.config file, set the path of the Authorization Manager stores to the correct location. Set the following paths:

    • policyFilePath="**c:\path\**CatalogAuthorizationStore.xml"

    • policyFilePath="**c:\path\**ProfilesAuthorizationStore.xml"

    • policyFilePath="**c:\path\**OrdersAuthorizationStore.xml"

    • policyFilePath="**c:\path\**CommerceEntityAuthorizationStore.xml"

      The following is an example of the ChannelConfig.config file:

      <claimStores>
      <claimStore name="CatalogAuthorizationStore" issuer="https://schemas.microsoft.com/microsoft-multi-channel-commerce-foundation" type="microsoft.Commerce.Server.CommerceAzmanClaimStore, Microsoft.Commerce.Server, Version=9.0.0.0, Culture=neutral,PublicKeyToken=31bf3856ad364e35">
      <Configuration customElementName="commerceAzmanClaimStore" customElementType="Microsoft.Commerce.Server.Configuration.CommerceAzmanClaimStoreConfigurationElement, Microsoft.Commerce.Server, Version=9.0.0.0, Culture=neutral,PublicKeyToken=31bf3856ad364e35">
                  <commerceAzmanClaimStore
                    policyFilePath="c:\path\CatalogAuthorizationStore.xml"
                    application="CatalogandInventorySystem"
                    cachingEnabled="true"
                    claimType="https://schemas.microsoft.com/ws/2008/06/identity/claims/role" />
                </Configuration>
              </claimStore>
              <claimStore name="ProfileAuthorizationStore" issuer="https://schemas.microsoft.com/microsoft-multi-channel-commerce-foundation" type="Microsoft.Commerce.Server.CommerceAzmanClaimStore, Microsoft.Commerce.Server, Version=9.0.0.0, Culture=neutral,PublicKeyToken=31bf3856ad364e35">
                <Configuration customElementName="commerceAzmanClaimStore" customElementType="Microsoft.Commerce.Server.Configuration.CommerceAzmanClaimStoreConfigurationElement, Microsoft.Commerce.Server, Version=9.0.0.0, Culture=neutral,PublicKeyToken=31bf3856ad364e35">
                  <commerceAzmanClaimStore
                    policyFilePath="c:\path\ProfilesAuthorizationStore.xml"
                    application="ProfileSystem"
                    cachingEnabled="true"
                    claimType="https://schemas.microsoft.com/ws/2008/06/identity/claims/role" />
                </Configuration>
              </claimStore>
              <claimStore name="OrderAuthorizationStore" issuer="https://schemas.microsoft.com/microsoft-multi-channel-commerce-foundation" type="Microsoft.Commerce.Server.CommerceAzmanClaimStore, Microsoft.Commerce.Server, Version=9.0.0.0, Culture=neutral,PublicKeyToken=31bf3856ad364e35">
                <Configuration customElementName="commerceAzmanClaimStore" customElementType="Microsoft.Commerce.Server.Configuration.CommerceAzmanClaimStoreConfigurationElement, Microsoft.Commerce.Server, Version=9.0.0.0, Culture=neutral,PublicKeyToken=31bf3856ad364e35">
                  <commerceAzmanClaimStore
                    policyFilePath="c:\path\OrdersAuthorizationStore.xml"
                    application="OrderSystem"
                    cachingEnabled="true"
                    claimType="https://schemas.microsoft.com/ws/2008/06/identity/claims/role" />
                </Configuration>
              </claimStore>
            </claimStores>
      <claimStore name="CommerceEntityAuthorizationStore" issuer="https://schemas.microsoft.com/microsoft-multi-channel-commerce-foundation" type="Microsoft.Commerce.Server.CommerceAzmanClaimStore, Microsoft.Commerce.Server, Version=9.0.0.0, Culture=neutral,PublicKeyToken=31bf3856ad364e35">
                  <Configuration customElementName="commerceAzmanClaimStore" customElementType="Microsoft.Commerce.Server.Configuration.CommerceAzmanClaimStoreElement, Microsoft.Commerce.Server, Version=9.0.0.0, Culture=neutral,PublicKeyToken=31bf3856ad364e35">
                    <commerceAzmanClaimStore policyFilePath=" c:\path\CommerceEntityAuthorizationStore.xml" application="CommerceFoundation" cachingEnabled="true" claimType="https://schemas.microsoft.com/ws/2008/06/identity/claims/role" />
                  </Configuration>
                </claimStore>
      
  14. Add the authorization stores for the Commerce Server 2009 R2 Web services to the Authorization Manager, and associate users with the authorization stores. To add authorization stores to your site:

    1. Click Start, click Run, type azman.msc, and then click OK.

    2. In the Authorization Manager, right-click the Authorization Manager element in the left pane, and select the Open Authorization Store option.

    3. In the Open Authorization Store window, select XML file as the authorization store type, specify the path to the directory that contains the CatalogAuthorizationStore file in the Store name box, and then click OK. The Authorization Manager adds the specified authorization store in the left pane.

    4. In the left pane of the Authorization Manager, expand the CatalogAuthorizationStore.xml component.

    5. Under the CatalogAndInventorySystem sub-component, expand the Role Assignments folder.

    6. Right-click the role to which you want to assign users (for example, the Administrator role), and then click Assign users and Groups, and then click From Windows and Active Directory.

    7. Type the name of the user account that will use the Catalog Web service, and then click OK.

    8. Repeat steps b to g to add the OrdersAuthorizationStore and the ProfilesAuthorizationStore files to the Authorization Manager, and configure user permissions for the Orders and Profiles Web services.

    9. Repeat steps b to g to add the CommerceEntityAuthorizationStore to the Authorization Manager and to specify the authorized identities that can perform CommerceQueryOperation, CommerceCreateOperation, CommerceUpdateOperation, or CommerceDeleteOperation on commerce entities. For example, specify the secure token service (STS) identities that can query for CommerceClaims or the identities that can perform update, query, or delete operations on the CommerceCache entity. For more information, see Configuring Authorization for a Commerce Entity.

  15. From a Command Prompt, run IISRESET.

For development environments, mapping a host named URL to localhost causes the Web site to display a blank page after being challenged numerous times. In order to resolve this issue, you must disable loopback checking.

To disable loopback checking

  1. From a Command Prompt, run regedit.

  2. Locate the following key: HKLM\System\CurrentControlSet\Control\Lsa.

  3. Create a new DWORD value called DisableLoopbackCheck and assign it a value of 1.

  4. Restart the computer.

See Also

Other Resources

Commerce Server Solution Storefront

Configuring Authorization for a Commerce Entity