SharePoint 2010 Series Part 2 – Central Administration Post-Setup Configuration
Part 2 of the SharePoint 2010 series follows through from the basic installation and setup of an Application Server for SharePoint 2010 farm found here here .
The following are recommended configuration changes you should make before you let users into your SharePoint environment and erm make a mess of it J
They are as follows:-
- State Service Application and Proxy
- Secure Store Service
- Outgoing Email
- Configuring Search Service and Crawl Service
- Health and Diagnostic Logging
- Monitoring Drive Space
- Web Analytics
Recommended reading : Technet about Service Application
State Service Application and Proxy
State Service can be installed using the Configuration Wizard under Central Admin but I strongly recommend the use of PowerShell scripts which can be easily available from State Service via PowerShell on TechNet
Scripted Install of State Service
1 2 3 4 5 6 7 8 9 10 | #SharePoint Service Applications - State Service Add-PSSnapin Microsoft.SharePoint.PowerShell -erroraction SilentlyContinue . .\config.ps1 Write-Host -ForegroundColor Blue "Creating State Service and Proxy..." New-SPStateServiceApplication -Name $stateSAName | New-SPStateServiceApplicationProxy -Name "$stateSAName Proxy" -DefaultProxyGroup > $null Write-Host -ForegroundColor Blue "Finished Creating State Service and Proxy... Connecting State Service to existing Database" Mount-SPStateServiceDatabase –Name $spSAStateServiceDB –DatabaseServer $databaseServerName –ServiceApplication $stateSAName –Weight 10 | Initialize-SPStateServiceDatabase Write-Host -ForegroundColor Blue "State Service Script Completed." |

I would be first pre creating the database on the SQL server

Note: the Collation ID should be “Latin1_General_CI_AS_KS_WS”

On the SharePoint Server open PowerShell under the administrator mode.

The reason I hit the error was to show most normal scenario when you would have a separate DBA team that manage the SQL server. When you send a request for a Database to be created for SharePoint make sure that you provide the DBA with the service account that you use to install SharePoint. In the case of this post domain\srvPRDSPSetup. So now I will go add an extra user called Setup Account with DB_owner permission on the SQL server for the database

Once that has been completed, before running the script don’t forget to go and delete the State Service Application that was created previously before installing it again

Now let’s try that again

Secure Store Service
Before I go ahead and create a Secure Store Service, I am going to create a new service account called SharePoint Service Applications account to manage all my service applications and their application pool account. So within my SharePoint OU I create a new service account

Back on the SharePoint server I am going to add this account to the managed accounts within SharePoint.
A very useful feature within SharePoint 2010 is the managed Accounts section because you can provide the SharePoint with a lot more scope around the service account.

To install via GUI method you can browse to the Application Management page and choose to create a new Secure Store Service Application by filling in all the details.

But where’s the fun in that??
Scripted Install
First and foremost I am going to create an application Pool for all the services to make use of
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | #SharePoint Service Application App Pool Add-PSSnapin Microsoft.SharePoint.PowerShell -erroraction SilentlyContinue . .\config.ps1 Write-Host -ForegroundColor Green "************************************************************" #Creating New Application Pool and Authentication $saAppPool = Get-SPServiceApplicationPool -Identity $saAppPoolName -EA 0 if($saAppPool -eq $null) { Write-Host -ForegroundColor Blue "Creating Service Application Pool..." $appPoolAccount = Get-SPManagedAccount -Identity $appPoolUserName -EA 0 if($appPoolAccount -eq $null) { Write-Host -ForegroundColor RED "Please supply the password for the Service Account..." $appPoolCred = Get-Credential $appPoolUserName $appPoolAccount = New-SPManagedAccount -Credential $appPoolCred -EA 0 } $appPoolAccount = Get-SPManagedAccount -Identity $appPoolUserName -EA 0 if($appPoolAccount -eq $null) { Write-Host -ForegroundColor RED "Cannot create or find the managed account $appPoolUserName, please ensure the account exists." Exit -1 } New-SPServiceApplicationPool -Name $saAppPoolName -Account $appPoolAccount -EA 0 > $null } Write-Host -ForegroundColor Red "Finished Creating Application Pool for SharePoint Web Services" Write-Host -ForegroundColor Green "************************************************************" |

Next I will run the Secure Store Script
1 2 3 4 5 6 7 8 9 10 11 12 | #SharePoint Service Applications - Secure Store Add-PSSnapin Microsoft.SharePoint.PowerShell -erroraction SilentlyContinue . .\config.ps1 #Secure Store Service and Proxy Write-Host -ForegroundColor Green "************************************************************" Write-Host -ForegroundColor Blue "Creating Secure Store Service and Proxy..." New-SPSecureStoreServiceapplication -Name $secureStoreSAName -Sharing:$false -DatabaseServer $databaseServerName -DatabaseName $spSASecureStoreDB -ApplicationPool $saAppPoolName -auditingEnabled:$true -auditlogmaxsize 30 | New-SPSecureStoreServiceApplicationProxy -name "$secureStoreSAName Proxy" -DefaultProxygroup > $null Get-SPServiceInstance | where-object {$_.TypeName -eq "Secure Store Service"} | Start-SPServiceInstance > $null Write-Host -ForegroundColor Blue "Finished Creating Secure Store Service and Proxy..." Write-Host -ForegroundColor Green "************************************************************" |
The Config file that both the scripts use

