Steps to configure a basic MOSS 2007 farm

I’m working on a step-by-step procedure to install Microsoft Office SharePoint Server 2007 Beta 2 (MOSS 2007), to allow my customer to create their environment by themselves. The main difficulty they have right now is the exact sequence to follow to get a basic infrastructure for team collaboration with self-service site creation, search and my sites. The Administrative Tasks list in Central Admin is supposed to help with this, but they could not do it themselves because of a number of dependencies in the several steps.

You can do this in a single server, but for my testing I am using one server (Server1) for AD/DNS/SQL and another server (Server2) for MOSS. I'm also using host headers for the three main web sites: "team" for the team sites, "my" for the my sites and "ssp" for the shared services provider. They all point to Server2 in my configuration, but this allow for future growth.

Here’s my first draft:

  • Install Windows Server on Server1 and Server 2
  • Install and Configure DNS on Server1
  • Create CNAME entries for “team”, “my” and “ssp”, all pointing to Server2
  • Install Active Directory on Server1
  • Create SQL Server service account (domainsqlservice), MOSS service account (domainmossservice)
  • Install SQL Server on Server1 (service account=domainsqlservice)
  • In SQL Management Studio, grant rights to create DB to domainmossservice
  • Install IIS on Server2
  • Install .NET Framework 2.0 on Server2
  • Install Windows Workflow Foundation Runtime on Server2
  • Install MOSS on Server2
  • Create folder for Index files (C:Indexes) on Server2
  • Run the SharePoint Configuration Wizard, to create the farm (Admin port number, Database Server=Server1, User Name=domainmossservice, Database Name = SharePoint_Config)
  • Go to Central Admin/Operations/Services on Server, start WSS Web Application
  • Go to Central Admin/Operations/Services on Server, start WSS Help Search (Database Server=Server1, DB User Name=domainmossservice, Content access account = domainmossservice, Database Name = SharePoint_Search_WSS, indexing schedule)
  • Go to Central Admin/Operations/Services on Server, start MOSS Search (Index folder = C:Indexes, e-mail address, crawler server=Server2)
  • Go to Central Admin/Operations/Services on Server, start Excel Calculation Services
  • Go to Central Admin/Operations/Incoming e-mail settings (incoming e-mail params)
  • Go to Central Admin/Operations/Outgoing e-mail settings (outbound SMTP server, from address)
  • Go to Central Admin/Application Management/Create or Extend Web Application, create a new Web Application (Description = SharePoint_Team, Port = 80, host header = team, Create New App Pool, Pool Name = SharePoint_Team, App Pool User Name = domainmossservice, Database Name = SharePoint_Team_Content, WSS Search server = Server2)
  • Use the link to “Create a new WSS site collection” or Go to Central Admin/Application Management/Create Site Collection  (Web app = https://team, Title, URL = root, Administrator account, Template = Enterprise/Site Directory)
  • Go to Central Admin/Application Management/Site Use Confirmation and Deletion (Web app = https://team, send notification for unused sites, automatically delete unused sites, time limits)
  • Go to Central Admin/Application Management/Quota Templates, Click on Create New quota template (Template Name = Team Site, Limit Storage = 500 MB, Warning = 450 MB)
  • Go to Central Admin/Application Management/Web Application Settings (Web app = https://team,  Time Zone, Quota Template = Team Site*)
  • Go to Central Admin/Operations/Site Directory Settings (site directory path = https://team) **
  • Go to Central Admin/Application Management/Self-service site management, Turn self-service on (Web app = https://team)
  • Go to https://team, Click on Site Actions/Site Settings/Create Site (Title = Search Center, URL = Search, Template = Enterprise/Search Center)
  • Go to https://team, Click on Site Actions/Site Settings/Modify All Site Settings, Click on Navigation Settings, Click on Add Link (Title = Create new site, URL = https://team/_layouts/scsignup.aspx), Click OK to apply
  • Go to https://team, Click on Site Actions/Site Settings/Modify All Site Settings, Click on People and Groups, Click on the Visitors group, add the AD Group allowed access or “nt authorityauthenticated users”
  • Go to https://team, Click on Site Actions/Site Settings/Modify All Site Settings, Click on People and Groups, Click on More…, then on Approvers group, add the AD Group allowed to approve site directory listings
  • Go to https://team/SitesList, Click on Settings/List Settings, Click on Permissions for this list, Click on Actions/Edit Permissions, Click OK to Confirm, Click on Visitors group, Check the Contribute permission and Click OK.
  • Go to Central Admin/Application Management/Create or Extend Web Application, create a new Web Application (Description = SharePoint_SSP, Port = 80, host header = ssp, Create New App Pool, Pool Name = SharePoint_SSP, App Pool User Name = domainmossservice, Database Name = SharePoint_SSP_Content, WSS Search server = Server2), Return to Central admin without creating a top level site collection
  • Go to Central Admin/Application Management/Create or Extend Web Application, create a new Web Application (Description = SharePoint_My, Port = 80, host header = my, Create New App Pool, Pool Name = SharePoint_My, App Pool User Name = domainmossservice, Database Name = SharePoint_My_Content, WSS Search server = Server2), Return to Central admin without creating a top level site collection
  • Go to Central Admin/Application Management/Create or configure this farm’s shared services, click on New SSP (SSP Name = SharedServices1, SPP Web Application = SharePoint_SSP, My Site Web Application = SharePoint_My, SSP Service credential = domainmossservice, SSP Database Name = SharePoint_SSP, Search Database Name = SharePoint_Search_SSP, Path for index = C:Indexes)
  • Go to Central Admin/Shared Services 1,  Click on Trusted File Locations, Click on Add Trusted File Location (Address = https://team, type = Windows SharePoint Services, Children Trusted = checked)
  • Go to Central Admin/Shared Services 1,  Click on Search Settings, Click on Default Content Access Account (Account = domainmossservice)
  • Go to Central Admin/Shared Services 1,  Click on Search Settings, Click on Content Sources, Open the menu next to “Local Office SharePoint Server sites” and click Edit (Start address = “https://my”, “https://team”, “sps3://my/” and “sps3://team/”, full crawl schedule = every day, incremental crawl = every 5 minutes, start full crawl = checked)

Your SQL Server will end up with 8 databases, listed in the order they are created:

  • SharePoint_Config
  • SharePoint_AdminContent_xxx (a GUID is added here – too bad we’re not prompted for this database name during setup)
  • SharePoint_Search_WSS
  • SharePoint_Team_Content
  • SharePoint_SSP_Content
  • SharePoint_My_Content
  • SharePoint_SSP
  • SharePoint_Search_SSP

That should be enough to enable a fully functional https://team with a site directory, search center, “Create new site” link and my sites at https://my. With proper DNS and/or load balancer configuration, these steps would also allow for adding more web front end servers, because of the use of host headers.

Please note that the procedure was created by experimentation and it could be incomplete (although I did test it with the Beta 2 version currently available for download). Suggested settings might not apply to your specific configuration. Try it at your own risk.

* I noticed that if I set the quota template, self-service site creation might fail with an error message. Not sure if I’m doing something wrong, if additional permissions are needed or if it’s a bug in beta 2.

** I noticed that, although the sites are properly added to the site directory, the URL is not properly populated. It would be fairly simple to create a workflow to update this information based on the Title. The way it is, the approver needs to update the URL before approving. The URL for approving sites in the directory would be https://team/SitesList.