What are the steps to easily identify which environment is configured for CD and CM? Suppose you are given with number Sitecore servers and you want to find out which one is being configured as. For some reasons, if all the servers have never been configured as CD vs CM what are the best approach to start configure them?
Answer to this question will slightly vary on your Sitecore Version but I am listing out most common differentiating factors. If earlier both the environments were configured correctly than you can easily find out the following difference:
Sitecore Admin Panel and Admin pages
Mostly Sitecore Admin Panel and Admin Pages is restricted on the CDs. Hence if on the URL if access to the Sitecore Admin console it restricted, means it is configured as CD.
Configuration Files on Content Management
- Connection string will have all the databases configured – Core, Master, all Publishing Targets and Reporting DB (If you are using xDB, since you are on 8.2).
SwitchMasterToWeb.configwill be either disabled or not configured.
- If using xDb, Reporting Database should be configured on CM
- The Robot Detection component is not required on a CM.
Configuration Files on Content Delivery
- Connection String will mostly have only – Core, Web and Mongo DBs (If you are using xDB, since you are on 8.2). BUT NO MASTER DB.
SwitchMasterToWeb.configwill be probably enabled and configured properly.
- If using xDb, Collection Database should be configured on CDs.
- The Robot Detection component is required on a CD.
In most implementations CDs are load balanced, if you don’t have topology diagram of the current setup, check if it is an F5 URL communicating with more than 1 web servers at the background.
More detailed comparison of the configuration file can be found in this Excel:
Please refer the URLs below for more details, if needed:
- URLs provided above are for Sitecore Version 8.2.
- Assuming you don't have dedicated Processing and Reporting Servers configured. Cause if you have multiple content management servers, there should be a dedicated Reporting Service server.
- Steps to configure CM and CD depends on your Sitecore Version, please update the question with the details and will update my answer accordingly.
CD ConnectionString Config would have only Core and Web Databases. CM ConnectionString Config should be Referring to Master as well.
In addition you can ping your CMS domain from CMD to get the IP of the server (If its not Load balanced).
There are many ways to understand the CM and CD environment.
Zones – Usually CM servers are kept in DCLAN Zone which is usually not accessible out side the client network. CD Servers are kept in DMZ which is globally accessible for public facing sites.
Sites Node - In Sitecore 8.0 and above you can go to sitecore.config file in Include folder. There unser node you will find all the sites including sitecore default sites like – Here you will get one node of your site, there you can check for the Database. If the database is pointing to “Master” then the site is a CM site or if it is pointing to “Web” it is CD site
Connection String – In Connection String for CM Server you will get connection strings for Core, Master and/or Web database. In Connection String for CD Server you will get connection strings for Core and Web database.