Automating SharePoint Installation

SharePoint

This article is a re-post of the article I authored for MSSharePointTips which can be found here: MSSharePointTips Article

This article primarily applies to SharePoint 2010 (Foundation or Server). For SharePoint 2007, skip to the bottom.

What?

Automating SharePoint installation means performing a series of steps to setup your SharePoint Farm without user interaction. There are various tools we can use to help with this, some that will just install SharePoint, some that will help with initial Farm configuration and others that go a bit further.

Why?

Automating or scripting any installation brings several benefits, some more obvious than others:

  • Finer control of naming conventions such as database names, site names, etc. (side effect)
  • Reduce errors, such as in database naming conventions, disk or folder placement, and service accounts.
  • Provide consistency across environments and across different Farms. For example, a development, testing, and production environment.
  • Save time by letting the install run while you do something more important than watching progress bars

How you ask? Well there are a few options.

Option 1

If you’re just installing SharePoint for development purposes, you can use this Script to Install SharePoint 2010 on Windows 7. Note, for Windows 7 only. This script does a nice job of getting you up and running fast. It enables all the required Windows Roles and Features, downloads and installs pre-requisites, and installs SharePoint 2010. It’s a single uncomplicated script with just a few prompts (such as for your product key).

Option 2

For a less restricted approach, such as being able to install on Windows Server, you can use SPModule. Zach Rosenfield’s blog post titled SPModule.HelloWorld() has some more specifics on how to install the module, sign it, and use the command functions. It can’t get any easier than this: Use Install-SharePoint to install; New-SharePointFarm to create a new farm! Zach even explains how you can use SPModule to run several SharePoint installs remotely in parallel (Remote Install of SharePoint).

Option 3

My favorite option is to use AutoSPInstaller. Brian Lalancette (twitter @brianlala) has done all the work in collecting scripts, tips, and other information from various sources and has put together a very nice script. You just unzip the package into your existing SharePoint installation source (I recommend copying/extracting your SharePoint DVD/CD/ISO to a network share) and edit an XML file. Then, you simply run “launch.bat” and away it goes.

During a recent deployment, I configured one input XML file for each of my servers. They were essentially the same (same service accounts, database names, etc.) and I just needed to change the Web App name. This allowed me to run 4 or 5 installs simultaneously. I configured the script to install language packs and all the prerequisites from my network share as well.

Unlike the other two options, when you’re done here, you have all the essential services you need (Managed Metadata, User Profile, Search, Secure Store, Web Analytics, and more). You can configure it NOT to install one or all of these (I don’t need Web Analytics). Additionally, it can create a Web App with a site collection and even your My Site host.

Best of all, since you’re specifying your database names, they’re clean without GUIDs!

Before you start, I do recommend you review service account permissions. Check out Todd Klindt’s Suggestions (twitter @toddklindt) or my wiki page: Permissions Chart (essentially the same info). Also set up SQL Aliases (so you can specify them in your script) and copy updates to the \Updates folder in your SharePoint installation source. I used the August Cumulative Updates for SharePoint Server 2010.

Conclusion

Scripted installs can save time, provide consistency and make it easier if you need to rebuild the Farm. Use the approach you’re most comfortable with considering your purpose and environment or create your own using the samples here. Although it may take a bit longer to learn and properly configure these scripts up front, the effort will be well worth it.

For an excellent write up on automating SharePoint 2007 installation (install, provision, etc.), see Joel Oleson’s (@joeloleson) post: Automating and Scripting SharePoint Administration and be sure to check out Gary LaPointe’s (@glapointe) Sample Script.

6 comments

Is SharePoint good for ECM?

SharePoint

It seems this is prevalent throughout the IT circles of larger companies (and even government). But, I’m mostly basing these comments on my own experience in the last three years or so. For some reason, many companies (mostly larger ones) don’t really consider SharePoint a good ECM platform. In fact, even some SharePoint administrators are dismissive of it’s ECM capabilities. Perhaps there’s been a quiet campaign against labeling SharePoint as an ECM platform or perhaps its just tough to leave the perception of SharePoint 2001 & 2003 behind.

So, let’s take a look at some recent developments. First, what prompted me to write this article was the latest Gartner report: Magic Quadrant for Enterprise Content Management. Over the past few years SharePoint has been inching up the scales and here’s where we stand today:

image

Yes, news was buzzing that “Microsoft overtakes IBM in ECM MQ, WCM MQ, Horizontal Portals and Social Software for Workplace” all week. Products like Documentum (from EMC) and WebSphere (from IBM) have long been leaders however, I can’t remember when either was a leader in all four categories above. Microsoft has done an excellent job of maturing SharePoint while IBM and others like Oracle, have done a very poor job of integrating their acquisitions to compete.

For most companies, even the larger ones who truly have a need for ECM, I think SharePoint does the job well. Sure, Documentum or WebSphere may have a fancy feature that SharePoint can’t deliver out of the box. This is where the true power of SharePoint comes in. SharePoint is a development platform so you could certainly add the needed functionality through custom code or a third party tool. The SharePoint ecosystem is wide and strong. I always refer to http://www.sharepointreviews.com for new or niche products to take a SharePoint feature to the next level. Even no code solutions exists, its simply a matter of creativity and discovery. For a recent example, take a look at Corey Roth’s (@coreyroth) article: Spice up Your ECM with Ratings.

