Cameron's Blog

SharePoint 2010 - Virtual Machine


This guide will outline all the steps needed to intall a SharePoint 2010 Server development environment on a Virtual Machine.

The particular approach used will leave you with a single VM hosting both SQL Server 2008 R2 and SharePoint 2010 Server. This VM also acts as a domain controller, which requires some additional steps during the installation.

During the installation, several accounts will be used:

  • moss_admin (Installation Account)
  • moss_farm (SharePoint Farm Administrator)
  • moss_sql (Account for connecting to the SQL database)
  • moss_service (Account for running services)

Ideally, you’ll want to use a seperate account for every service, as detailed here: SharePoint 2010 Accounts


Components used

The following software will be used while setting up the VM in this guide:

  • Virtualbox 4.2
  • Windows Server 2008 R2
  • SQL Server 2008 R2
  • SharePoint Server 2010 – Server
    • Service Pack 1
    • Latest CU

Additional software for SharePoint Development:

  • Visual Studio 2001
    • SP1
    • CKSDEV
  • SharePoint Designer

Virtual Machine

I’m using VirtualBox to manage my Virtual machines and I use .VHD virtual machine formats ( they are the Hyper-V format and allow for native boot ).

It is recommended to create a dynamically expanding VM with about 80GB maximum space. This will save disk space but will allow your VM to grow if necessary. Fixed size VMs are more performant though.

My physical machine has 8GB of RAM and 4 processing threads. I assigned 5GB of RAM and 3 processing threads to my VM which is also running on an external SSD (e-sata).

Windows Server 2008 R2


Boot up the VM and install Windows Server 2008 R2 on it Once you’ve activated Windows and installed any updates, it is a good idea to take a Snapshot of your VM.

Snapshot: SPS2010-Base

Domain Controller


Set the name of the machine through System Properties

Make your Windows Server 2008 R2 a Domain Controller.

Enable the Active Directory Domain Services server role Run dcpromo from Command Prompt and create a single domain (it’s possible that after enabling the server role that you’ll have this option immediately, so you don’t have to run dcpromo afterwards).

Open up Active Directory Administrative Center Create a new forest


After upgrading to a Domain Controller, you are currently logged in with the Administrator account.

Now you need to create the following Domain User accounts to be used later:

  • moss_admin
    • Add to the Administrators group
    • Optionally add to the Domain Administrators group so you can make changes to the domain without having to change user
  • moss_farm
  • moss_sql
  • moss_service

Set all of these accounts password to never expire.

Now log in with moss_admin and continue the installation with that user.

General Configuration


  • Enable

    • Features

      • .NET Framework 3.5
      • Windows PowerShell ISE (Optional)
      • Desktop Experience (Optional)
        • Enables some Windows 7 Features on your server which is helpful if you want to use it as your main OS.
    • Roles

      • Application Server
      • Web Server (IIS)
  • Disable

    • Shutdown Event Tracker
    • Windows Firewall
      • Disable on all profiles
    • IE Enhanced Security
    • User Account Control
    • IIS Loopback Check



Enable the following features in Server Manager

  • .NET Framework 3.5
  • Windows PowerShell ISE (Optional)
  • Desktop Experience (Optional)
    • Enables some Windows 7 Features on your server which is helpful if you want to use it as your main OS.


Enable the following roles in Server Manager

  • Application Server
  • Web Server (IIS)
    • Leave the default settings

Disable Settings

Disable Shutdown Event Tracker:

  • Group Policy Management > Forest > Domains > yourDomain > Default Domain Policy –> Right Click –> “Edit” Computer Configuration > Policies > Administrative Templates > System Setting pane at the right => Display Shutdown Event Tracker –> Right Click –> “Edit” –> Disable

Disable Windows Firewall:

  • Control Panel > System and Security > Windows Firewall > Turn Windows Firewall On or Off

Disable on all profiles

Disable IE Enhanced Security:

  • Server Manager > Security Information header > Configure IE ESC

Turn both off.

Disable User Account Control:

  • Control Panel > System and Security > Change User Account Control Settings

Turn it to the lowest setting

Disable IIS Loopback Check:

This allow you to use alternate access mappings for your SharePoint Web Applications (different urls, which you’ll also have to add to your hosts file).

PowerShell Code:

New-ItemProperty HKLM:\System\CurrentControlSet\Control\Lsa -Name "DisableLoopbackCheck" -Value "1" -PropertyType dword

This code sets the registry setting appropriately.

Additional Configuration

Configure Administrator password to never expire:

  • Active Directory Users and Computers > Find the Administrator user –> Right Click –> “Edit” Account Tab > Password Never Expires

Enable SharePoint deployment on a Domain Controller:

PowerShell Code:

$acl = Get-Acl HKLM:\System\CurrentControlSet\Control\ComputerName 
$person = [System.Security.Principal.NTAccount]"Users" 
$access = [System.Security.AccessControl.RegistryRights]::FullControl 
$inheritance = [System.Security.AccessControl.InheritanceFlags]"ContainerInherit, ObjectInherit" 
$propagation = [System.Security.AccessControl.PropagationFlags]::None 
$type = [System.Security.AccessControl.AccessControlType]::Allow 
$rule = New-Object System.Security.AccessControl.RegistryAccessRule($person, $access, $inheritance, $propagation, $type) 
Set-Acl HKLM:\System\CurrentControlSet\Control\ComputerName $acl

Take another snapshot.

Snapshot: SPS2010-Init


Since the last two steps are the installation of SQL Server 2008 R2 and SharePoint 2010, you might want to do these differently in the future. To save you a lot of hassle reinstalling programs like Visual Studio 2010 etc. it is a good idea to install all your extra software at this point in time.

Take another snapshot afterwards.

Snapshot: SPS2010-PreSQL

SQL Server 2008 R2


Choose the first option SQL Server Feature Installation

Select all features.

Leave the default instance name MSSQLSERVER

Service Accounts:

Click Use the same account for all SQL Server Services.

Use moss_sql and change the startup type of all the services to automatic

Account Provisioning: Leave windows authentication mode and provide the current user ( moss_admin ) as the SQL Server Administrator

Reporting Services Configuration – Install but do not configure

SharePoint 2010 – Server


Configure your moss_admin account to have the appropriate permissions on the SQL database:

Using SQL Server Management Studio, connect to the database (local)

In SSMS > DBInstance > Security > Logins > moss_admin –> Right Click –> “Properties”

In Server Roles, make sure the following are enabled:

  • securityadmin
  • dbcreator


Install the prerequisites manually or just run the prerequisites installer included with the SharePoint 2010 installation media.

Normally, if you updated your SQL Server 2008 R2, this should be limited to:

  • MSChart
  • Microsoft Geneva Framework
  • SQL Server 2008 ASADOMD10
  • Windows Identity Foundation (?)

Good time for another Snapshot:

Snapshot: SPS2010-PreSP

Because we’re on a Domain Controller, SharePoint assumes we’ll want a standalone installation (which we don’t). So to circumvent this, run the installer like so from the command line:

setup.exe /config Files\SetupFarm\Config.xml

When the installation is completed don’t run the SharePoint Products Configuration Wizard yet but install any language pack you might want.

Then run the SharePoint Products Configuration Wizard:

Database => ComputerName Farm account => moss_farm

port 40000 NTLM

Let’s first install the language packs (if any) and upgrade to SP1 + latest CU. Doing the updates before the configuration seems to make them process faster. Make sure to run the installation of the language packs before any upgrade or you’ll have to download separate upgrade packages for the language packs specifically later on, while in the other case they will get upgraded as well.

SharePoint 2010 Cumulative Updates and Service Packs

Be aware that for any CU after August 2011 that we have since passed, it is no longer necessary to first upgrade foundation and then server, upgrading server alone is now sufficient.

TODO: This needs a better explanation

This means that the updates that need to be installed are the following (in this order): * Any Language Packs you may want to install * SP1 for SharePoint Foundation * SP1 for SharePoint Server * SP1 for each Language pack individually * Latest CU for SharePoint Server

Appendix 1: Visual Studio 2010 – Installation for SharePoint 2010

During installation, you’ll have the option to do either a full install or a custom install, choose custom install.

From the list of components, select only these:

  • Microsoft Visual Studio 2010 Professional
    • Visual C#
    • Visual Web Developer
    • Graphics Library
  • Microsoft Office Developer Tools(x64)
  • Dotfuscator Software Services – Community
  • Microsoft SharePoint Developer Tools

TODO: Check if the bottom 3 are really required