Building a New SharePoint 2010 Virtual Machine from Scratch – Even I Can Do It
<UPDATE DateTime=”2010-11-18 10:36:00 EST”>
 Based on feedback from many people here and on Twitter, I’ve decided to build out my VM using Andrew Connell’s instructions. All of the admin types who have seen what I’m doing keep telling me things like “Well, if you want to do certain things down the road…” or “That’s not really the way a farm will be set up…”. These are all maybes and shouldas, but why risk it?
As I said below, this is a VM purely for my own use, but I’m also finding it really useful and interesting to go through all of these steps to get the VM built. I’m taking lots of snapshots so that I can go back and change my mind without starting over, so it isn’t even all that painful to do so. I still think that the instructions below are useful for someone just trying to get their toes wet. Give it a whirl.
</UPDATE>
I’ve been limping along with a SharePoint 2010 (SP2010) beta virtual machine (VM) for almost a year now. A month or two ago something from Windows Update (I think) put it out of commission. Or maybe it just reached the end of its allowed life. Whatever the reason, it wasn’t playing nice for me anymore. I’ve been working with SP2010 in my client projects, so I didn’t care too much, but I finally got to the point where I really needed to have a playground VM on my laptop.
Because of all of the mumbling and grousing I hear on Twitter, in blogs, etc., I have assumed for a long time that building SharePoint servers from scratch is for the pros, not for some old hack like me. So I was dreading the whole thing. Turns out I should have trusted my own capabilities and the simplicity of the process more. The whole thing took me less than 90 minutes and I wasn’t even paying a lot of attention.
Here’s the “Installing SharePoint 2010 from the ground up for dummies” process. Of course, this assumes that you have the bits for Microsoft Windows Server 2008 R2 and SharePoint 2010 Server. I got mine from my Action Pack subscription. (One of the best deals on Microsoft software on the planet, IMHO.) It also assumes that you just want to have a single server playground for yourself. I’m using VMWare Workstation 7.1 and I have the best laptop in the world, so your mileage may vary.
The first step was to create a new VM with Windows 2008 R2 installed. I didn’t capture all of the steps for this, but trust me when I say that VMWare makes this so easy it’s almost laughable. All you need to do is point VMWare at the ISO file and it knows exactly what to do.
<UPDATE DateTime=”2010-11-13 11:19:00 EST”> I added in the screenshots from the Windows Server 2008 R2 install in case it is helpful to anyone. </UPDATE>
Reboot
Reboot
Reboot
And there we go! Once I had the OS installed I took a snapshot of the VM.
<UPDATE DateTime=”2010-11-16 22:18:00 EST”>
Due to suggestions from several people, the most impactful being Bjorn’s comment below, I decided to take a few steps back and install Active Directory. Since I’d taken snapshots of the VM, it was pretty easy to go back and do that additional step at this point in the process. I used the very clear instructions that Andrew Connell put together on the Critical Path Web site. In the version that I used, the instructions for installing Active Directory start on page 13. Once done with this new step, I took another snapshot of the VM
</UPDATE>
<UPDATE DateTime=”2010-11-17 22:51:00 EST”>
Initially I installed UltraISO at this point. Bjorn also pointed out in the comments that I don’t need UltraISO (as much as I love it) because I can simply mount the ISO for SharePoint 2010 directly in VMWare. Here’s what that looks like.
</UPDATE>
Next step, run the Prerequisite Installer. This is the program PrerequisiteInstaller.exe which is found in the root of the ISO. Here’s what it looks like as it runs:
After a reboot, I took another snapshot of the VM.
Next up: SharePoint 2010 itself. Running setup.exe in the root of the ISO gets that rolling.
I chose the second option: Server Farm. I only want a single server farm, but I’ve heard enough people say to never click that first button (Standalone) that I didn’t.
When you close the SharePoint 2010 installation program, it immediately launches the configuration wizard, assuming you leave that box checked. The only choice I had to make here was to say “Yes’ in the second screenshot.
Clicking Finish above pops you into the Site Creation page in the browser. I was prompted for credentials, but that seemed appropriate.
Et voila!
I’m not sure how that could have been any easier.
Note: for you admin purists out there, I’m sure that I broke a whole bunch of your rules and best practices. I’d love to hear what you think I did wrong, but remember that this is only a local playground VM for me, and me alone. My guess is that I’m just fine.
While I’m not an admin purist, I still can offer some insight. I’ve setup my own VM just like this knowing that it doesn’t have the appropriate service accounts. Simply because I’m not writing code and deploying it to the server. Since I know you live in the “Middle Tier” realm, I don’t see much of an issue with this setup at all. The only time I hear of “Well, on the dev server it works, but in production, it falls flat on it’s face.”, is when the dev server hasn’t been setup properly to emulate the server in production. Security rules apply! This quite possibly could be another reason to stay in “Middle Tier” if you ask me.
Just one note… You don’t need UltraISO to mount ISOs for the VM. You can use the virtual CD-rom of the VM itself. Simply point that to the ISO file instead of a physical drive and it will work :-)
Further, for the full SP2010 experience, especially for server, you need to install Active Directory. Not sure if that was part of your OS setup, but readers should note that when you install SP2010 on a domain controller, you get a slightly different install experience and would probably want to do a command-line install instead to get exactly what you want.
.b
Swami b:
I’ve just added in the screenshots from the VM creation and OS install to make the post more complete. I’d be interested in a couple of things. (Let’s make this a learning experience!)
1) What exactly do I give up by not installing Active Directory? And assuming that what I’ve given up is too dear to part with,
2) Where in the process would I do the Active Directory step and how does it work? (Pointing me to something reliable out on the Web is fine, of course. I find all kinds of claptrap out there and you are my trusted source.)
M.
The most complete guide to setup a SP2010 development environment, complete with SQL & AD can be found at Critical Path Training, see Andrew Connell’s post about it:
http://www.andrewconnell.com/blog/archive/2010/05/12/now-available-create-your-own-sharepoint-server-2010-rtm-virtual.aspx
Thanks, Thomas. Part of what I wanted to do here was to see if I could just figure it out by myself without a cookbook. Not only was I testing myself and the process, but my needs are probably simpler than what most of the cookbooks out there would tell me to do. That said, I’ll definitely read Andrew’s post.
M.
Marc,
Great job debunking the install myth! I’m glad to hear you had such an easy install experience. When you want to take the next step and install service applications like user profile sync you might want to rebuild as a complete install with full SQL Server. Moving off SQL Express and the standalone install is only a little more effort. Adding Active Directory and the service accounts suggested at http://harbar.net/ will be a good base to start on if you want to use the full server capabilities.
You could have done it easier: http://blogs.msdn.com/b/cjohnson/archive/2010/10/28/announcing-sharepoint-easy-setup-for-developers.aspx
Cheers
Max
Max:
Thanks for the link. I knew about that approach, but I wanted a VMWare server VM so I went the way I did. I actually think that the approach on that link is a little harder: I didn’t have to edit any XML! The other difference is that I have licenses to the bits from my Action Pack subscription so I don’t need to go the trial download route. I also can take my snapshots when I want.
M.
“Additionally they will download evaluation copies of the products it installs (or use fully licensed product bits you supply)” ;)
The xml config wont work after the first try – but when it works, you can easily replicate & customize it. I will try it soon!
Cheers
Max
Great job Marc! I’ve built so many of these I guess I should document my process at some point… hmm, when will I have time???
I actually set up my first environment as a three server farm, but decided that I wanted an easier time managing snapshots, so I rebuilt recently on a single server with Active Directory, SQL 2008 R2, hMailServer and SharePoint. This gives me a fairly complete environment for the majority of demo’s and development processes. I recently added hMailServer because I wanted to be able to demo alerts and SPD workflow emails.
Chris Quick
Hi Marc,
Good post with screenshots :) Since you are using Vmware, you should really take advantage of cloning vms – in simple terms – you can create a base SP2010 VM and clone it for different projects/conferences.
My base VM is bare metal Server 2008 R2 which has SQL Server 2008 R2, Office 2010 and all the SP2010 pre-requisites installed. Now I can clone and install SharePoint Foundation 2010 or SharePoint Server 2010.
Cheers,
Chaks
Chaks:
Definitely. I took several snapshots along the way and plan to do just what you propose.
The nice thing about working in the Middle Tier is that I really never hose my VM. (I’ve been using the same MOSS VM since early 2007.) I just create a new Web App, Site Collection, or site (depending on my needs) for new work or demos.
M.
I would add one more step before installing SharePoint. Rename the machine so that you don’t end up with ugly web app Urls.
You write that you chose server farm but your screenshots show standalone. Which did you choose?
Assuming your chose server farm, did you choose Server Farm > Complete or Server Farm > Stand-Alone?
Thanks!
Aaron:
It’s been a while since I did this, but I believe that I built a Server Farm -> Stand-Alone. what I was after was a VM where I could do development for my SPServices library as well as test out various things.
M.