I prefer developing using virtual machine instead of having everything installed and configured directly on my laptop OS. This gives me freedom and makes me flexible. If something goes wrong with VM, I just delete it and use backup or create new one without touching anything on laptop OS.

If project ends and I start a new one, I just need to backup my old VM (just in case 😉 and spin new up. I usually move old one to external harddrive. This is my “ceremony” when project ends.

I usually create one master VM with latest and greatest version of Sitecore which I am then using on different project as a base.

I also prefer virtual machines sitting directly on my laptop. I hate VMs in cloud. Although this has benefit of not consuming your laptop’s resources, it also tieds you to have really quick internet connection. Having VM on laptop gives you freedom to develop also during morning commute or traveling by train and so on 🙂

Let’s now check prerequisites for Sitecore 9 Update 1 or Sitecore 9.0.1 version:

1) OS

These operating systems are supported:

  • Windows Server 2016 – my choice for Sitecore 9
  • Windows Server 2012 R2 (64-bit)
  • Windows 10 (32/64-bit)
  • Windows 8.1 (32/64-bit)

I always use Windows Server on my VMs to be as close as possible to TEST/PROD environment where this OS is always used.

Although Windows Server 2012 R2 and Windows 8.1 are supported, I highly NOT recommend using them. They don’t support Sitecore Installation Framework (SIF) due to IIS 8.5 and therefore certificates won’t be created during installation OOB. You either need to create them manually upfront or change couple of things in SIF and use some PS scripts created by community (can be found by googling a bit) to help SIF accomplish some tasks.

2) Database

This version supports these database servers:

  • Microsoft SQL Server 2016 SP1 – Only supported version for xDB (Experience databases) – my choice
  • Microsoft SQL Server 2014 SP2 – Only supports XM databases. xDB databases not supported.

I have used SQL Server 2016 SP1 Developer Edition. Database Engine is enough to be installed.

Hurray! No more Mongo DB so setting up dev machine is far easier and at the end consumes less resources (in theory ;-).

3) Powershell

Microsoft PowerShell® version 5.1 or later is required.
This version of Powershell is bundled with Windows Server 2016 so you don’t need to install anything.

To quickly check, you can always open a powershell command prompt and run the following command:

$PSVersionTable.PSVersion

4) IIS

These versions of IIS are supported:

  • IIS 10 – my choice – as installing on Windows Server 2016
  • IIS 8.5

You don’t need to enable or install IIS specifically in this step. See below points with my small “hack”.

5) Web Platform Installer (WPI) 5.0

Install following features using WPI 5.0:

  • Web Deploy 3.6 for Hosting Servers
  • URL Rewrite 2.1

Download and run WPI:
https://www.microsoft.com/web/downloads/platform.aspx

In Programs section search for “Web Deploy” and choose “Web Deploy 3.6 for Hosting Servers” from search results. Click “Add” button.

In Programs section search for “URL Rewrite” and choose “URL Rewrite 2.1”. Click “Add” button.

Click “Install” in the button of the screen and “I Accept” in license window.

As a side effect of installing these features is installation of over 50 prerequisite features. And you can guess that one of them is also IIS 😉

6) Configuring remaining Windows Server features

Even though you have already installed IIS and Web Deploy and URL Rewrite features, you still need to install a few more Windows Server features in order to run Sitecore properly.

Go to Server Manager to “Add Roles and Features”:
addrolesandfeatures

Navigate to “Server Roles” section:
serverroles

Under “Web Server (IIS)” > “Web Server” > “Common HTTP Features” check these two values:

  • HTTP Redirection
  • WebDAV Publishing

As you can see here:
webserver

Under “Application Development” check these values:

  • .NET Extensibility 4.6
  • ASP.NET 4.6

As you can see here:
applicationdevelopment

Now go to “Features” section:
features

and underneath check these two features:

  • IIS Hostable Web Core
  • SMB 1.0/CIFS File Sharing Support

As you can see here:
iishostable

and here:
smb

Now go to “Summary” section and you should see something similar:
summary

7) Install remaining prerequisites

Install these features / application:

8) Enable contained databases

In order to enable contained databases on SQL Server, run this SQL script through SQL Server Management Studio:

sp_configure ‘contained database authentication’, 1;
GO

RECONFIGURE;
GO

For more information see this article about contained databases.

9)
Make sure you check this blog post about problems that can arise during installation on SQL Server side

10)
This is it. VM has now all prerequisites from OS & SQL Server point of view.
In my next post I will show you how to install SOLR and enable SSL on it and in last part we will finally install Sitecore 9.0.1 🙂

——————————————————
Used sources: