Google
 
Main Page
 The gatekeeper of reality is
 quantified imagination.

Stay notified when site changes by adding your email address:

Your Email:

Bookmark and Share
The Ultimate Candle
Email Notification
Sharepoint Development VM
Back To Previous Page

Octagon Beeswax Glyph Candles
  Unlike other Microsoft products, the ability of a developer to create web parts and other components for a Sharepoint 2010 site, has some serious and expensive requirements if you want to provide a VM environment that closely matches the real (or production) environment. In order for a developer to develop for Sharepoint 2010, the developer will need their own licensed copy of (1) Server 2008, (2) Sharepoint 2010, and, (3) Visual Studio 2010 at minimum; optionally Sharepoint Designer 2010 and Visio Premium 2010 depending on requirements of the developer. If you run Enterprise or Datacenter versions you could be forking over some serious cash just to provide a developer with the tools needed.


As you can tell, there is considerable development requirements overhead for Sharepoint 2010 (which I find surprising since I would think Microsoft would be capable of a simpler, less expensive and less complicated development requirements for Visual Studio developers). The next question then, to support more Microsoft Servers and Sharepoint deployments out on your network even though those are development boxes only, need to be isolated / secured (more overhead for administrators). The simplest way to isolate and secure (to a degree) the mammoth overhead for Visual Studio developers is to install everything inside of a VM (Virtual Machine).

NOTE: If you are not really concerned with providing developers with an environment that closely matches your production environment, or if your production environment run Sharepoint Standard 2010, putting together a development VM is simpler; for one thing you can use Sharepoint Foundation side-by-side with Visual Studio 2010 instead of using Sharepoint Enterprise or Datacenter.

Initially I had considered using Hyper-V. Since the development machines were Windows 7 (and not a Windows 2008 server), and there was no realistic option to set-up a dual-boot development machine, Oracle Virtualbox was the best option. Overall I was quite impressed with the performance of Oracle virtualbox.

