Step by Step installation guide for Sitecore XP 9.0

1.Windows 10.
2.IIS 10.
3.SQL Server 2017.
4.Powershell version 5 (or above).
5.Web platform installer(wpilauncher) version 5 (or above).
6.Webdeploy 3.6 for hosting servers.
7.SOLR version 6.6.2(or above).
8.Java(Latest JDK) – Prerequisite for SOLR.
Installing  web deploy 3.6 for hosting servers using wpilauncher:

SOLR installation:

1.Download the SOLR 6.6.2 (or) above zip using the link extract.

2.Download NSSM(non sucking service manager) using the link and extract.

3.Run “[nssm path]\win64\nssm” install [SolrServicename] command as administrator and -Populate the application path with solr.cmd (SOLR bin folder).
populate startup with the solr-6.6.2 bin folder.
Populate the Arguments with start -f -p [port number].

4.Click on Install to install service SOLR as a service with the desired service name.

Enabling SSL:

5.Execute the following command to generate the keystore file by setting the path to jre bin folder

keytool -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”

-keystore.jks will be generated.

6.Convert the above generated Keystore.jks file to P12 format by executing the following command

keytool -importkeystore -srckeystore solr-ssl.keystore.jks -destkeystore solr-ssl.keystore.p12 -srcstoretype jks -deststoretype pkcs12

-This will generate keystore file of P12 format.

7.Copy the generated above two files (solr-ssl.keystore.jks and solr-ssl.keystore.p12)in “server\etc” location in the SOLR folder.

8.Open (windows cmd script) from the SOLR bin location and uncomment the below lines to set SSL-related system properties.

9.Open MMC as administrator .

Navigate to Add/Remove Snap-in file menu.

10.From Avaliable snap-ins add the Certificates to Selected snap-ins.

11.Select Computer account and click on Next.

Click on Finish.

12.Navigate to All Tasks->Import under Trusted Root Certificate.

This will open Certificate Import Wizard.

Click Next.

13.Browse the solr-ssl.keystore.p12 in server/etc of solr folder and click next.

14.Enter the SOLR Trust store password(which is secret by default).

15.Select place all certificates in the following store option.

Click Next to continue.

Click on Finish.

16.Restart the SOLR service.

17.After successfully completing all the above steps SSL is enabled for solr instance.

Installing SIF modules:

(Installing SIF requires a elevated powershell session)

# Add the Sitecore MyGet repository to PowerShell
Register-PSRepository -Name SitecoreGallery -SourceLocation

# Install the Sitecore Install Framework module
Install-Module SitecoreInstallFramework

# Install the Sitecore Fundamentals module (provides additional functionality for local installations like creating self-signed certificates)
Install-Module SitecoreFundamentals.

# Import the modules into your current PowerShell context (if necessary)
Import-Module SitecoreFundamentals
Import-Module SitecoreInstallFramework.

Set Contaied Database Authentication:

18.Turn on the contained database authentication in SQL Server Management Studio using the following query.(This allows automatic creation of contained databases during the installation process).

sp_configure ‘contained database authentication’, 1;

19.Run the SIFLess application as administrator.

In the EZ Mode tab, populate the fields appropriately.
Config Folder-Place all the config files,packages and license in a single folder and populate Config folder field with its path.

20.Click the Test button to ensure all the requirements are met.

21.Once the test is successfully passed,uncheck the generate files only option and click on Generate files.

Note: checking the generate files ,generates the Installation and uninstallation script in the SIFLess folder.

Post-installation steps:
22.Add the recognized User to the xDB Shard Databases.
xConnect has three collection databases that require a user to be recognized and authenticated: the xDB Collection Shard Map Manager database, and two Shard databases. The shards are used to scale out the system as required by the solution being implemented.

After the Sitecore Installation Framework installs the databases, you must set up the correct user roles for authentication. To help you with this, Sitecore has created an example SQL script that you can use to provide a simple solution for the setup of a user role in this release.
The SQL script creates a SQL login and a user with the minimum privileges for each database.

To run the script:
1. Launch MS SQL Server Management Studio and connect to the database server as an administrator.
2. Open a new query window, and paste the following script:

:SETVAR DatabasePrefix SC9D #Give your Sitecore instance prefix.
: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) BEGIN 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;

3. In the application bar, on the Query tab, click SQLCMD Mode.

4. In the script:

-Set the DatabasePrefix variable to the prefix that you used to install the Collection database. The default value is XP1.
-Set the UserName variable to the value that you used for the Collection Database Application User Name parameter. The default value is collectionuser.
-Set the Password variable to the value that you used for the Collection Database Application User Password parameter.
5. Run the script.

Rebuild the Search Indexes and the Link Databases :

23.After completing all the above steps,you will be able to browse your sitecore instance successfully.


To rebuild all the indexes:
1. On the Sitecore Launchpad, click Control Panel, and in the Indexing section, click Indexing manager.
2. In the Indexing Manager dialog box, click Select all, and then click Rebuild.
To rebuild the Link databases for the Master and Core databases:
1. On the Sitecore Launchpad, click Control Panel, and in the Database section, click Rebuild Link Databases.
2. Select the Master and Core databases and then click Rebuild.

Deploy Marketing Definitions:
1. On the Sitecore Launchpad, click Control Panel, Analytics, and then click Deploy Marketing Definitions.
2. In the Deploy marketing definitions dialog box, select all the definitions and taxonomies and click Deploy.

26.Next goto control panel -> Rebuild link  databases and select core and master and rebuild.











About The Author