Tag Archives: Central Admin

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:-

  1. State Service Application and Proxy
  2. Secure Store Service
  3. Outgoing Email
  4. Configuring Search Service and Crawl Service
  5. Health and Diagnostic Logging
  6. Monitoring Drive Space
  7. 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.

  1. Open Central Admin and browse to System Settings

  2. 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

  1. Create two service accounts – SharePoint Search Service and SharePoint Crawl Service accounts and add them to the managed accounts within SharePoint

  2. Open Central Admin and browse to “Manage Services on Server”
  3. 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 .

  1. Open Central Admin Website and click on the Monitoring Tab

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

  6. 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.

  1. Under the Monitoring Page now click on “Configure Diagnostic Logging”
  2. 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:-

  1. IIS Logs
  2. Web App Directories (Basically your IIS Files)
  3. SharePoint Logs
  4. SharePoint Usage and Data Collection
  5. 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.