Learn how to best practice set up SharePoint 2013 with Powershell, and don't Forget the surrounding Systems like Microsoft Web Apps 2013 and Workflow Manager 1.0. Additionally you get some Advice to set up SQL Server 2012 for SharePoint. All is done by Powershell, you get all the Code for the Setup within the Presentation.
2. SPEAKER
Samuel ZĂŒrcher
Senior Consultant / Evangelist
SharePoint und SQL Server
MCTS, MCITP, MCT, MVP
Kontakt und Webauftritte
szu@expertsinside.com
Samuel.Zuercher@sharepointcommunity.ch
Blog: http://sharepointszu.com
Community: http://www.sharepointcommunity.ch
Konferenz: http://www.collaborationdays.ch
XING: https://www.xing.com/profile/Samuel_Zuercher3
Facebook: http://www.facebook.com/sharepointszu
Twitter: @sharepointszu
Samuel ZĂŒrcher [MVP] hat LangjĂ€hrige Erfahrung mit SharePoint seit der Version 2.0, breites
Technologie Know-how und ist seit 15 Jahren in der IT tÀtig. Er ist im Projektmanagement in
verschiedenen Projektgrössen und KomplexitÀtsstufen daheim, kennt sich aber auch mit dem
innersten Kern von SharePoint aus. Verschiedene Zertifizierungen fĂŒr SharePoint und der
Microsoft Certified Trainer runden sein Profil ab (MCT, MCTS, MCIPT). Er ist der Initiant und
zusammen mit Stefan Heinz BegrĂŒnder der www.sharepointcommunity.ch und Co-Organisator
7. GOALS OF STREAMLINED
TIERS
Role Goal
Distributed Cache Consistent latency:
âą Latency â very low (<5 millisecond)
âą Throughput â very high
âą Resource utilization â medium
Frontend Fast response to user requests with consistent latency:
âą Latency â low (<500 millisecond)
âą Throughput â medium
âą Resource utilization â low-medium
Batch-processing Maximize resources with high throughput:
âą Latency â high (>1 minute)
âą Throughput â high
âą Resource utilization â high to very high
Specialized Fairly consistent latency:
âą Latency â low (<500 milliseconds)
âą Throughput â medium
âą Resource utilization â low-high
Databases Fast response and consistent latency:
âą Latency â very low (<5 milliseconds)
âą Throughput â very high
âą Resource utilization â low-medium
8. SERVICES LEVELS
Tier Components and services
Distributed Cache âą Distributed Cache
âą Request Management
âą Web Application
Frontend âą Access Services
âą Data Connectivity
âą Central Administration
âą Managed Metadata
âą Web Application
âą Secure Store Service
âą State
âą Subscription Settings
âą User Code
âą User Profile
âą Visio Graphics
Batch-processing âą Crawl Target
âą Machine Translation
âą Web Application
âą PowerPoint Conversion
âą User Profile Sync
âą Word Automation
âą Work Management
âą Workflow timer service
Specialized âą Excel Calculation
âą PerformancePoint
âą Project
âą Web Application
âą Search
15. FIRST THINGS FIRST
âș SQL Server is the Heart of SharePoint,
donât forget!
âș 8 Cores and 16GB RAM min.
âș Be aware of Disk I/O, you mostly find
there the Bottleneck
âș Access Services generally go into a 2nd
Instance, we will not follow this
guideline in the following Demo
because of time
16. NEW HIGH AVAILLABILITY
MODEL
âș AlwaysOn as new High Availability
Model for SharePoint 2013
âș Based on availability groups
âș Main benefit:
âș Be able to have one big muscled SQL Server
to failover to n availability groups with lower
cost Hardware
âș Delegate heavy read databases to be used
from secondary replicaReference: http://technet.microsoft.com/en-us/library/jj715261.aspx
18. CREATE ACCOUNTS WE WILL
NEED
Account Description
Sp-Setup Account to Set Up SharePoint (Needs Local Admin on SharePoint server and Sysadmin in SQL Server)
Sp-CacheAdmin For Publishing sites, to admin the Cache
Sp-CacheReader For Publishing sites, to read from Cache
Sp-Farm To run SharePoint Farm
Sp-My To run My Site Portal
Sp-Portal To run Intranet Portal
Sp-Services To run Service Applications
Sp-Sql To run SQL Server
Sp-upi To do User Profile Import (Replicate Directory Changes)
Sp-Access To run Access Services
Sp-Workflow To run Workflow Manager
41. POST CONFIGURATION
âș Min / Max Memory (be aware of other
Instances and give 3GB to OS)
âș Fill Factor 70%
âș Backup Compression
âș Max Degree of Parallelism to 1 (std.)
âș Local Sec. Pol «Perform Volume
Maintenance Tasks» and «Lock Pages in
Memory»
50. FIRST THINGS FIRST
âș The Frontends are more RAM intense than
in SharePoint 2010
âș 4-8 CPU Cores and min. 12 GB RAM
âș For Standalone SharePoint 24 GB RAM
âș Streched Farms are supportet again, but
only rarely make sense
âș Be aware of SharePoint roles (Toppology)
especially with Search and Distributed
Cache
51. FIRST THINGS FIRST
âș Still the following Versions
âș SharePoint Foundation
âș SharePoint Server Standard
âș SharePoint Server Enterprise
âș No more Fast for SharePoint, no more
SharePoint for Internet, itâs in the
Product
âș Allways install in English and then use
Language Packs!!!
65. INSTALL UPDATES
âș Public Updates:
âș Required to install
âș Always to be installed
âș Cumulative Updates:
âș Free to choose
âș Only install if needed
75. Step 4.1 â Usage and Health
# Usage and Health Data Collection
# Parameters
$UsageSAName = "Usage and Health Data Collection"
$dbUsageService = "TBD_DEMO_Usage_and_Health_Data"
$UsageLogLocation = "C:Program FilesCommon Filesmicrosoft sharedWeb Server Extensions15LOGS"
$MaxUsageLogSpace = 5 #in GB
# Create Service Application
Write-Host "Creating Usage and Health Data Collection..."
Set-SPUsageService -LoggingEnabled 1 -UsageLogLocation $UsageLogLocation -UsageLogMaxSpaceGB
$MaxUsageLogSpace
$UsageService = Get-SPUsageService
New-SPUsageApplication -Name $UsageSAName -DatabaseServer $SQLAliasName -DatabaseName $dbUsageService -
UsageService $UsageService
# As Proxy ist stopped after this, provision in
$UsageSAProxy = Get-SPServiceApplicationProxy | where-object {$_.TypeName -eq âUsage and Health Data
Collection Proxyâ}
$UsageSAProxy.Provision()
76. Step 4.2 â State Service
# State Service
# Parameters
$StateSAName = "State Service"
$dbStateService = "TBD_DEMO_State"
# Create Service
Write-Host "Creating State Service..."
New-SPStateServiceDatabase -Name $dbStateService
$StateSAPipe = New-SPStateServiceApplication -Name $StateSAName
-Database $dbStateService
New-SPStateServiceApplicationProxy -Name "$StateSAName Proxy" -
ServiceApplication $StateSAPipe -DefaultProxyGroup
79. c: MMS Proxy Settings
# Get Metadata service application proxy
$MMSProxy = Get-SPServiceApplicationProxy | Where-Object {$_.TypeName -eq "Managed
Metadata Service Connection"}
# This service application is the default storage location for Keywords.
$MMSProxy.Properties["IsDefaultKeywordTaxonomy"] = $true
# This service application is the default storage location for column specific term sets.
$MMSProxy.Properties["IsDefaultSiteCollectionTaxonomy"] = $true
# Consumes content types from the Content Type Gallery
$MMSProxy.Properties["IsNPContentTypeSyndicationEnabled"] = $false
# Push-down Content Type Publishing updates from the Content Type Gallery to sub-sites and
lists using the content type.
$MMSProxy.Properties["IsContentTypePushdownEnabled"] = $true
$MMSProxy.Update()
90. Step 4.13 â Work Management
# Work Management Service Application
$WorkMgmtSAName = "Work Management Service"
# Create Service Application
Write-Host "Creating Work Management Service..."
$WorkManagementSAPipe = New-SPWorkManagementServiceApplication â
Name $WorkMgmtSAName âApplicationPool $SaAppPoolName
New-SPWorkManagementServiceApplicationProxy -name
"$WorkMgmtSAName Proxy" -ServiceApplication
$WorkManagementSAPipe -DefaultProxyGroup
Get-SPServiceInstance | where-object {$_.TypeName âeq "Work
Management Service"} | Start-SPServiceInstance
91. 4.13.1 â GIVE RIGHTS IN DB
âș Grant the account that the Work Management service
is running as "Full Control" to the User Profiles Using
"administrators" and "permissions" button on the
ribbon
âș $webApp = Get-SpWebApplication [URL of the MYSite
web application]
$webapp.GrantAccessToProcessIdentity("[Work
Management account]")
âș This should add the WMS Account to: User Policy of
the WebApp, to Config DB with
WSS_Content_Applicaiton_Pools, to My Site DB with
SPDataAccess Role
92. 4.13.2 â GIVE RIGHTS TO
APPPOOL
Give the Services App Pool Account
full Rights to User Profile Service
Application
94. Step 4.15 â Subscription Settings
Subscription Settings Service is for Multi Tenancy Scenarios
Also needed for Access Services 2013
# Subscription Settings Service Application
$SubscriptionSAName = "Subscription Settings Service"
$dbSubscription = "TBD_DEMO_Subscription_Settings"
# Create Service Application
Write-Host "Creating Subscription Settings ServiceâŠ"
$SubscriptionSAPipe = New-SPSubscriptionSettingsServiceApplication âApplicationPool $SaAppPoolName
âName $SubscriptionSAName âDatabaseName $dbSubscription
New-SPSubscriptionSettingsServiceApplicationProxy âServiceApplication $SubscriptionSAPipe
Get-SPServiceInstance | where-object {$_.TypeName -eq "Microsoft SharePoint Foundation
Subscription Settings Service"} | Start-SPServiceInstance
95. Step 4.16 â a: Access Services
Will only work after App Configuration (follows next)
Concider using an Extra App Pool (special configuration)
# Access Services
$AccessSAName = "Access Services"
# Create Service Application
Write-Host "Creating Access ServiceâŠ"
New-SPAccessServicesApplication -Name $AccessSAName -
ApplicationPool $AccessAppPoolName -Default
Get-SPServiceInstance | where-object {$_.TypeName -eq "Access
Services"} | Start-SPServiceInstance
White Paper: http://www.microsoft.com/en-us/download/details.aspx?id=30445
96. B: SQL FEATURE PACK
âș Microsoft SQL Server 2012 Local DB
(SQLLocalDB.msi)
âș Microsoft SQL Server 2012 Data-Tier Application
Framework (DACFramework.msi)
âș Microsoft SQL Server 2012 Native Client
(sqlncli.msi)
âș Microsoft SQL Server 2012 Transact-SQL
ScriptDom (sqldom.msi)
âș Microsoft System CLR Types for Microsoft SQL
Server 2012 (SQLSysClrTypes.msi)
Feature Pack: http://www.microsoft.com/en-us/download/details.aspx?id=29065
97. C: APP POOL CONFIG
âș 1. Advanced Settings
âș 2. Load User Profile
âș 3. Restart Server
98. D: SECURE STORE
Go to Secure
Store Service
and generate a
new Key
Enter any
secure
String
99. E: TARGET DB SERVER
Navigate to Access
Services Service App,
expand «New
Application Database»
In Our Case we use
std. SQL Server,
normally use
dedicated
100. F: SETTING SQL RIGHTS FOR
APP POOL
âș Give demosp-access following
Rights:
âș Configuration Database: DBO
âș Content Databases: DBO
âș App Management Database:
SPDataAccess
101. G: OFFICE DEPLOYMENTS
âș If you have Office deployed in
different Languages, you must deploy
all these Languages as SharePoint
Language Pack
âș User will get an error if not
102. STEP 4.17 â OTHER SERVICES
âș Claims to windows Token:
If you have Scenarios with external Data Access
âș Document Conversion:
If you want to convert Documents to HTML
âș Lotus Notes Connector:
Self explaining
âș Sandboxed Code:
To run Sandboxed Solutions (recomended)
âș PowerPoint Conversion:
If you want to implement ppt > pptx Conversion
âș Request Management:
If you want to load balance SharePoint 2013
âș User Profile Synchronization:
If you are using FIM to synchronise User Profiles
103. STEP 4.18 â CREATE WEBAPPS
âș Create an Intranet Portal with the
Team Site Template
âș Create a My Site Portal with the My
Site Host Template
104. STEP 4.19 â CONFIGURE MY
SITE
âș Go to User Profile Service Application
âș Click to «Steup My Sites»
âș Add http://my.demo.local to My Site
Host
âș Hit OK
âș Go to Webapplications, on My Site Web
App configure Self Service to yes
âș Add Managed Path «Personal»
105. STEP 4.20 â IMPORT USERS
FROM AD
âș There are two Methods to do this:
âș Forefront Identity Manager (like in 2010)
âș AD Direct Import
âș Depends on your Scenario
âș Done in User Profile Service Application
âș Import Account needs «Replicate
Directory Changes» Right on AD
107. STEP 5 â SHAREPOINT APPS
âș Apps is the new Model for Development
in SharePoint 2013
âș Access Services is used like Apps
âș An App can be
âș SharePoint hosted
âș Auto hosted
âș Provider hosted
âș We need to configure it specially
108. PREPARING FOR APPS
âș We need to configure a new Domain
Name
âș Nothign to do with Active Directory!!
âș We call it Appdomain
âș In our case demoapps.local
âș Done in DNS Manager
âș Used to forward to SharePoint
116. ADD NEW HOST TO
APPDOMAIN
Right click
and select
«New Host»
117. POINT * TO FRONTEND OR
NLB This will point
all Apps to
SharePoint
118. CREATE SERVER
WEBAPPLICATION
âș Needed for Host Header Web Apps and Host
named Site Collections
âș No Host Header
âș Inf not created, redirect to App will not take
place
âș Be aware of DB Name and App Pool Account
121. CREATE APP CATALOG
âș App Catalog is managed per Web
Application
âș Create a App Catalog under each Web
Application you have in your
Company
âș Itâs a normal Site Collection
124. FIRST THINGS FIRST
âș Web Apps are no longer a Service
Application
âș Web Apps are a standallone Server and
cannot be installed on SharePoint WFE
âș Web Apps can be used from Fileshares,
Outlook Web Access and so on
âș Licensing is still a user based License
(Office Package)
125. Step 1 â Preparation
# Add needed Roles to Server
Import-Module ServerManager
Add-WindowsFeature Web-Server,Web-Mgmt-Tools,Web-Mgmt-
Console,Web-WebServer,Web-Common-Http,Web-Default-Doc,Web-
Static-Content,Web-Performance,Web-Stat-Compression,Web-Dyn-
Compression,Web-Security,Web-Filtering,Web-Windows-Auth,Web-App-
Dev,Web-Net-Ext45,Web-Asp-Net45,Web-ISAPI-Ext,Web-ISAPI-
Filter,Web-Includes,InkandHandwritingServices
Server need Restart after this
133. Create Web Apps Farm
# Create Office Web Apps Farm (Single Farm)
New-OfficeWebAppsFarm âInternalURL "http://WebApps.demo.local" â
AllowHttp -EditingEnabled
Check if Discovery Service answers (with an XML)
http://webapps.demo.local/hosting/discovery
134. Bind Web Apps to SharePoint
Run on SharePoint Server!
# Create new WOPI Binding for SharePoint to Web Apps Server
New-SPWOPIBinding -ServerName webapps -AllowHTTP
Get-SPWOPIZone
Set-SPWOPIZone âzone "internal-http"
Get-SPWOPIZone
(Get-SPSecurityTokenServiceConfig).AllowOAuthOverHttp
$config = (Get-SPSecurityTokenServiceConfig)
$config.AllowOAuthOverHttp = $true
$config.Update()
(Get-SPSecurityTokenServiceConfig).AllowOAuthOverHttp
136. FIRST THINGS FIRST
âș Workflows changed in SharePoint
2013
âș Needs itâs own Installation (Workflow
Manager)
âș Can run on SharePoint Frontend or
Standalone Server
155. SQLIO
Parameter Description
Sqlio Program Call
-kR / -kW Measure Read oder Write Performance
-t32 No. of Threads
-s60 Duration in Seconds
-dF What drive is tested (Driveletter)
-o64 No. of outstanding Requests
-frandom Random Operations (Sequential is mostly
not used)
-b64 Blocksize in bytes
Download: http://www.microsoft.com/en-us/download/details.aspx?id=20163