Configuration guide for Sitecore CM-CD Environment – Part III
Home

Configuration guide for Sitecore CM-CD Environment – Part III

Author: Surendra Sharma | Categories: CMS selection, Sitecore CMS, CMS

Configuring the Content Delivery Environment

This blog describes Content Delivery [CD] instance is nothing but your LIVE website.

To configure the CD environment, you must set up one or more CD instances on one or more Web servers.

Sitecore recommends that you use a dedicated Web server for every Sitecore CMS instance in the environment. 

To configure an instance of Sitecore CMS in a CD environment:

  1. Install client only Sitecore CMS web application on the server.
  2. Configure the web application to connect to the Core and Web databases only from the database server.
  3. Provide full control permissions to Network service and IIS user on Data folder.
  4. Provide permissions to IIS user on website folder.
  5. Put SwitchMasterToWeb.config file to "include" folder.
  6. Rename \include\ScalabilitySettings.config.example file to ScalabilitySettings.config
  7. Rename \include\ForwardingSecurityEvents.config.example file to ForwardingSecurityEvents.config
    Open ForwardingSecurityEvents.config and make below entry web true

<targets hint="list">
<web>web</web>
</targets>
</processor>
</initialize>  
</pipelines>
<databases>
<database id="web">
        <remoteEvents.listenToEvents>true</remoteEvents.listenToEvents>
      </database>
</databases>

  1. Rename \include\Sitecore.ContentSearch.config.example file to Sitecore.ContentSearch.config
    Open Sitecore.ContentSearch.config and make below entry for new Handler under indexing:end:remote event

<sitecore>
    <events>
      <event name="indexing:start" />
      <event name="indexing:start:remote" />
      <event name="indexing:end">
        <handler type="Sitecore.ContentSearch.Maintenance.IndexDependentHtmlCacheManager, Sitecore.ContentSearch" method="Clear" />
      </event>
      <event name="indexing:end:remote" >
        <handler type="Sitecore.ContentSearch.Maintenance.IndexDependentHtmlCacheManager, Sitecore.ContentSearch" method="Clear" />
      </event>
    </events>

  1. Make sure web database entry in Sitecore.ContentSearch.Lucene.Index.Web.config as

          <crawler type="Sitecore.ContentSearch.SitecoreItemCrawler, Sitecore.ContentSearch">
  <Database>web</Database>

  1. There should be only two entry in /App_Config/ConnectionStrings.config for core and new pub database as a web entry

<add name="core" connectionString="user id=sa;password=abc;Data Source=tesrsrv;Database=TestSitecore_Core"/>

<add name="web" connectionString="user id=sa;password=abc;Data Source= tesrsrv;Database=TestSitecorePub_Web"/>

  1. Restrict Access to Client Interfaces To prevent unauthorized access to the Sitecore Client interfaces 

    To restrict access to client interfaces, disable Anonymous IIS access to all files and folders under the /sitecore folder of the Sitecore web application except to the /sitecore/service folder.

    The /sitecore/service folder should be excluded from the IIS restrictions because it contains a number of service ASPX pages that are used by the Sitecore application when reporting various conditions that may occur in the application, such as, 404 Page Not Found or 500 Server Error, to the web client. So make enabled permission for service folder.

  2. Post CM-CD setup activity

    • Change content on CM and publish on both the target and verify the changes are reflecting on both the server.
    • Rebuild the index on CM and verify Data\Indexes folder change date on both CM and CD. Lucene Search should return the same number of result on both the server.