Once the service application has completed install, browse via Central Admin to the Applications management page to Secure Store Service

Highlight Secure Store Service and click on Manage from the ribbon
Click on Generate new Key from the top of the ribbon

Type the passphrase to be used

The following screen shows the end of secure store service for the time being

Outgoing Email Setup
Currently I am still rebuilding my Exchange 2010 server in my environment, and hopefully during the Xmas break I will finish setting it upJ. But for the time being the following steps will need to be completed to setup the Outgoing email server on SharePoint 2010. You can also use a simple SMTP setup at this stage as well.
-
Open Central Admin and browse to System Settings

-
Click on “Configure Outgoing Email Settings”

This completes the setup of Outgoing Email Server
Configuring Search
While SharePoint and Search requires much much much much more deeper discussion, at this stage of my Install all the post is going to cover are basic setup of Search application ( Out of the box search) and then go on to schedule a search.
First and foremost we need to switch on Foundation Search
-
Create two service accounts – SharePoint Search Service and SharePoint Crawl Service accounts and add them to the managed accounts within SharePoint

- Open Central Admin and browse to “Manage Services on Server”
-
Scroll down to SharePoint Foundation Search which will show as “Stopped” and click on start



The service will start now

Search Service Application and Proxy
Search Script
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 | #SharePoint Service Application - Search Service Add-PSSnapin Microsoft.SharePoint.PowerShell -erroraction SilentlyContinue . .\config.ps1 # 1.Setting up some initial variables. Write-Host -ForegroundColor Blue 1.Setting up some initial variables. sleep 5 $SSAName = "SharePoint Search Service" $SVCAcct = "Domain\srvPRDSPSearchsvc" $SSI = get-spenterprisesearchserviceinstance -local $err = $null $SearchAdminDB = "SP_SERVICE_SEARCH_DB" $SearchServiceProxy = "Search Service Proxy" $SearchPropertyDB = "SP_SERVICE_SEARCH_PROPERTY_DB" $SearchCrawlDB = "SP_SERVICE_SEARCH_CRAWL_DB" # Start Services search services for SSI Write-Host -ForegroundColor Blue Start Services search services for SSI Start-SPEnterpriseSearchServiceInstance -Identity $SSI # 2.Create an Application Pool. Write-Host -ForegroundColor Blue 2.Create an Application Pool. $AppPool = new-SPServiceApplicationPool -name $SSAName"-AppsPool" -account $SVCAcct # 3.Create the SearchApplication and set it to a variable Write-Host -ForegroundColor Blue 3.Create the SearchApplication and set it to a variable $SearchApp = New-SPEnterpriseSearchServiceApplication -Name $SSAName -applicationpool $AppPool -databasename $SearchAdminDB"_DB" #4 Create search service application proxy Write-Host -ForegroundColor Blue 4 Create search service application proxy $SSAProxy = new-spenterprisesearchserviceapplicationproxy -name $SearchServiceProxy -Uri $SearchApp.Uri.AbsoluteURI # 5.Provision Search Admin Component. Write-Host -ForegroundColor Blue 5.Provision Search Admin Component. set-SPenterprisesearchadministrationcomponent -searchapplication $SearchApp -searchserviceinstance $SSI # 6.Create a new Crawl Topology. Write-Host -ForegroundColor Blue 6.Create a new Crawl Topology. $CrawlTopo = $SearchApp | New-SPEnterpriseSearchCrawlTopology # 7.Create a new Crawl Store. Write-Host -ForegroundColor Blue 7.Create a new Crawl Store. $CrawlStore = $SearchApp | Get-SPEnterpriseSearchCrawlDatabase # 8.Create a new Crawl Component. Write-Host -ForegroundColor Blue 8.Create a new Crawl Component. New-SPEnterpriseSearchCrawlComponent -CrawlTopology $CrawlTopo -CrawlDatabase $CrawlStore -SearchServiceInstance $SSI # 9.Activate the Crawl Topology. Write-Host -ForegroundColor Blue 9.Activate the Crawl Topology. do { $err = $null $CrawlTopo | Set-SPEnterpriseSearchCrawlTopology -Active -ErrorVariable err if ($CrawlTopo.State -eq "Active") { $err = $null } Start-Sleep -Seconds 10 } until ($err -eq $null) # 10.Create a new Query Topology. Write-Host -ForegroundColor Blue 10.Create a new Query Topology. $QueryTopo = $SearchApp | New-SPenterpriseSEarchQueryTopology -partitions 1 # 11.Create a variable for the Query Partition Write-Host -ForegroundColor Blue 11.Create a variable for the Query Partition $Partition1 = ($QueryTopo | Get-SPEnterpriseSearchIndexPartition) # 12.Create a Query Component. Write-Host -ForegroundColor Blue 12.Create a Query Component. New-SPEnterpriseSearchQueryComponent -indexpartition $Partition1 -QueryTopology $QueryTopo -SearchServiceInstance $SSI # 13.Create a variable for the Property Store DB. Write-Host -ForegroundColor Blue 13.Create a variable for the Property Store DB. $PropDB = $SearchApp | Get-SPEnterpriseSearchPropertyDatabase # 14.Set the Query Partition to use the Property Store DB. Write-Host -ForegroundColor Blue 14.Set the Query Partition to use the Property Store DB. $Partition1 | Set-SPEnterpriseSearchIndexPartition -PropertyDatabase $PropDB # 15.Activate the Query Topology. Write-Host -ForegroundColor Blue 15.Activate the Query Topology. do { $err = $null $QueryTopo | Set-SPEnterpriseSearchQueryTopology -Active -ErrorVariable err -ErrorAction SilentlyContinue Start-Sleep -Seconds 10 if ($QueryTopo.State -eq "Active") { $err = $null } } until ($err -eq $null) Write-Host -ForegroundColor RED "Your search application $SSAName is now ready" Write-Host -ForegroundColor RED "*********************************************" |

