Tuesday, July 6, 2010

How to Create a Local SharePoint 2010 Development Environment


On challenge a lot of people have when wanting to learn SharePoint 2010 is having an environment to do it. Up this point, I have been reliant on getting access to SharePoint 2010 that would run in a hosted environment. The biggest hindrance for running SharePoint 2010 is the dependency of running on 64 bit and having sufficient memory (4GB for development; 8GB for production).

The following are the steps I went through to create a SharePoint 2010 environment that is running locally on my laptop.

Once you have the environment created, read this to do get free development hands on labs.

Host Environment

This is the configuration I have for my laptop.

  • Host OS - Currently on my laptop I am running Windows 7 64 bit. I had thought about using Windows Server 2008 on my laptop but decided against in for the long-term.

  • Memory - I was finally able to upgrade my laptop memory from 4GB to 8GB. That was needed so I could provide the minimum of 4GB.

Guest OS

Now I am lucky that I have a MSDN subscription so obtaining all this was very easy <g>

The following is the configuration you will need to do prior to installing SharePoint.

  • Hardware/Software Requirements – I first reviewed Hardware and software requirements (SharePoint Server 2010).

  • OS – I created a virtual environment and installed Windows Server 2008 R2 on it.

  • Configure OS Server 2008 R2 – I made sure I got the latest updates.

  • Server Roles – Next I added the Web IIS and Application Server roles.

  • Desktop Feature - You will need to turn on the Desktop Experience Feature so Office can save to SharePoint.

  • Static IP Address – Next you will need to apply a static IP address to the VM for the next step to create a Domain Controller. Otherwise you will get an error saying "This computer has dynamically assigned IP address(es)" when installing the domain controller (http://orbitalrobot.com/blog/Lists/Posts/Post.aspx?ID=3).

  • Create a Domain Controller – Next you will need to add a Domain Controller. I thought I could get away without having a Domain Controller however you will it later when configuring SharePoint 2010. This is because the service accounts need to belong to a domain. Read these simple instructions to set up a Domain Controller (Setting Up Your First Domain Controller With Windows Server 2008). I called my domain SharePoint.local.

  • SMTP Service – You will need this for incoming and outgoing email on your development environment. You will need to incorporate this into the solutions you build. To install and configure the SMTP Service use the guidance here - Configure incoming e-mail (SharePoint Server 2010).

  • SQL Server 2008 R2 – Next I installed SQL Server 2008 R2. Note make sure SSRS was installed and I configured it to run in SharePoint Integrated Mode right off the bat.

  • SSRS Configuration – This was not well documented as part of the installation process for SharePoint. I found this - How to: Configure SharePoint Integration on a Stand-alone Server – specifically focus on the making sure you have the stuff done that you need to do before installing SharePoint 2010. If you are not familiar with Reporting Services configuration you should also check this out - How to: Configure a URL (Reporting Services Configuration). I would recommend creating a new web site in IIS on port 8080 and configure reporting services to run from there. When later configure SharePoint 2010 it will take port 80 on IIS.

  • SharePoint 2010 Prerequisites – Read Hardware and software requirements (SharePoint Server 2010) which has a list of perquisites you need to install. Several of these will be installed for you when you run the SharePoint 2010 Prerequisites tool. What I did was install several of prerequisites myself. What I am going to try next time is see if I can skip this step and let the SharePoint 2010 Prerequisites tool do it all for me.

Install SharePoint 2010 Bits

  • Run SharePoint 2010 Prerequisites Tool – Next I ran the SharePoint 2010 prerequisites tool using the following instructions as guidance - Deploy a single server with SQL Server (SharePoint Server 2010). I ended up getting an error first time saying "The tool was unable to install SQL 2008 R2 Reporting Services SharePoint 2010 Add-in". I just reran the Prerequisites Tool again and the error took care of itself.

  • Create Account Server Farm Account – You will need this during the install. You do not need to give it any permissions; the installation wizard will grant needed permissions. Read the additional references below about all the service accounts that you made need.

  • Install SharePoint 2010 – Next I installed SharePoint 2010 bits using the following instructions as guidance - Deploy a single server with SQL Server (SharePoint Server 2010). It is very similar to SharePoint 2007.

Additional References:

Additional Software

The following is additional software that you will need for your new SharePoint 2010 Development environment!!!!

  • Visual Studio 2010

  • SharePoint Designer 2010

  • SharePoint Workspace 2010

SharePoint 2010 Configuration Wizard

Now comes the fun part of configuring SharePoint 2010, which was significantly quicker than SharePoint 2007.

  • Create SharePoint 2010 Service Account – I will need a service account when going through the SharePoint 2010 Configuration Wizard. I just created a new account on my domain with and gave it no permissions and the Configuration Wizard would take care of that for me.

  • Run SharePoint 2010 Configuration Wizard - Next I needed to run the SharePoint 2010 Configuration Wizard. I followed the guidance in - Deploy a single server with SQL Server (SharePoint Server 2010). I used the new service account and since I had an Enterprise license, I went ahead and installed all the application services so I can play with them. One of the steps in this is to also run the Farm Configuration Wizard in Central Admin. I pretty much turned on all the services that I could.

Now you have completed this, you can open Central Admin. One thing you will notice right off the bat is there is a new status bar that is red sitting right in the middle of the screen with issues or errors. I had a couple but none really worth noting because they are not issues because this is a development environment. For instance I am not going to get all wrapped around the axel on making sure service accounts are not shared across services in my local development environment…

Configure SharePoint 2010 Wizard (Highly Recommended)

Once you have run the configuration wizard, even though you have used the new Farm Configuration Wizard in Central Admin to initialize a ton of services, there are still some steps you need to do. The following are highly recommended configurations you should do for your development environment.

Configure SharePoint 2010 Wizard (Optional)

Much of the configuration below is optional because the Farm Configuration Wizard took care of most of it. You may have to mess with these configurations when you are developing a solution so here are some references you should skim over to get familiar with things.

Additional Resources:


DavidBarrows said...

Hi, nice blog post.

I got to the point of installing SQL Server and got the warning that it shouldn't be installed on a domain controller. Your post suggests that you went ahead and did it (i.e. it appears that you did this all on one machine or VM); is that indeed the case? Thanks, -Dave

DavidBarrows said...

Sorry, one other question; I notice you set the VM to a static IP; when I did that, I was then unable to connect to the internet; this is perhaps simply due to a lack of understanding of certain networking fundamentals on my part, but, how does one do it? Do you create another network adapter, or am I just missing something? thanks

Jason Apergis said...

Well I actually got the error for not having the Domain Server until I started installing SharePoint. I had installed SQL Server before that. So I moved the step to create the Domain Controller earlier. Not surprised by the warning you are getting but you should disregard it. This is just for a simple development or demo environment. I would never recommend this configuration for a production environment.

As for your second question, there is a link I have provided that will help you set up your static ip address.

DavidBarrows said...

thank you, -Dave

Paul Beck said...

Hi Jason,

I want to use K2 workflow & forms on a standalone SP2010 VM. Shoukd K2 be installed locally or on a shared VM for all the devleopers to leverage?


Jason Apergis said...

Paul - I know I have installed K2 and SharePoint on the same VM for dev team purposes. obviously that would never be a production recommendation....