When we talk about ECM, we’re really talking about large amounts of data. So another trend of late is to outsource the hosting of that data: Cloud. I think Microsoft has a solid cloud platform (Office365) and it’s hard for others to really compete there. In my previous article, How Do The SharePoint Alternatives Stack Up?, I pointed at Google Apps as the cloud play. But as I point out in that article, Google is not really ready for enterprise. In fact, there are many stories of companies switching from Google to Microsoft (like this one, this one, and this one).

Companies large and small are now using SharePoint to increase productivity and enable their workforce. I encourage companies large and small to take a look at what their competitors are doing by heading over to http://www.topsharepoint.com. This site primarily shows public sites, but you can be sure that most of these companies switched their internal sites (ECM/Intranet) to SharePoint first and then went public (WCM).

To learn more about SharePoint’s ECM capabilities, visit these resources:

SharePoint 2010 Brings ECM for the Masses

Microsoft ECM Team Blog

Microsoft SharePoint Capabilities: Content

MSDN – What’s New: ECM

0 comments

Free Tools for Admins

SharePoint

A friend of mine, Devin, recently asked me about some tools that could be used to monitor SharePoint (performance). I pointed him to two resources that I try to keep updated:

These are mostly free resources, tools, solution files, etc. that can be deployed in your environment to monitor SharePoint performance and assist with troubleshooting and managing a small SharePoint farm. There are many more tools, many that are better but at a small cost. My favorite is the suite of tools available from Quest Software (link).

Another excellent resource to find tools like this is SharePointReviews (link) and twitter (@SPReviews). This site, run by Mike Ferrara (@mikecferrara), allows you to search by category, and you can see ratings and user reviews from people who have actually used the products.

Know of more free admins tools? Leave a comment and I’ll update my links.

0 comments

Arggh! ERR_CONFIG_DB

SharePoint

This week, I was helping a colleague set up a more robust development environment for SharePoint. We got stuck while trying to provision the User Profile Service (UPS). It would change to “Starting” and after 20-45 minutes, show “Stopped” again.

Spence Harbar’s (@harbars) blog post “Rational Guide to implementing SharePoint Server 2010 User Profile Synchronization” is by far the best resource for setting up UPS. We deleted our User Profile Service Application and started from scratch, following Spence’s guide. Nothing changed and upon examining the ULS logs (using ULSViewer), we noticed the following error:

ILM Configuration: Error ‘ERR_CONFIG_DB’

This was obviously happening before, we just didn’t notice. Spence has been kind enough to share common issues and resolutions with UPS on his follow up blog post: “Stuck on Starting”: Common Issues with SharePoint Server 2010 User Profile Synchronization.

The blog post states this error is due to incorrect permissions on the Sync Database, so we checked and re-checked and even changed the settings to ensure the SharePoint Farm service account had permissions. No luck!

Eventually, I was led to a post by William Wolfe (link), where he had the same problem with a named instance. Our configurations are different. I’m using SQL Server 2008 R2 in a two-node cluster. In any case, we ARE in fact using named instances. This can be confusing because the Sync DB does get created, so communication between SharePoint and SQL is working. However, as William points out, the Forefront Identity Manager Synchronization Service (FIMSynchronizationService) tries to connect to the default instance.

Solution

The solution we used from Williams blog post worked. We created a SQL Alias called “ClusterName” and pointed it to “ClusterName\InstanceName” and restarted UPS. After 10 minutes, it “Started” and we could see all the databases and success notices in the ULS Viewer.

image

On Spence’s blog post, he does specify that UPS does not support Named Instances. However, the information was a bit misleading, at least in my case. Using any “Alias” name does not work after you’ve already installed SharePoint. You must specify the the SQL server name you used during the install, in my case, the name of the cluster. In any case, as a best practice, always use a SQL Alias.

3 comments

Configuring SharePoint 2010 Certification Tips

SharePoint, Microsoft

I just took (and passed) the SharePoint 2010 Configuring exam (70-667) and wanted to share some thoughts for those who will be taking this exam soon.

I used the Microsoft Learning site for this exam as a starting point. It gives an outline of what’s covered. Check it out here. I think everyone’s testing experience is slightly different. One person told me there were a lot of questions related to Search, but for mine, there weren’t. Here’s what I would say you need to look at more strongly:

  • User Solutions (Sandboxed solutions): How they’re used, how to control resources and what can be controlled at the Web App level compared to the Site Collection level.
  • Trace Logging: Not sure why but there were several questions on Trace Logs and Diagnostic Logs in general. Know where to configure this and how to control logging resources.
  • Content Routing: Most of my questions were about content routing, records center, things like that. There are scenarios of user’s trying to move content from one site to another or one web app to another.
  • Anonymous Access: Several questions dealing with anonymous access were discussed including Anonymous Access restriction and troubleshooting anonymous access.

In addition to the above, pay attention to Search (crawler impact rules, search federation, authoritative pages, search managed properties and search service application) and Publishing features.

Some of the resources I used were:

1. The bullets (mostly TechNet Video Links) in the ITPro section of my wiki: http://wiki.wahidsaleemi.com/Pages/Enterprise_Portal_Training

2. Microsoft SharePoint 2010 Learn Portal

3. Partner Learning Channel (if your company is a partner), plus Hands On Labs.

4. Reinforce topics in more detail by reading TechNet.

5. Downloaded the Contoso VHD and played around.

Of course, I also use twitter and the blogosphere to find other resources, but the ones listed above are the most geared towards the exams. As a reminder, if you’re in Southern California, you can learn a lot about SharePoint 2010 by attending SharePoint Saturday Los Angeles. This is a FREE, 1-day community driven event.

0 comments