Building a SharePoint Home Lab

We recently had an opportunity to catch up with MCSE Stacy Simpkins, a SharePoint Engineer at leading managed cloud computing company, Rackspace. As someone who regularly teaches, presents, troubleshoots, and blogs about SharePoint and other Microsoft products on a regular basis, we wanted to ask Stacy about what it entails to build a SharePoint 2016 lab at home.

What are the most compelling reasons an IT Pro or power user would want to build a SharePoint home lab? 

It can be invaluable to have a place to test new code in an isolated environment that closely simulates your production environment.

What sort of prerequisites or level of knowledge is needed to build a SharePoint home lab?

It really depends on the instructions being used to create the home lab; in Building a SharePoint 2016 Home Lab, all that’s required is the ability to follow instructions. I don’t leave anything to chance.

What software and hardware do you recommend using to build a home lab?

Microsoft provides 180 day trails of all the software that is needed to simulate an enterprise grade farm.  That includes the Windows Server 2012 R2 Operating systems, the SQL Enterprise 2014 SQL Server, and the SharePoint 2016 Server.

Is it costly? Could a student theoretically build a SharePoint Home Lab? If so, what are some ways one can cut corners?

The only costly part is the hardware needed to build it. If a college student or user has access to laptop with at least 12GB of ram, then more than likely they’ll have enough disk space to build out a farm. This could also be done in an Azure subscription.

How do you begin building an environment with virtual machines? Is there a preferred hypervisor, vSphere or Hyper-V? 

To begin building the farm you must first enable the Hyper-V manager feature in the Windows 10 Professional, Windows 8 Pro, or Windows 7 Pro. From there you build out the hyper V machines, create the domain controller and the domain, spin up the SQL server, and then create the SharePoint front ends.

What’s involved in bringing machines to the domain?

It really only takes a few commands. In Building a SharePoint 2016 Home Lab we access the system properties of the newly created VM and then join it into the domain using a domain admin account.

What is public key/private key infrastructure and why is it important to building a home lab?

The PKI helps simulate the use of sites running with secure socket layer enabled. Chapter 8 goes into great depth on it. Here is a short excerpt:

First of all, give yourself a few pats on the back—you’ve done a lot of work to get to this point. I’m not going to rehash all of it, but I will say that you have the makings of a great domain. If you dive deeper, you’ll learn all about connecting sites and services within a domain, creating trusts, configuring the locations of certain files, and more. What I mean by that is that we haven’t by any means configured the domain controllers as you would for production because this book’s scope is such that it gives you a home lab domain with SharePoint running on SSL vs. SharePoint running on top of SQL running on top of a domain controller; err, what I like to call the “single-server monster.”

Secure Socket Layer (SSL) is only possible via the use of certificates. These certificates must come from a trusted certificate authority. Certificates are used by machines to allow secure connections using what is known as a public key infrastructure (PKI). Certificate authorities (CA) are the machines that issue the certificates for use within a domain or within the Internet. When you create a CA, the certs it issues are usually only good within your domain. These certs are known as private key and they have a matching public key pair so that when presented to the certificate authority, identity validation and access can be granted.

License and Registration, Please?

An analogy that I’ve heard somewhere before, and that makes this make a lot of sense, compares the driver’s license to the certificate. If you think of the Department of Transportation (or whatever your state calls the public entity that administers driver’s licenses) as the certificate authority, then you can understand how the driver’s license represents the certificate. When you are pulled over by the nice policewoman, one of the first things she says to you is (probably), “Do you know why I stopped you?” And then she asks you for your license and registration, which, by the way, are also forms of certificates in that they certify that you are you and that the car is yours. Then she goes back to her car to run your numbers and see if they match up to your car’s license plate number, another certificate. If all of this matches up against what is in the state’s computer system, you may or may not be on your way to wherever you were going.

The key takeaway here is the certificate authority (Department of Transportation), a third party trusted by both you and the police officer, which issued you a few certificates (license plate, driver’s license, and registration) and stored this information in a way that makes it accessible to determine the validity of a claim of ownership and identity. The driver’s license and registration are true examples of the private key portion of this exchange; and like a private key, the information on the driver’s license, specifically the number, must be kept private because it is a confirmation or validation by the CA that the public key (the driver’s license number) contained in the certificate belongs to the person, organization, server, or other entity, as noted in the certificate. I hope that helps make some sense of what happens when a certificate is used.

As a little quicker (but still really high) overview of the process, the private key is presented by the client computer, server, or device (driver of vehicle) when communication happens (license and registration), and then this private information that is included in the private key (driver’s license information) is quickly validated (cough, cough) against the public key record, which is known.

What role does SQL Server play in building a SharePoint home lab? How much SQL Server know-how is needed?

The SQL server is the backbone of the farm, it serves up the databases, zero knowledge of SQL is needed to get started.

What are the basic steps for installing and configuring SharePoint?

1)      Have servers joined into a domain.

2)      Install SQL and configure it for SharePoint

3)      Install SharePoint pre-requisites

4)      Create the farm starting with the server running Central Administration

What sort of testing do you recommend to ensure a SharePoint Home Lab has been correctly set up?

After the farm is configured, create a web application, develop a search service application, run a full crawl, and look at IIS, windows services, and other parts of the farm to see that it is least privileged.

About the Author

Stacy Simpkins is a Microsoft Certified Solutions Expert in SharePoint 2013. He has been working with Windows Server-based domains since 2005 and has been concentrating heavily on SharePoint since 2008.  He holds numerous certifications (e.g. MCITP EA 2008 Server, MCSA Server 2012, MCITP SharePoint 2010, and many more). He's worked with clients from various industries such as: the food industry, the legal industry, and the federal government. He enjoys spending time with his family, learning about technology, and taking in the occasional hockey game.

Want more? Find more in depth information in Building a SharePoint 2016 Home Lab by Stacy Simpkins, ISBN: 978-1-4842-2169-3.