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 http://www.oracle.com/technetwork/java/javase/downloads/jre10-downloads-4417026.html

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

JRE

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:127.0.0.1 -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\solr.in.cmd. 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

SOLR.PNG

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 https://nssm.cc/download.

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

$PSVersionTable.PSVersion

Download and install the following

webdeploy from https://www.microsoft.com/en-us/download/details.aspx?id=43717

URL rewrite https://www.iis.net/downloads/microsoft/url-rewrite

Microsoft SQL Server Data-Tier Application Framework ( https://www.microsoft.com/en-us/download/details.aspx?id=55255

Download the SIF Configuration Files

Download Sitecore 9 XP0 package from sitecore.net 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 = “$prefix.sc”
$SolrUrl = “https://localhost:8983/solr”
$SolrRoot = “C:\Program Files\solr-6.6.2”
$SolrService = “SOLR6”
$SqlServer = “DINLAS\xyd”
$SqlAdminUser = “sitecore_admin”
$SqlAdminPassword=”password”
#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)_xp0xconnect.scwdp.zip”
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)_single.scwdp.zip”
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 https://serverfault.com/questions/452268/hosts-file-ignored-how-to-troubleshoot 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:

WordPress.com Logo

You are commenting using your WordPress.com 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