Sitecore 9 Installation Steps

There is a huge excitement amongst Sitecore enthusiasts as Sitecore 9 was launched officially now. Just like every Sitecore enthusiast, I too was curious to have a look at it so I decided to install Sitecore 9 on my dev box.

We’ve got a few articles already from Sitecore Devs around the world exploring Sitecore 9, had a look at few of them while installing Sitecore 9, it’s only fair to thank them in no particular order: –

To get the general idea about Sitecore 9 and it’s latest features – a very good article from JammyKam!

Had a very good help from these both articles while setting up Sitecore 9 on my local, so big thanks to both of you guys!

As you would’ve probably known by now that Sitecore 9 has following pre-requisites: –

Start with SOLR Setup

Once you are done with gathering pre-requisites, start with SOLR 6.6.1 Setup.
Create the root folder, D:\Sc9_root (or as you like!) and unzip (Actually, it could be extracted anywhere in your file system but I chose to keep it at root folder).
Open cmd prompt as Administrator and navigate to the D:\Sc9_root\Solr_6.6.1\bin and run the command as below to start SOLR: –

solr start -p 8983 (can choose any port)

Enter the command to stop SOLR

solr stop -p 8983

Set Up SSL for SOLR

Make sure you’ve JRE installed.
Download solrssl.ps1 Script from Kamsar (Thank you Kam!) to generate SSL Certificate and put it to root folder i.e. D:\Sc9_root
Open Windows Powershell as Administrator and navigate to

D:\Sc9_root\solrssl.ps1 -KeystoreFile D:\Sc9_root\solr-6.6.1\apache-solr\server\etc\solr-ssl.keystore.jks

The other way as mentioned in is to

Open Windows Powershell as Administrator and navigate to D:\Sc9_root\solrssl.ps1

Enter path of keytool (found in JRE folder): C:\Program Files\Java\Jre1.8.0_151\bin\keytool.exe

This will generate JKS Keystore… once generated place below files to $SOLR_Home\Server\etc (i.e. D:\Sc9_root\solr-6.6.1\server\etc)

  • solr-ssl.keystore.jks
  • solr-ssl.keystore.p12

Note: if you get an PSSecurityExeception run below command in Windows Powershell (run as Administrator): –

Set-ExecutionPolicy -Scope CurrentUser Unrestricted

and Enter Y if prompted further.

Open D:\Sc9_root\solr-6.6.1\bin\ and add below lines at the end of the file and save it: –

set SOLR_SSL_KEY_STORE=etc/solr-ssl.keystore.jks
set SOLR_SSL_TRUST_STORE=etc/solr-ssl.keystore.jks

Restart Solr_6.6.1 service is running by going to services.msc.

open a browser, navigate to https://localhost:8983/ you should find SSL Certificate information on your SOLR dashboard.

Enable Contained Database Authentication

As per the Sitecore Install Guide, to enable SQL server to allow users to get created using SIF, you must ensure that target SQL Server is configured correctly. So at DB level, run the below query: –

sp_configure ‘contained database authentication’, 1;

Install Sitecore Install Framework and Sitecore Fundamentals

Open Windows Powershell as Administrator and user following commands to install the latest version of SIF (As per the Sitecore Install Guide)

If you want to do manual installation of SIF and Sitecore Fundamentals use this link (

Run the following command in Windows Powershell to validate the modules installed: –

Get-Module SitecoreInstallFramework –ListAvailable

Download and Unzip the Package for XP Single on your root folder. You should get the zip files: –

  1. Sitecore 9.0.0 rev. 171002 (OnPrem)
  2. Sitecore 9.0.0 rev. 171002 (OnPrem)
  3. XP0 Configuration files

Extract the XP0 Configuration files file to get the bunch of .json files: –

  • sitecore-solr.json
  • sitecore-XP0.json
  • xconnect-createcert.json
  • xconnect-solr.json
  • xconnect-xp0.json

Copy and paste your Sitecore license file (license.xml) to your root folder.

Time to Begin: –

If you go through the Install Guide, you will find that some parameters needs to be configured in sitecore-XP0.json before initiating the Installation.

Configure the parameters as per your development box: –


Run the command in Windows PowerShell as Administrator to begin the installation

Install-SitecoreConfiguration –Path C:\Sc9_root\sitecoreXP0.json

Alternatively, you could choose the easy way by downloading sc9_install.ps1this is really a time saver!

Once installation is completed, you could see Sitecore 9 is installed on your machine.

Don’t forget to complete the post-installation steps as mentioned in the Sitecore 9 Install Guide to Add a Recognized User to the xDB Shard Databases: –

:SETVAR DatabasePrefix sc9
:SETVAR UserName collectionuser
:SETVAR Password Test12345
:SETVAR ShardMapManagerDatabaseNameSuffix _Xdb.Collection.ShardMapManager
:SETVAR Shard0DatabaseNameSuffix _Xdb.Collection.Shard0
:SETVAR Shard1DatabaseNameSuffix _Xdb.Collection.Shard1


IF(SUSER_ID(‘$(UserName)’) IS NULL)
CREATE LOGIN [$(UserName)] WITH PASSWORD = ‘$(Password)’; END;

USE [$(DatabasePrefix)$(ShardMapManagerDatabaseNameSuffix)]
IF NOT EXISTS (SELECT * FROM sys.database_principals WHERE name = N’$(UserName)’) BEGIN
CREATE USER [$(UserName)] FOR LOGIN [$(UserName)]
GRANT SELECT ON SCHEMA :: __ShardManagement TO [$(UserName)] GRANT EXECUTE ON SCHEMA :: __ShardManagement TO [$(UserName)] END;

USE [$(DatabasePrefix)$(Shard0DatabaseNameSuffix)]

IF NOT EXISTS (SELECT * FROM sys.database_principals WHERE name = N’$(UserName)’) BEGIN
CREATE USER [$(UserName)] FOR LOGIN [$(UserName)]
EXEC [xdb_collection].[GrantLeastPrivilege] @UserName = ‘$(UserName)’ END;

USE [$(DatabasePrefix)$(Shard1DatabaseNameSuffix)]

IF NOT EXISTS (SELECT * FROM sys.database_principals WHERE name = N’$(UserName)’) BEGIN
CREATE USER [$(UserName)] FOR LOGIN [$(UserName)]
EXEC [xdb_collection].[GrantLeastPrivilege] @UserName = ‘$(UserName)’ END;


Have fun!!

About Amit Rajani

Certified Sitecore Developer, Microsoft Certified Professional Developer for .Net Framework 4.5, Gamer, Loves Travelling, Reading!
This entry was posted in Installation, Sitecore, Sitecore 9, SOLR, SQL Server. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s