This concludes the initial setup of Search Service Application. Setting up a Crawl would be covered when the installation reaches a stage where there is data to be crawled by the SharePoint server.
Usage, Health and Diagnostic Logging Setup
To set this up on the fly, Central Admin Website would be the most recommended method as it would give you a bit more functions and features to be setup on the initial process itself when compared to Scripted methods found here and here .
-
Open Central Admin Website and click on the Monitoring Tab

- Click on “Configure usage and health data collection”
- Configure the page as required.
- Recommendation is to change the location of the default log files to another location other than the system drive.
-
If you are following a naming convention for databases this can be used for the Logging Database as well.

- Click OK to save the settings
Recommendation: Go through the Health and Log Collection Schedule to customize these according to the needs of your organization.
- Under the Monitoring Page now click on “Configure Diagnostic Logging”
-
Recommended to change the location and size of the Trace log files

If you find the Proxy service stopped under the “Manage Service Applications” Page run the following script to fix it

1 2 3 4 5 6 7 | #SharePoint Start Usage and Health Proxy Service Add-PSSnapin Microsoft.SharePoint.PowerShell -erroraction SilentlyContinue . .\config.ps1 $Usage = Get-SPServiceApplicationProxy | where {$_.TypeName -eq "Usage and Health Data Collection Proxy"} $Usage.provision() |

Thanks to Avinash for the article on the same found here .
Monitoring Drive Space
Your SharePoint server is going to grow and it’s going to grow huge. Some of the usual suspects for the same are:-
- IIS Logs
- Web App Directories (Basically your IIS Files)
- SharePoint Logs
- SharePoint Usage and Data Collection
- SharePoint Search Index
On my SharePoint VM I have got another partition where I place all the baddies away from my system Drive

Web Analytics
To configure Web Analytics via Central Admin, browse through “Manage Service Applications” and create a new Web Analytic Service and Proxy.
To configure via PowerShell use the following script
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #SharePoint Service Application - Web Analytics Add-PSSnapin Microsoft.SharePoint.PowerShell -erroraction SilentlyContinue . .\config.ps1 #Web Analytics Write-Host -ForegroundColor Green "********************************************" Write-Host -ForegroundColor Blue "Creating Web Analytics Service and Proxy..." $stagerSubscription = "" $reportingSubscription = "" New-SPWebAnalyticsServiceApplication -Name $WebAnalyticsSAName -ApplicationPool $saAppPoolName -ReportingDataRetention 20 -SamplingRate 100 -ListOfReportingDatabases $reportingSubscription -ListOfStagingDatabases $stagerSubscription > $null New-SPWebAnalyticsServiceApplicationProxy -Name "$WebAnalyticsSAName Proxy" -ServiceApplication $WebAnalyticsSAName > $null Get-SPServiceInstance | where-object {$_.TypeName -eq "Web Analytics Web Service"} | Start-SPServiceInstance > $null Get-SPServiceInstance | where-object {$_.TypeName -eq "Web Analytics Data Processing Service"} | Start-SPServiceInstance > $null Write-Host -ForegroundColor Green "********************************************" |
This pretty much concludes the Post- Install steps after Central Admin Website is up and running.
SharePoint 2010 Series Part 1 – Installation SharePoint 2010 – Central Admin – Command Search Web Part
Pingback: Aben Samuel