First and the most important item here is that this will be based on a Very Small SharePoint implementation. The service is to support less than 100 users. If there was more trust of the cloud based products, the web based version of SharePoint would have been a likely choice. Not so much for us though. Even though we are a small company, we’ve employed the enterprise version of SharePoint. This was after running through Foundation, and then Standard versions. With Microsoft, all the good stuff comes in the Enterprise version. No a la carte here…Hello? Microsoft? A La Carte model please???
One of the first lessons learned was that SharePoint is more of a concept than a concrete object you can put your hands on. Sure, it has that element but…like that piece of dense chocolate cake that goes thunk… it’s heavier than you think. SharePoint is a server product that can have a inclusive SQL Express server or access an external server. Depending on which model you opt for, be prepared to create a lot of AD entries if you go for the more than a single server model.
SQL Server is a critical element of SharePoint
When isn’t SQL Server a critical element? While SharePoint does provide functionality to access external content, SQL Server is a central and critical piece of the SharePoint solution. In our deployment, I set it up so that we used an external, dedicated SQL Server to support SharePoint first. Secondary databases were added after the solution was in place and evaluated for their impact. The SQL Server is a bare metal server. While it has been documented that SQL will run virtualized, we did not want to take the chance and dedicated a server. Hardware is getting cheaper by the day.
What version? Since it is well known the the future of Microsoft products is going to be on 64 bit servers, we went with the latest version of SQL on a 64 bit box (SQL 2008 R2 x64).
Servers and Web Roles…More fun
Start up a Windows Server (2008 R2 x64 please) and you’re confronted with ROLES. Well, SharePoint needs a ROLE or two to function. Since it is an application the Application Server Role would be good. Web? I think SharePoint has “some” web parts to it, so IIS would probably be a good idea. Go to this PowerShell and SharePoint link for PowerShell stuff.
In addition to the roles mentioned, some other stuff should be set up ahead of time:
- A little component called: Microsoft SQL Server 2008 Native Client
- Microsoft Windows Identity Foundation
- Microsoft Sync Framework 2.0
- Microsoft Chart Controls for .Net Framework 3.5
- Microsoft Office 2010 Filter Packs
- Microsoft SQL Server 2008 Analysis Services ADOMD.NET (same place you found Native Client)
- For ADA Requirements
- Microsoft Server Speech Platform Runtime(x64)
- Microsoft Server Speech Recognition Language <-pick the language of your choice…
NOTE: I’ve tried to pull in the latest links but please double check as things to change and it’s always best to get stuff fresh.
In the small scenario, all of these components and roles are on one server. The only separation used is that the SQL Server is on a different box.
Looking around my office and thinking about this project, I have four books on SharePoint 2010 that I’ve collected over the past year or so (see below). Most of these were not even in Print when I started this project. It’s been a long an interesting road for sure. Some are dog eared. Others a full of sticky notes and yellow highlighter. Go figure…
SharePoint has a lot of Service Applications that can be enabled
Not all of the services should be activated just because. Only activate what you need. Just because you’ve activated it doesn’t mean you’re done either.
To get familiar with PowerShell support, go to the Microsoft SharePoint 2010 Products on the server menu:
Open up the SharePoint 2010 Management Shell and type Get-Command.
You will see a long list…
SharePoint Search: As mentioned in other blogs, there are two SharePoint search facilities, SharePoint Search and Fast Search. For fast, you want a different server. We’ve not implemented Fast. Normal search will suffice for now. When we need thumbnails and other fancy stuff, we’ll get another server for Fast.
One of the roles that will need to be enabled for our server will be Email Integration. This will require some separate steps but is necessary for records and content management.
Again, since this is a limited server farm, the default of having server administration role on the same server is not an issue. When our farms grows HUGE, then it might make sense to put the role on it’s own dedicated server.
Development Needs: Say what you will, having your own personal SharePoint server to do development is a good thing. Having it as a virtual system is even better. To facilitate this, I leveraged VMware Workstation to build separate SharePoint environments to mimic the three systems we have in place: Foundation, Standard and Enterprise. Why go through the trouble of setting Virtual Environments for SharePoint? In a word – SNAPSHOT. SharePoint is a large environment that can go sideways on you in an instant. Not all sideways events are easy to recover from either. By using a virtual environment, you can test stuff out without risking your sanity. I follow the same process for almost any additional tweak to the system:
1. Snapshot
2. Develop
3. Confirm
4. Snapshot
If only the server was running with a similar facility! I’d have fewer gray hairs…
Notice the VMware reference? Well, I have to admit that I’m a bit confused on Microsoft’s virtual pc offerings. Eventually, I’m sure I’ll find a concise HOWTO and start using it. So far, mostly due to lake of time, the resources on MSDN and Virtualization seem, detailed but scattered. <—opinion!!!
Recap:
Server acquired
Pre-requisites installed
At least one installation of SharePoint using VMware completed and a snapshot taken
Ready for the plunge, bringing up the server…taking down the server…bringing it back up. Crud, it isn’[t working as expected and what is this about Kerberos anyway?
Books Used…
http://book.pdfchm.net/microsoft-sharepoint-2010-unleashed/9780672333255/ – the overall reference book
http://blah.winsmarts.com/2009-12-Microsoft_SharePoint_2010__Building_Solutions_for_SharePoint_2010.aspx <- a great reference for setting that all important Development Environment.
Of course various .Net and SQL server references as well.