This document provides an overview of setting up SharePoint 2013, including infrastructure requirements, new features, farm architecture considerations, installation options, and post-installation configuration steps. It outlines software and hardware requirements, changes to service applications and new service apps, distributed cache service, request management, and user profile sync options. It also discusses virtualization options, installing SharePoint binaries, using PowerShell for installation, provisioning service applications, and important post-installation tasks like security configuration and SQL maintenance plans.
The Ultimate Guide to Choosing WordPress Pros and Cons
SPCSEA 2013 - Setting up SharePoint 2013: Tips and Tricks and PowerShell Scripts
1. 1
Setting up SharePoint
2013: Tips and Tricks
and PowerShell Scripts
Michael Noel
USA
2. Michael Noel 2
Author of SAMS Publishing titles “SharePoint 2013 Unleashed,” “Exchange
Server 2013 Unleashed”, “Windows Server 2012 Unleashed,” and over fifteen
other titles with worldwide circulation of over a quarter million in 20 languages
worldwide
Partner at Convergent Computing (www.cco.com / +1(510)444-5700) – San
Francisco, U.S.A. based Infrastructure/Security specialists for SharePoint, AD,
Exchange, Security
3. 3
What we will cover
What‟s new in Infrastructure in SharePoint
2013?
SharePoint Architecture Fundamentals
SharePoint Virtualization Options
Virtualized Template Server Creation
Installation of the SharePoint 2013 Binaries
PowerShell Scripting Installation Options
4. 4
Outlining Changes and new Requirements for Installation
What‟s New in Infrastructure for
SharePoint 2013
5. What‟s new in Infrastructure for SharePoint 2013
Software/Hardware Requirements
Windows Server 2008 R2 SP1 or Windows Server 2012
(Preferred)
SQL Server 2008 R2 w/SP1 or SQL Server 2012
(Preferred)
Type Memory Processor
Dev/Stage/Test server 8GB RAM 4 CPU
„All-in-one‟ DB/Web/SA 24GB RAM 4 CPU
Web/SA Server 12GB RAM 4 CPU
DB Server (medium environments) 16GB RAM 8 CPU
DB Server (small environments) 8GB RAM 4 CPU
6. What‟s new in Infrastructure for SharePoint 2013
Changes in Service Applications and New Service Applications
Office Web Apps is no longer a service application
Web Analytics is no longer service application, it‟s part of
search
New service applications available and improvements on
existing ones
App Management Service – Used to manage the new SharePoint
app store from the Office Marketplace or the Application Catalog
SharePoint Translation Services – provides for language
translation of Word, XLIFF, and PPT files to HTML
Work Management Service – manages tasks across SharePoint,
MS Exchange and Project.
Access Services App (2013) – Replaces 2010 version of Access
Services
7. What‟s new in Infrastructure for SharePoint 2013
New Service Applications
App Management Service – Used to manage the
new SharePoint app store from the Office
Marketplace or the Application Catalog
SharePoint Translation Services – provides for
language translation of Word, XLIFF, and PPT files
to HTML
Work Management Service – manages tasks
across SharePoint, MS Exchange and Project.
Access Services App (2013) – Replaces 2010
version of Access Services
8. What‟s new in Infrastructure for SharePoint 2013
Distributed Cache Service
A new Windows service – the Distributed
Cache Service – is installed on each server in
the farm when SharePoint is installed
It is managed via the Services on Server page
in central admin as the Distributed Cache
service
The config DB keeps track of
which machines in the farm
are running the cache service
9. What‟s new in Infrastructure for SharePoint 2013
Request Management (RM)
The purpose of the Request Management feature is to
give SharePoint knowledge of and more control over
incoming requests
Having knowledge over the nature of incoming requests
– for example, the user agent, requested URL, or source
IP – allows SharePoint to customize the response to
each request
RM is applied per web app, just like throttling is done in
SharePoint 2010
10. What‟s new in Infrastructure for SharePoint 2013
User Profile Sync – Three Options for Deployment
Option 1: Simple one-way Sync (a la SharePoint 2007)
Option 2: Two-way, possible write-back to AD options
using small FIM service on UPA server (a la 2010)
Option 3: Full Forefront Identity Manager (FIM)
Synchronization, allows for complex scenarios – Larger
clients will appreciate this
11. What‟s new in Infrastructure for SharePoint 2013
Claims-based Authentication - Default
SharePoint 2013 continues to offer support for both
claims and classic authentication modes
However claims authentication is THE default
authentication option now
Classic authentication mode is still there, but can only
be managed in PowerShell – it‟s gone from the UI
Support for classic mode is deprecated and will go
away in a future release
There also a new process to migrate accounts
from Windows classic to Windows claims – the
Convert-SPWebApplication cmdlet
12. What‟s new in Infrastructure for SharePoint 2013
Shredded Storage
Stores new versions of documents as „shredded BLOBs
that are deltas of the changes
Promises to reduce storage size significantly
13. What‟s new in Infrastructure for SharePoint 2013
Team Mailboxes – Exchange 2013 Integration
Documents are stored in SharePoint
Emails are stored in Exchange
Team Folders can receive emails and have their
own email address
Easy access to both from Outlook and
SharePoint
Unified compliance policy applies to both
14. What‟s new in Infrastructure for SharePoint 2013
Search – FAST Search now included
New Search
architecture (FAST
based) with one
unified search
Personalized search
results based on
search history
Rich contextual
previews
15. What‟s new in Infrastructure for SharePoint 2013
Mobile Device Improvements
Classic and Contemporary
views for mobile browsers
Automatic Mobile Browser
Redirection
Target different designs
based on user agent string
Office Mobile Web Apps
Excel
PowerPoint
Word
Push notifications
17. Architecting the Farm
Three Layers of SharePoint Infrastructure
Web
Service Apps
Data
18. Architecting the Farm
Small Farm Models
„All-in-One‟ (Avoid)
DB and SP Roles Separate
19. Architecting the Farm
Smallest Highly Available Farm
2 SharePoint Servers running
Web and Service Apps
2 Database Servers
(AlwaysOn FCI or AlwaysOn
Availability Groups)
1 or 2 Index Partitions with
equivalent query components
Smallest farm size that is fully
highly available
20. Architecting the Farm
Best Practice ‘Six Server Farm’
2 Dedicated Web
Servers (NLB)
2 Service Application
Servers
2 Database Servers
(Clustered or
Mirrored)
1 or 2 Index Partitions
with equivalent query
components
21. Architecting the Farm
Ideal – Separate Service App Farm + Content Farm(s)
• Separate farm for
Service Applications
• One or more farms
dedicated to content
• Service Apps are
consumed cross-
farm
• Isolates „cranky‟
service apps like
User Profile Sync
and allows for
patching in isolation
22. Architecting the Farm
• Multiple Dedicated Large SharePoint Farms
Web Servers
• Multiple Dedicated
Service App Servers
• Multiple Dedicated
Query Servers
• Multiple Dedicated
Crawl Servers, with
multiple Crawl DBs to
increase parallelization
of the crawl process
• Multiple distributed
Index partitions (max
of 10 million items per
index partition)
• Two query components
for each Index
partition, spread
among servers
23. Architecting the Farm
Best Practice Information Governance Architecture - Distribute
25. SP Server Virtualization
Sample 1: Single Server Environment
Allows organizations that wouldn‟t normally be able to have a test
environment to run one
Allows for separation of the database role onto a dedicated server
Can be more easily scaled out in the future
26. SP Server Virtualization
Sample 2: Two Server Highly Available Farm
High-
Availability
across Hosts
All
components
Virtualized
Uses only
two
Windows
Virt Licenses
27. SP Server Virtualization
Sample 3: Mix of Physical and Virtual Servers
Highest
transaction
servers are
physical
Multiple
farm
support,
with DBs for
all farms on
the SQL
cluster
29. Virtualization of SharePoint Servers
Virtualization Performance Monitoring
Processor (Host Only) • Network Bandwidth –
<60% Utilization = Good Bytes Total/sec
60%-90% = Caution
– <40% Utilization = Good
>90% = Trouble
– 41%-64% = Caution
Available Memory
– >65% = Trouble
50% and above = Good
10%-50% = OK • Network Latency - Output
<10% = Trouble Queue Length
Disk – Avg. Disk sec/Read or – 0 = Good
Avg. Disk sec/Write – 1-2= OK
Up to 15ms = fine – >2 = Trouble
15ms-25ms = Caution
>25ms = Trouble
30. Quick SP2013 Farm Provisioning
with VMM 2012
1. Create new Virtual Guest (Windows Server 2008
R2)
2. Install SP2013 Binaries. Stop before running
Config Wizard
3. Turn Virtual Guest into Template, modify template
to allow it to be added into domain
4. Add PowerShell script to run on first login, allowing
SP to be added into farm or to create new farm
32. 32
Installation of the SP Binaries
Always,
ALWAYS choose
Complete for
any production
builds!
Stand-alone
installs SQL
Server Express
33. 33
Installation of the SP Binaries
Choose the
Index location
during the install
process…it will
save you the
trouble of
moving it later
Be sure to
allocate
sufficient space!
34. 34
Installation of the SP Binaries
Uncheck the box
to run the
Configuration
Wizard
Preferable to
use PowerShell
instead of the
Wizard!
35. 35
PowerShell Installation
Nearly the entire process can be scripted and
automated
Allows for the creation of standardized database
names (no GUIDs)
Exception is User Profile Synch Service, which
could be automated, but can be very tricky
(requires special process) so is generally
recommended to be done manually
Sample install scripts written for our „SharePoint
Unleashed‟ book are available on Toni Frankola‟s
blog at http://tinyurl.com/SPFarm-Config
36. Sample Script 36
(http://tinyurl.com/SPFarm-Config)
$configType = read-host "Do you wish to create a new farm? (Y/N)"
if ($ConfigType -eq "N") {
$DatabaseServer = read-host "Preparing to join existing farm. Please specify the name of your SQL Server";
$ConfigDB = read-host "Next, specify the name of your Farm Configuration Database";
$Passphrase = read-host "Finally, please enter your Farm passphrase" -assecurestring
} else {
$DatabaseServer = read-host "Preparing to create a new Farm. Please specify the name of your SQL Server
(ex SERVER or SERVERINSTANCE[,PORT])";
$FarmName = read-host "Please specify a name for your Farm (ex. SP2013Dev)";
$ConfigDB = $FarmName+"_ConfigDB";
$AdminContentDB = $FarmName+"_CentralAdminContent";
Write-Host "Please enter the credentials for your Farm Account (ex. COMPANYABCSP_Farm)";
$FarmAcct = Get-Credential;
$Passphrase = read-host "Enter a secure Farm passphrase (must meet password complexity requirements)"
-assecurestring;
$Port = read-host "Enter a port number for the Central Administration Web App";
$Authentication = read-host "Finally, specify your authentication provider (NTLM/Kerberos)";
}
if ($ConfigType -eq "N") {
if((Get-PSSnapin | Where {$_.Name -eq "Microsoft.SharePoint.PowerShell"}) -eq $null) {
Add-PSSnapin Microsoft.SharePoint.PowerShell;
}
Connect-SPConfigurationDatabase -DatabaseName $ConfigDB -DatabaseServer $DatabaseServer -
Passphrase $Passphrase
37. Sample Script – Service Apps
(http://tinyurl.com/SPFarm-Config)
cls
Remove-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
if((Get-PSSnapin | Where {$_.Name -eq "Microsoft.SharePoint.PowerShell"}) -eq $null) {
Add-PSSnapin Microsoft.SharePoint.PowerShell;
}
function Start-SPService($ServiceInstanceTypeName) {
$ServiceInstance = (Get-SPServiceInstance | Where {$_.TypeName -eq $ServiceInstanceTypeName})
if($ServiceInstance -ne $null -and $ServiceInstance.Status -ne "Online" -and $ServiceInstance.Status -ne
"Provisioning") {
$ServiceInstance | Start-SPServiceInstance
}
$i = 0;
while(-not ($ServiceInstance.Status -eq "Online") -and $i -lt 10) {
Write-Host -ForegroundColor Yellow "Waiting for the $ServiceInstanceTypeName service to
provision...";
sleep 100;
$ServiceInstance = (Get-SPServiceInstance | Where {$_.TypeName -eq
$ServiceInstanceTypeName})
$i += 1;
if($i -eq 10) {
$continue = Read-Host "Service $ServiceInstanceTypeName has not yet been
provisioned. Would you like to wait? (Y/N)"
if($continue -eq "Y") {
38. 38
Post-Installation
Add additional farm members (via templates if
possible)
Configure Request Management for large farms
(configurable via PowerShell)
Put a hardware load balancer in front of
SharePoint web front-ends (F5, A10, Kemp, etc.)
Configure Backup, iFilters, any third-party web
parts
Create a SQL Maintenance Plan!
Configure Security!
39. Post Installation: Configure Security
Five Layers of SharePoint Security
• Infrastructure Security and Best practices
Physical Security
Best Practice Service Account Setup
Kerberos Authentication
• Data Security
Role Based Access Control (RBAC)
Transparent Data Encryption (TDE) of SQL Databases
• Transport Security
Secure Sockets Layer (SSL) from Server to Client
IPSec from Server to Server
• Edge Security
Inbound Internet Security (Forefront UAG/TMG)
• Rights Management
40. Post Installation
Create SQL Maintenance Plans
• Implement SQL Maintenance Plans!
• Include DBCC (Check Consistency) and either
Reorganize Indexes or Rebuild Indexes, but not both!
• Add backups into the
maintenance plan if they
don’t exist already
• Be sure to truncate
transaction logs with a T-
SQL Script (after full
backups have run…)
41. Post-Installation – Document
SharePoint
• Document all key settings in IIS, SharePoint, after
installation
• Consider monitoring for changes after installation for Config
Mgmt.
• Fantastic tool for this is the SPDocKit - can be found at
http://tinyurl.com/spdockit