Installing Sitecore Experience Platform 9.0

Featured image

SitecoreSym finished last week and now Sitecore Experience Platform 9.0 initial release is availabe. As a full stack developer  am always curious about new things so the first thing I did was to download all the files and try to install the thing on a virtual machine. I'm running a Macbook as I abandoned Sharepoint after more than ten years and found myself writing code in all sorts of Javascript frontend frameworks. Therefore I do not needed a Windows machine anymore.

This post will guide you through the installation of a single server installation.

So they're saying it is an easy install?! Let me give you the short version of it

YES! Installing Sitecore has never been easier I read on Twitter. Because I started to fiddle around with Sitecore just a few months ago and love reading manuals (which initially I never do) I got to install Sitecore about 20 times as I also installed the modules with SIM. When a colleague told me I would be better off using the install manager in Sitecore (SIM), I finally got a working version.

Let's cut to the chase and ignore all the stuff with loads of links and focus on the single server solution.

What do we need

Please note that for our installation we need to run SIF three times:
1: Configuring Solr,
2: Creating a Certificate,
3: The actual Sitecore 9 installation
sp_configure 'contained database authentication', 1;
GO
RECONFIGURE;
GO

Powershell, the installation of Sitecore 9

Because we are going to run Powershell, thus from command line, we have to get all the installation files and configurations together so we can do everything without jumping to other folders while installing.
For this I created a folder C:\sc9 in which I put all the files:

From here we're going to run the Sitecore Powershell Module 3 times :

So the first thing is to configure your Solr server. We have to make some changes to the sitecore-solr.json configuration. In the top of this file there are some settings you can change. As an example you can see I used Solr 6.6.0 (had that installed already, didn't want to use a new version). The settings look like:


For you, three items are important:

Now it's time to open PowerShell (as Administrator) and run:
Install-SitecoreConfiguration -Path .\sitecore-solr.json

Next we have need to create a certificate because the final installation script will need it. Lets create it by executing the following command:

Install-SitecoreConfiguration -Path .\xconnect-createcert.json

This command will ask you for a name for the certificate. Think of a funny name. Be creative!

Hit enter and sit back while a root certificate and your own certificate are created. When done open that folder in C:\certificates and double-click both files to install them (default locations is suitable).

Then the final step is changing the sitecore-XP0.json file to fit your configuration. The parameters are:

Now it is time to run the command
Install-SitecoreConfiguration -Path .\sitecore-xp0.json

All of this was achieved after two days of sweating and bleeding from my eyes and ears, but in the end after re-tweaking it all came together. During the installation, ofcourse I hit a few walls. The installation guide gave me some insight :-)

Got issues?

Your have installed an older version of SQL Server and now install SQL2016 and your Sitecore installation crashes

You will get: SQL Server 2016: Please make sure that Microsoft SQL Server Transact-SQL ScriptDom is installed

So you have maybe an older version of SQL Server installed? I had 2012 and installed 2016 as './SQL2016' instance. That worked fine until I ran the Sitecore installation and told me: The SQL provider cannot run because of a missing dependency. Please make sure that Microsoft SQL Server Transact-SQL ScriptDom is installed. After an hour I found out it did not have to do with somekind of option pack. It's just that the assembly is not present in the GAC. Because you installed 2016 this means you have the file but it's not loaded in the GAC. I don't know why but this command will help you out:

"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\x64\gacutil" /i "C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\Extensions\Application\Microsoft.SqlServer.TransactSql.ScriptDom.dll" . (for you the files may be in a different location)

Value cannot be null. Parameter name: fieldNameTranslator - Opening Content Editor

So all went right during the installation and you managed to log in to the new Sitecore 9!!! Cool! Did that too! But then when hitting the content editor I got a fancy error:

Value cannot be null. Parameter name: fieldNameTranslator - Opening Content Editor

Searching around I found (old) posts saying I had to change my global.asax. Please don't! Just re-run the former script and it will go away.

Take aways

Today a colleague of mine wished he could go back in time and use SIM with one package and deploy Sitecore. As environments grow bigger and more complex it is a necessity to do more during the installation. Because of my experience over the last few years (since 2001) with SharePoint I know the extensive configurations, pitfalls and issues which lie ahead.  And I am sure that you might come across other issues when installing Sitecore 9.

The only thing I know is that when I started a few months ago with Sitecore I became very happy discovering all the capabilities. And now with machine learning, JSS and all other cool new hot things I can only say: