Overview
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
Sources
- Installation and deployment for SharePoint Server 2010
- Setting up a SharePoint 2010 Development Environment
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
Installation
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
Configuration
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
Accounts
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
Overview
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
Detail
Features
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.
Roles
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)
$acl.AddAccessRule($rule)
Set-Acl HKLM:\System\CurrentControlSet\Control\ComputerName $acl
Take another snapshot.
Snapshot: SPS2010-Init
Software
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
Installation
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
Pre-Installation
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
Installation
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