Sitecore for Developers
SItecore 9.0 update 2 Installation using SIF
I have written a blog on how to install sitecore version 9.0 using SIF in my blog https://horizontalintegration.blog/2018/03/06/sitecore-9-0-installation-with-sif/.This blog explains the steps and experiences and errors I encountered in the installation of Sitecore 9.0 update 2.In this blog I am highlighting the changes or modifications that needs to be done apart from the installation of Sitecore 9.0.With Sitecore 9.0 installations, we get enhanced advantages of some core functionalities like Sitecore xConnect which allows two-way data connect, data exchange framework 2.0 enhanced SQL providers, native integration with Azure services.Let’s discuss the prerequisites and installation steps.Prerequisites
- IIS 10 or IIS 8.5
- Windows 8.1 or Windows 10
- .NET framework 4.6.2
- Sitecore Installation Framework
- PowerShell 5.1 or later
- Web Platform Installer 5.0
- Microsoft SQL server 2016
- Java Runtime environment
- Solr 6.6.2 – this is requirement for update 2
- MongoDB server 3.6.6
Initial StepsInstall Java runtime for Windows by using http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.htmlInstall Solr 6.6.2(solr-6.6.2.zip) from the following URLhttp://archive.apache.org/dist/lucene/solr/6.6.2/Extract the zip file into program filesNavigate to the solr installation folder using command - cd C:\Program Files\solr-6.6.2\binRun command solr start.Solr will start on port 8983.Make sure url http://localhost:8983/solr/# running. Add SSL to SolrWe need to generate the ssl key by using java keyttol.exe which is in location ‘C:\Program Files\solr-6.6.2\server\etc’For doing this,Follow procedure below
- From command prompt -navigate to solr folder with command “cd C:\Program Files\solr-6.6.2\server\etc”
- Run "C:\Program Files\Java\jdk1.8.0_144\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"
Note - C:\Program Files\Java\jdk1.8.0_144\bin is java JRE installation folder.
- solr-ssl.keystore.jks file will be ghenerated at C:\Program Files\solr-6.6.2\server\etc folder.
- Run "C:\Program Files\Java\jdk1.8.0_144\bin\keytool.exe" -importkeystore -srckeystore solr-ssl.keystore.jks -destkeystore solr-ssl.keystore.p12 -srcstoretype jks -deststoretype pkcs12
Note – enter ‘secret’ as password
- Key solr-ssl.keystore.p12 will be generated.See the screnshot
- Double click on the key to open certificate Import wizard and install certificate.
- While installing certificate , select Certificate Store: Trusted Root Certification Authorities
- Navigate to ‘C:\Program Files\solr-6.6.2\bin\solr.in.cmd’ and uncomment following lines(remove REM).
set SOLR_SSL_KEY_STORE=etc/solr-ssl.keystore.jks set SOLR_SSL_KEY_STORE_PASSWORD=secret set SOLR_SSL_KEY_STORE_TYPE=JKS set SOLR_SSL_TRUST_STORE=etc/solr-ssl.keystore.jks set SOLR_SSL_TRUST_STORE_PASSWORD=secret set SOLR_SSL_TRUST_STORE_TYPE=JKS set SOLR_SSL_NEED_CLIENT_AUTH=false set SOLR_SSL_WANT_CLIENT_AUTH=false
- Restart solr using solr restart -p 8983 from C:\Program Files\solr-6.6.2\bin path
- Make sure url https://localhost:8983/solr/# is accessable and running.
Follow steps below to make Solr as service follow the steps below
- Install NSSM from https://nssm.cc/download
- Navigate to NSSM installed folder(for example C:\Program Files\nssm\nssm-2.24\nssm-2.24\win64) using command prompt and run nssm install solr6
- Populate the fields shown on service editor like shown in screenshot below.Make sure to add arguments ‘start -f -p 8983’ and install service
Sitecore Installation Enable Contained Database AuthenticationBefore installing Sitecore 9.2, ensure that SQL server is configured to allow the users and logins to be contained in the database level.For doing so run the following script in SQL server sp_configure 'contained database authentication', 1; GO RECONFIGURE; GOStart Installation
- Download the Packages for XP Single from https://dev.sitecore.net/Downloads/Sitecore_Experience_Platform/90/Sitecore_Experience_Platform_90_Update2.aspx (update 2) and extract it to C:\sitecore9.02update
- Extract the Sitecore 9.0.2 rev. 180604 (WDP XP0 packages) to see the following zip folders
- Sitecore 9.0.2 rev. 180604 (OnPrem)_single.scwdp.zip
- Sitecore 9.0.2 rev. 180604 (OnPrem)_xp0xconnect.scwdp.zip
- XP0 Configuration files 9.0.2 rev. 180604.zip
Now, Copy the first 2 zip files on to C:\sitecore9.02update folder and extract the third zip file (XP0 Configuration files 9.0.2 rev. 180604.zip) into C:\sitecore9.02update folder.
- Save license file to the folder c:\sitecore9.02update folder
- Save the following PowerShell script into installsitecore900.ps1.Red highlighted fields needs to be modified according the installed server needs. The following script is specifically for installing Sitecore 9.0 update 2.In the following script, modify the lines highlighted below.
Note - make sure to have lower case letters in the $prefix = "websitename" in the powershell script because this prefix name is used by solr to create cores and it will create cores with upper letters which is not acceptable in solr.
Import-Module SitecoreFundamentalsImport-Module SitecoreInstallFramework#define parameters$prefix = "websitename"$PSScriptRoot = "C:\sitecore9.02update"$XConnectCollectionService = "$prefix.xconnect"$sitecoreSiteName = "local.$prefix"$SolrUrl = "https://localhost:8983/solr"$SolrRoot = "C:\solr-6.6.2\solr-6.6.2"$SolrService = "solr"$SqlServer = "JN6P8H2"$SqlAdminUser = "sitecore"$SqlAdminPassword="sitecore"#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 = "Sitecore 9.0.2 rev. 180604 (OnPrem)_xp0xconnect.scwdp.zip" LicenseFile = "$PSScriptRoot\license.xml" Sitename = $XConnectCollectionService XConnectCert = $certParams.CertificateName SqlDbPrefix = $prefix 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.2 rev. 180604 (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
- The directory should look like the screenshot below
- Now, Open powershell command from C:\sitecore9.02updateand run the below script
Register-PSRepository -Name SitecoreGallery -SourceLocation https://sitecore.myget.org/F/sc-powershell/api/v2
- Run the command
Install-Module SitecoreInstallFramework
- Now, Run following command
Install-Module SitecoreFundamentals
- Now, Run ps1 script from folder c:\Sitecore\9.0
https://dev.sitecore.net/Downloads/Sitecore_Experience_Platform/90/Sitecore_Experience_Platform_90_Update2.aspxhttps://blogs.perficient.com/sitecore/2017/10/26/setup-and-basic-preparation-for-sitecore-9-installation/https://theagilecoder.wordpress.com/2017/07/24/sitecore-solr-ssl/https://www.sitecorespark.com/blog/2017/11/sitecore-installation-framework-error-processing-pools