In order to replicate the live Sharepoint 2010 environment as closely as possible from the VM that a developer would use to develop for Sharepoint 2010 included setting up a mini network infrastructure as well (domain controller, Active Directory - for development work involving Sharepoint's Profile Synchronization Service) aside from the components already mentioned. Since this tutorial is a step by step guide in an Enterprise deployment (not Sharepoint 2010 standard) there are several steps you may not need to perform; but if you are Enterprise or Datacenter all of the steps I've identified should be helpful. All in all, it took approximately 12 hours to create the VM.

STEP 1

(Enlarge)
  1. The developer machine is assumed to be running 64-bit Windows 7 Ultimate or Enterprise.
  2. The VM, by completion of this tutorial, will be approximately 32GB in size.
  3. The developer machine will need to have virtualization enabled in the BIOS if it is not by default.
  4. Download and install the Oracle Virtualbox.
  5. Download and install a drive mounting utility if you need to point to .iso files such as Virtual CloneDrive by ElaborateBytes.
  6. Open Oracle and click on "New" to create a new VM.
  7. Provide a name for the VM and choose "Microsoft Windows" for OS and "Windows 2008 (64-bit)" for version.
STEP 2

(Enlarge)
  1. Select amount of RAM to dedicate; this will vary based on what the development machine has (it is probably best if the development machine has 8GB of RAM).
STEP 3

(Enlarge)
  1. Select Boot Disk and the option "create new hard disk".
STEP 4

(Enlarge)
  1. Click "Next".
STEP 5

(Enlarge)
  1. I chose "Fixed size storage" for disk size but you may prefer to allow it to grow dynamically.
STEP 6

(Enlarge)
  1. This pane allows you to specify the size of the hard disk for the VM.
STEP 7

(Enlarge)
  1. With the Windows Server Enterprise 2008 R2 disk in place or mounting the .iso, the Windows Server 2008 install process will begin.
STEP 8

(Enlarge)
  1. Select the initial preferences as needed.
STEP 9

(Enlarge)
  1. Click "OK" and set up the password. Write the password down since the developer will need to know what it is.
STEP 10

(Enlarge)
  1. Select "Active Directory Domain Services" to start with.
STEP 11

(Enlarge)
  1. The install process will begin.
STEP 12

(Enlarge)
  1. Click "Next".
STEP 13

(Enlarge)
  1. Select "Create a new domain in a new forest".
STEP 14

(Enlarge)
  1. For the FQDN enter sp.local
STEP 15

(Enlarge)
  1. Select "Windows Server 2008" for the functional level.
STEP 16

(Enlarge)
  1. On the next pane check "DNS server".
STEP 17

(Enlarge)
  1. If you get a warning and you want the VM to remain isolated, select "OK".
STEP 18

(Enlarge)
  1. On this pane you can choose where various files are maintained.
STEP 19

(Enlarge)
  1. Enter a password for the Directory Services Restore Mode. You may want to write this down in the event the developer needs it.
STEP 20

(Enlarge)
  1. Review and click "Next".
STEP 21

(Enlarge)
  1. Click "Finish". Activate Windows at this point by entering the product key or MAK.
  2. Restart the server.
STEP 22

(Enlarge)
  1. Once restarted it is time to add some more roles to the server.
  2. Select "Active Directory Certificate Services", "Application Server" and "Web Server".
STEP 23

(Enlarge)
  1. Check "Application Server Foundation", "Web Server (IIS) Support", "Windows Process Activation Service Support", "HTTP Activation", "Message Queuing Activation", "TCP Activation", "Named Pipes Activation".
STEP 24

(Enlarge)
  1. Under Role Services check "Certification Authority".
STEP 25

(Enlarge)
  1. For setup type, select "Enterprise" if appropriate.
STEP 26

(Enlarge)
  1. For CA Type select "Root CA" if appropriate.
STEP 27

(Enlarge)
  1. Under Private Key select "Create a new private key" if appropriate.
STEP 28

(Enlarge)
  1. Under Cryptography select what may be appropriate.
STEP 29

(Enlarge)
  1. For the CA Name I left the default values.
STEP 30

(Enlarge)
  1. Under validity period you can choose how long the certificate is valid for.
STEP 31

(Enlarge)
  1. The certificate database locations are specified on this pane.
STEP 32

(Enlarge)
  1. Under role services (for web server), check "Common HTTP Features", "Static Content", "Default Document", "Directory Browsing", "HTTP Errors", "HTTP Redirection", "Application Development", "ASP.NET", ".NET Extensibility", "ASP", "CGI", "ISAPI Extensions", "ISAPI Filters", "Server Side Includes", "Health and Diagnostics", "HTTP Logging", "Logging Tools", "Request Monitor", "Tracing", "ODBC Logging".
STEP 33

(Enlarge)
  1. Scroll down and select "Security", "Basic Authentication", "Windows Authentication", "Digest Authentication", "Client Certificate Mapping Authentication", "IIS Client Certificate Mapping Authentication", "URL Authorization", "Request Filtering", "IP and Domain Restrictions", "Performance", "Static Content Compression", "Dynamic Content Compression", "Management Tools", "IIS Management Console", "IIS Management Scripts and Tools", "Management Service", "IIS 6 Management Compatibility", "IIS 6 Metabase Compatibility", "IIS 6 WMI Compatibility", "IIS 6 Scripting Tools", "IIS 6 Management Console".
STEP 34

(Enlarge)
  1. Under confirmation click "Install".
STEP 35

(Enlarge)
  1. The install process will begin.
STEP 36

(Enlarge)
  1. The install should result in success; click "Close".
STEP 37

(Enlarge)
  1. Now install all applicable updates.
STEP 38

(Enlarge)
  1. Install the .NET 3.5 Framework SP1. Install applicable updates.
STEP 39

(Enlarge)
  1. Open "Active Directory Users and Computers" and create some new users / groups so that the Sharepoint 2010 Synchronization Service will work along with allowing the developer to logon to a Sharepoint site with alternate identities.
STEP 40

(Enlarge)
  1. Start the Sharepoint 2010 Enterprise installation by selecting "Install software prerequisites".
STEP 41

(Enlarge)
  1. The preparation tool will perform a variety of downloads.
STEP 42

(Enlarge)
  1. Then the installation will begin.
STEP 43

(Enlarge)
  1. Once the prerequisites are installed install SQL Server R2.
STEP 44

(Enlarge)
  1. On the left click "Installation".
STEP 45

(Enlarge)
  1. Click on "New installation or add features to an existing installation".
STEP 46

(Enlarge)
  1. After the test passes, click on "OK".
STEP 47

(Enlarge)
  1. If you have a product key, enter it here.
STEP 48

(Enlarge)
  1. The test should pass; click "Next".
STEP 49

(Enlarge)
  1. Under this scenario "SQL Server PowerPivot for SharePoint" was selected as a New Server.
STEP 50

(Enlarge)
  1. Check "Database Engine Services", "Analysis Services", "Analysis Services SharePoint Integration", "SQL Server Books Online", "Management Tools - Basic" and "Management Tools - Complete". You can change source paths if needed. Then click "Next".
STEP 51

(Enlarge)
  1. The test should pass. Click "Next".
STEP 52

(Enlarge)
  1. Here you can choose the directory to place the Powerpivot instance. Click "Next".
STEP 53

(Enlarge)
  1. Enter the farm account, pass phrase and port. You may need to write this down to give to the developer. Click "Next".
STEP 54

(Enlarge)
  1. Review the disk space required and click "Next".
STEP 55

(Enlarge)
  1. To keep things simple for the developer instance, use the same account for "SQL Server Agent", "SQL Server Database Engine", "SQL Server Analysis Services". This account will need to be defined in Active Directory Users and Computers.
STEP 56

(Enlarge)
  1. Select Mixed Mode and enter a password for the SA account (this account is not defined in Active Directory Users and Computers). By default the sp\Administrator account will be added and you can add other accounts under SQL Server Administrators. Click "Next".
STEP 57

(Enlarge)
  1. If needed add a user here for Analysis Services. Click "Next".
STEP 58

(Enlarge)
  1. Click "Next".
STEP 59

(Enlarge)
  1. The test should pass. Click "Next".
STEP 60

(Enlarge)
  1. Review the summary. Click "Install".
STEP 61

(Enlarge)
  1. Installation will begin.
STEP 62

(Enlarge)
  1. After installation completes successfully, click "Close".
STEP 63

(Enlarge)
  1. From Windows Start, expand "Microsoft SharePoint 2010 Products" and click on "SharePoint 2010 Central Administration".
STEP 64

(Enlarge)
  1. It will take a few minutes for the webpage to load.
STEP 65

(Enlarge)
  1. Under "Tools" of IE8, click on "Internet Options".
STEP 66

(Enlarge)
  1. Select "Trusted sites" from the Security tab. click on the button "Sites".
STEP 67

(Enlarge)
  1. Ensure the site has been added.
STEP 68

(Enlarge)
  1. Under "System Settings" of Central Administration click on "Manage farm features".
STEP 69

(Enlarge)
  1. Ensure that "PowerPivot Integration Feature" is active.
STEP 70

(Enlarge)
  1. Go back to Central Administration and from the left menu click on "System Settings".
STEP 71

(Enlarge)
  1. Under Servers click on "Manage services on server".
STEP 72

(Enlarge)
  1. Make sure that "SQL Server Analysis Services" and "SQL Server PowerPivot System Service" are started.
STEP 73

(Enlarge)
  1. Go back to Central Administration. Under "Application Management" click on "Manage service applications".
STEP 74

(Enlarge)
  1. Click on "Default PowerPivot Service Application".
STEP 75

(Enlarge)
  1. Unless you've installed Silverlight at some point the resulting page will not show any handy graphs. Click the install silverlight icon to install it for the web browser.
STEP 76

(Enlarge)
  1. After installation when you visit the page a graph should show up.
STEP 77

(Enlarge)
  1. From Start click on "Administrative Tools" and "Services".
STEP 78

(Enlarge)
  1. Locate "Forefront Identity Manager Service" and ensure the startup type is Automatic.
STEP 79

(Enlarge)
  1. Under the "Log On" tab, click on "This account" and enter the farm account and then click "Apply".
STEP 80

(Enlarge)
  1. Now click on "Start". Then click "OK". Perform the same action for the other Forefront service.
STEP 81

(Enlarge)
  1. Under Start click on Run and enter "secpol.msc".
STEP 82

(Enlarge)
  1. Under "Local Policies" - "User Rights Assignment", right click on "Allow log on locally" and select "Properties". Add the farm account.
STEP 83

(Enlarge)
  1. From Central Administration click on "Application Management". Then, under "Service Applications" click on "Manage services on server".
STEP 84

(Enlarge)
  1. Click on "New" and select "User Profile Service Application".
STEP 85

(Enlarge)
  1. Ensure that "User Profile Service" and "user Profile Synchronization Service" are started.
STEP 86

(Enlarge)
  1. Under "Create New User Profile Service Application", select "configurable" and select the farm account.
STEP 87

(Enlarge)
  1. Scolling down you'll see the Host URL. Under "My Site Managed Path" enter something such as "/personal".
STEP 88

(Enlarge)
  1. Scrolling down you'll see "Site Naming Format" check "User name (do not resolve conflicts)". Click "Create".
STEP 89

(Enlarge)
  1. Under "Service Applications" click next to the text "User Profile Service for Sharepoint". From the ribbon, click on Permissions.
STEP 90

(Enlarge)
  1. Enter the farm account and click "OK".
STEP 91

(Enlarge)
  1. Back at Central Administration, under the section "System Settings" click on "Manage services on server".
STEP 92

(Enlarge)
  1. Locate "user Profile Synchronization Service" and start it.
STEP 93

(Enlarge)
  1. Enter the farm account.
STEP 94

(Enlarge)
  1. From Central Administration under "Application Management" click on "Manage service applications".
STEP 95

(Enlarge)
  1. Click on "User Profile Service for Sharepoint".
STEP 96

(Enlarge)
  1. Under Synchronization click on "Configure Synchronization Connections".
STEP 97

(Enlarge)
  1. Click on "Create New Connection".
STEP 98

(Enlarge)
  1. Under Connection Settings enter the farm account.
STEP 99

(Enlarge)
  1. Under Containers ensure that "Users" is selected.
STEP 100

(Enlarge)
  1. From Central Administration under "Security" click on "Configure service accounts".
STEP 101

(Enlarge)
  1. For "Windows Service - user Profile Synchronization Service" enter the farm account.
STEP 102

(Enlarge)
  1. Once completed with that page click on "Start Profile Synchronization". On the right side select "Start Full Synchronization" and click "OK".
STEP 103

(Enlarge)
  1. On the right side of the page you should see "Profile Synchronization Status" set to synchronizing. Even though you have basically nothing in Active Directory, it should take approximately 20 minutes to complete.
  2. While you wait, you could enable the developer dashboard:
    Method #1: (from the Sharepoint 2010 Management Console)
    $service = [SPWebService]::ContentService;
    $addsetting = $service.DeveloperDashboardSettings;
    $addsetting.DisplayLevel = [SPDeveloperDashboardLevel]::OnDemand;
    $addsetting.Update();

    Method #2: (if Method #1 does not work)
    $service = [Microsoft.SharePoint.Administration.SPWebService]::ContentService.DeveloperDashboardSettings;
    $service.DisplayLevel = 'OnDemand';
    $service.TraceEnabled = $true;
    $service.Update()
STEP 104

(Enlarge)
  1. Install SharePoint Designer 2010 (64-bit).
  2. Optionally install the Office Professional Plus 2010 suite if you will be using InfoPath for creating web forms and so forth (InfoPath comes with the Plus suite).
STEP 105

(Enlarge)
  1. Install Visual Studio 2010 Professional.
  2. If you've got the ability to do so you may also want to install Visio Premium 2010 (if you cannot install the entire Office Professional Plus 2010 suite which is a product only available to businesses). This will require more space than originally specified at the start of this tutorial.
STEP 106

(Enlarge)
  1. Perform a Windows update. You may need to do this a few times as things get installed and other things need to be installed based on what was just installed from Windows Update.


About Joe