This is a quick blog to give you some guidelines in creating a development environment in SharePoint. I will be assuming in the blog that you know how to use VMware and how to install the separate MS products.
First your physical machine: Ideally your physical machine should have 2-4GB for memory, of course the more the better. I would also recommend a dual core CPU. It should have two hard drives. The second hard drive could be an external drive. Your virtual environment will perform faster if the machines are on a separate hard drive than the host OS. I’ve had good luck with using an external USB drive. You can pick one of those pretty cheaply now. In addition of the hardware mentioned, the OS installed on the machine will make a difference. If you want the best performance, don’t install an OS such as Vista which has a larger memory footprint than others OS’s. I would use a bare minimal Windows 2003 on your host.
Now we have a nice clean host environment. Let’s start creating our VM machines. Make sure you are creating these machines on your second hard drive. Also make sure that your hard drive is nicely defragmented before you start.
We will create a VM (virtual machine) that we will use as a base from which we will create our others machines. Create a “Typical” machine based on Windows Server 2003 Standard Edition. Give this base machine a 20GB drive. This will be your C: drive. The C: drive will contain the OS as well as many of the Microsoft applications installed. You don’t have to assign all the space at the time of creating; however, for better performance, you might want to do that. Proceed and install Windows 2003 Standard Edition on the base machine. Once it is installed, make sure you apply all Windows updates. Now install the VMware Tools. After the updates and VMware tools are installed, install the .NET 2.0 redistributable package as well as the .NET 3.0 redistributable package. One piece of software you might need on the machines we’re going to create from the base machine is one that will allow you to mount ISO files to install software. If you have one of these pieces of software, install it on the base machine so you have it on all your machines. If you don’t have software that does that you might want to search for “virtual clone drives” and install one that meets your requirements.
Once these are installed, make sure that you apply all Windows updates again. Shut down your base machine. Change the VM settings of the base machine as follows. Memory 128MB, floppy drive, sound driver and CD drive should be disconnected at start up. Make sure the USB Controller is not set to automatically start up when a device is connected.
Now we’re going to create two (or three, your choice – see below) virtual machines based on the machine we created above. One of the machines will be an active directory machine. The other will be your database, MOSS and development machine. Some people would suggest that you should create a separate machine for your database, but my environment is working fine with the two machines I mentioned above. To create these machines, we will clone (VMware function) the base machine. You can create clones in two ways. One type of clone is a totally independent clone from the base machine; the other type is a linked clone which will require the base machine to be accessible. The advantage of linked clones is that they occupy less space. This is what I have done, and so far I have not encountered any drawbacks. When creating the machines, name one machine something such as VMPDC, the other VMMOSS. After the clones are created, let’s make sure that the VM settings are as we left them above on the base machine.
Both clone machines we created above have the same System ID (SID). We will have to make each of the clone machines individuals by changing the SID. I use NewSID to accomplish that. You can download NewSID here.
Now let’s start the VMPDC machine. Once the machine is up and running, download the NewSID utility above and run it. Shut down your VMPDC machine. Now, let’s do the same thing with the VMMOSS machine. Shut it down.
We have two nice machines to work with. But before we continue let’s create a Team (VMware term) where we can place the machines. Create the Team and add these two machines to it. Next, make sure the Ethernet adapter on each machine is set to “Team LAN support”. Add a second Ethernet adapter to both machines. Make these adapters either NAT or Bridged (your preference.) These second adapters will be used by the machines to get outside the Team LAN. Add a second hard drive to your MOSS machine. Remember this machine will also be your development machine. Make the second hard drive a 20GB drive also.
Start up your VMPDC machine. We’re going to make this machine an Active Directory machine. Before you get started assign a static IP address to the Ethernet adapter that is part of your Team LAN. You should use something such as 192.168.115.1 with a subnet mask 255.255.255.0. Now go ahead and make your machine a PDC. As I mentioned above, I assume you know how to do this.
Before you start your VMMOSS machine, go into VM settings and change its memory to 1GB. Start up your VMMOSS machine. Give this machine a static IP address in the same range as the PDC above; maybe something such as 192.168.115.10 with a subnet mask of 255.255.255.0. For a DNS add the address of the PDC (192.168.115.1). Now proceed to install software on it. Install SQL Server 2005. Install and configure MOSS. Install Visual Studio 2005 and SharePoint 2007 Designer. Make sure that you install these new software on your second hard drive.
We’re almost done. We need to (or should) create a third machine. This machine will be a client in our environment. In VMware create either an XP machine or a Vista machine and call it something such as VMCLIENT. XP will have a smaller footprint and, therefore, it will be “easier” on your host. If you are creating an XP machine you can get away with 128MB of memory. If you are creating a Vista machine, you will need a minimum of 256MB of memory. Once this machine is created start it up and installed the OS selected. After the OS is installed, make sure that you apply all the Windows updated. Once you have the updates applied, install Microsoft Office 2007 and perform the Windows update again. Don’t forget to install the VMware Tools.
Shut down your client machine. Now add it to the Team you created above. Make sure that the Ethernet adapter is set to the Team LAN. You might want to add a second Ethernet adapter to this machine also. It could be NAT or bridged (your preference.) Start up your client machine and assign a static IP address to the Ethernet adapter that is connected to the Team LAN. Give it an IP address in the same range as the PDC above; maybe something such as 192.168.115.11 with a subnet mask of 255.255.255.0. For a DNS add the address of the PDC (192.168.115.1).
Make sure that all your machines are shut down and take a snapshot of each one of them. This will give you a base snapshot to get back to in case something goes wrong with your environment.
One note of caution when creating these environments: Make sure that you read and understand all the licensing agreement associated with every piece of software you install.