Sitecore 9 Installation step by step

Sitecore has introduced SIF (Sitecore installation framework) to make sure Sitecore installation is trouble-free. But the changes in Sitecore 9 and SOLR setup along with Sitecore 9 sometimes may be a bit overwhelming. So I’m sharing my experience below to help you to make it trouble-free.


Part 1: Java and SOLR setup

Before starting the installation process we have to install and set up JRE and  SOLR. So download JRE from

Setup Java_Home environment variable

Set  JAVA_HOME environment to your JRE installation folder.
You can use below Powershell command to set it up:

$env:JAVA_HOME=”C:\Program Files\Java\jre1.8.0_171″

After that, please run this Powershell command to verify if the path is correct:

echo $Env:JAVA_HOME


Setting up Solr

Next step in the process is setting up SOLR. So download Solr 6.6.2 from here and unzip to C:\Program Files\solr-6.6.2.

Note: Sitecore 9 recommended SOLR version is 6.6.2

To access solr over secure channel you have to enable SSL. So the next step in the process would be to create a self-signed certificate. For that follow below steps.

 Create Keystore

Open windows command prompt with admin privilege and run below command

Note: if you use Windows power shell you may get an error. So use windows command prompt

“C:\Program Files\Java\jre1.8.0_171\bin\keytool.exe” -genkeypair -alias solr-ssl -keyalg RSA -keysize 2048 -keypass secret -storepass secret -validity 9999 -keystore solr-ssl.keystore.jks -ext SAN=DNS:localhost,IP: -dname “CN=localhost, OU=Organizational Unit, O=Organization, L=Location, ST=State, C=Country”

You have to change keytool.exe path based on your java installation path. Please note that the solr-ssl.keystore.jks file will be created in the current directory.

Run below command in command prompt with admin privilege.

“C:\Program Files\Java\jre1.8.0_171\bin\keytool.exe” -importkeystore -srckeystore solr-ssl.keystore.jks -destkeystore solr-ssl.keystore.p12 -srcstoretype jks -deststoretype pkcs12

This will ask for the source and destination passkey which is secret

Install certificate

Double click on solr-ssl.keystore.p12 and follow the prompt. When you reach the Certificate Store window, make sure to place the certificate in the Trusted Root Certification Authorities.

Then copy solr-ssl.keystore.jks, solr-ssl.keystore.p12 to C:\Program Files\solr-6.6.2\server\etc\


Enable SSL in Solr

To enable SSL, edit the file C:\Program Files\solr-6.6.2\bin\ Uncomment properties starting with Solr_SSL_*:

Test start Solr

type cd “C:\Program Files\solr-6.6.2\bin” on windows powershell and enter

then ./solr.cmd -p 8984 and enter


Enter https://localhost:8984/solr/#/ in web browser to test .

Setup Solr to run as a Windows service

Download and extract Non-Sucking Service Manager from

Run following command “C:\Assets\Sitecore9\nssm-2.24\nssm-2.24\win64\nssm.exe” install SOLR6. Change the path of nssm.ex to where you extracted it.

Set the path to ‘C:\Program Files\solr-6.6.2\bin\solr.cmd’ and Arguments to ‘start -f -p 8983’:

Go to service by typing service.msc in the run command and start the service “SOLR6”

Browse https://localhost:8983 to make sure it works.

Sitecore 9 prerequisite installation

 Microsoft PowerShell® version 5.1 or later.
 Web Platform Installer 5.0.

If you have PowerShell already installed in your computer then run below command to check the version


Download and install the following

webdeploy from

URL rewrite

Microsoft SQL Server Data-Tier Application Framework (

Download the SIF Configuration Files

Download Sitecore 9 XP0 package from and then unzip. In my case, I copied it to C:\resourcefiles

Add below script to a notepad and update as required. Then save as install.ps1

#define parameters
$prefix = “qa.sitecore9”
$PSScriptRoot = “C:\resourcefiles”
$XConnectCollectionService = “$prefix.xconnect”
$sitecoreSiteName = “$”
$SolrUrl = “https://localhost:8983/solr”
$SolrRoot = “C:\Program Files\solr-6.6.2”
$SolrService = “SOLR6”
$SqlServer = “DINLAS\xyd”
$SqlAdminUser = “sitecore_admin”
#install client certificate for xconnect
$certParams = @{
Path = “$PSScriptRoot\xconnect-createcert.json”
CertificateName = “$prefix.xconnect_client”
Install-SitecoreConfiguration @certParams -Verbose
#install solr cores for xdb
$solrParams = @{
Path = “$PSScriptRoot\xconnect-solr.json”
SolrUrl = $SolrUrl
SolrRoot = $SolrRoot
SolrService = $SolrService
CorePrefix = $prefix
Install-SitecoreConfiguration @solrParams
#deploy xconnect instance
$xconnectParams = @{
Path = “$PSScriptRoot\xconnect-xp0.json”
Package = “$PSScriptRoot\Sitecore 9.0.1 rev. 171219 (OnPrem)”
LicenseFile = “$PSScriptRoot\license.xml”
Sitename = $XConnectCollectionService
XConnectCert = $certParams.CertificateName
SqlDbPrefix = “Sitecore”
SqlServer = $SqlServer
SqlAdminUser = $SqlAdminUser
SqlAdminPassword = $SqlAdminPassword
SolrCorePrefix = $prefix
SolrURL = $SolrUrl
Install-SitecoreConfiguration @xconnectParams
#install solr cores for sitecore
$solrParams = @{
Path = “$PSScriptRoot\sitecore-solr.json”
SolrUrl = $SolrUrl
SolrRoot = $SolrRoot
SolrService = $SolrService
CorePrefix = $prefix
Install-SitecoreConfiguration @solrParams
#install sitecore instance
$xconnectHostName = “$prefix.xconnect”
$sitecoreParams = @{
Path = “$PSScriptRoot\sitecore-XP0.json”
Package = “$PSScriptRoot\Sitecore 9.0.1 rev. 171219 (OnPrem)”
LicenseFile = “$PSScriptRoot\license.xml”
SqlDbPrefix = $prefix
SqlServer = $SqlServer
SqlAdminUser = $SqlAdminUser
SqlAdminPassword = $SqlAdminPassword
SolrCorePrefix = $prefix
SolrUrl = $SolrUrl
XConnectCert = $certParams.CertificateName
Sitename = $sitecoreSiteName
XConnectCollectionService = “https://$XConnectCollectionService”
Install-SitecoreConfiguration @sitecoreParams


Run PowerShell in admin mode and go to C:\resourcefiles (cd C:\resourcefiles command)

Then run ./install.PS1

Installation Failed

My installation failed at UpdateSolrSchema task in C:\resourcefiles\Sitecore-XP0.json . So I tried to manually do this task but the website was not accessible. I tried this in the browser when I was getting service not available message. So checked the host entry and tried to troubleshoot using but no luck. Then I added my Sitecore site URL to do not use a proxy list in the browser settings which resolved the issue.proxy

After fixing the issue I manually populated Solr managed schema (On the Sitecore Launchpad, click Control Panel, and in the Indexing section, click populated Solr managed schema).

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