SharePoint 2013, WebApps, Workflows and...

Preview:

Citation preview

SharePoint 2013, WebApps, Workflows and Apps

Samuel Zürcher, Senior Consultant

Experts Inside GmbH

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 der Collaboration Days.

Architecture and toppologyPreparation for SharePoint 2013

Topology differences with 2013

Streamlined

• New Topology Model

• Maximise performance for Users

• Distributed Cache

• Frontend Servers

• Batch Processing Servers

• Specialized workloads

• Database Servers

Classic

• Traditional three-tier Model

• Frontend Servers

• Application Servers

• Database Servers

Reference: http://technet.microsoft.com/en-us/library/jj219591.aspx

Classical Topology

Streamlined Topology

Goals of Streamlined tiersRole 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

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

From Classical to Streamlined

Microsofts Farmbuild

Scaling single and small

< 100 Users

< 1'000 Users

Scaling middle

< 10'000 Users

Scaling big

> 10'000 Users

Sql serverSQL Server is the Engine of SharePoint

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

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 replica

Reference: http://technet.microsoft.com/en-us/library/jj715261.aspx

Example for SharePoint 2013

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

Feature Selection

Für AccessFor Access

Services 2013

Standard

Path

Service Account

Domain

Account

Attention!

Collation

Collation Selection

Customize Collation

Latin1_General_CI_AS_KS_WS

Is the closest to an

NTFS Filesystem

Authentication Mode

Domain

Group

Be aware

of Tabs!

For Access

Services only

Data Directories

Separate

Data, Log

and TempDB

This is what you want to see

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»

Fill Factor / Backup Compression

Min / Max Memory

For Access Services

• Enable Contained Databases = True

• Allow Triggers to Fire Others = True (std.)

• Default Language = English (std.)

• TCP/IP Protocol = Enabled (std.)

• Named Pipes Protocol= Enabled

• Windows Firewall Inbound Ports TCP 1433, TCP 1434, and UDP 1434

Mixed Mode

Contained Databases

Named Pipes

Firewall Settings Inbound Rules

Sharepoint 2013The basic Installation of SharePoint 2013 with Powershell

First thins first

• The Frontends are more RAM intense thant in SharePoint 2010

• 4-8 CPU Cores and min. 12 GB RAM

• For Standallone SharePoint 24 GB RAM

• Streched Farmen are supportet agein, but only rarely make sense

• Be aware of SharePoint roles (Toppology) expecially with Search and Distributed Cache

First thins 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!!!

Step 1 – Prerequisites

Step 1 - Prerequisites done

Step 2 – SharePoint bits

Key

Alwayse «Complete»

Don’t touch File Location

Install Updates

• Public Updates:• Required to install

• Always to be installed

• Cumulative Updates:• Free to choose

• Only install if needed

Step 2 – SharePoint bits done

Deselect!!

Step 3 – Farm initial

Start

Powershell ISE

ISE has many advantages

Write

Scripts

Input

directly

List of

Commands

Preparation - Variables

# Application Pool for Services and Access

$SaAppPoolName = "SharePoint Web Services Default"

$AppPoolUser = "demo\sp-services"

$AccessAppPoolName = "Access Services App Pool"

$AccessAppPoolUser = "demo\sp-access"

# SQL Alias

$SQLAliasName = "SharePointDB_Prod"

$SQLServerName = "SQL1\SHAREPOINT"

#Include Instance Name

$x86 = "HKLM:\Software\Microsoft\MSSQLServer\Client\ConnectTo"

$x64 = "HKLM:\Software\Wow6432Node\Microsoft\MSSQLServer\Client\ConnectTo"

$ConfigPassphrase = "MySharePointIs2013"

# Giving the Names for Databases

$dbConfig = "TBD_DEMO_SharePoint_Config"

$dbCentralAdmin = "TBD_DEMO_SharePoint_CentralAdmin"

# Central Admin Port and Authentication Method

$CaPort = 11111

$CaAuthProvider = "NTLM"

Preparation - System

# Check if Registry Key Paths for SQL-Alias already exist, create them if not

if ((test-path -path $x86) -ne $True) {

write-host "$x86 doesn't exist"

New-Item $x86

}

if ((test-path -path $x64) -ne $True) {

write-host "$x64 doesn't exist"

New-Item $x64

}

# Creating String to add TCP/IP Alias

$TCPAlias = ("DBMSSOCN," + $SQLServerName)

#Creating our TCP/IP Aliases

New-ItemProperty -Path $x86 -Name $SQLAliasName -PropertyType String -Value $TCPAlias

New-ItemProperty -Path $x64 -Name $SQLAliasName -PropertyType String -Value $TCPAlias

# Open cliconfig to verify the aliases

Start-Process C:\Windows\System32\cliconfg.exe

Start-Process C:\Windows\SysWOW64\cliconfg.exe

# Farm Passphrase

$s_configPassphrase = (ConvertTo-SecureString -String $ConfigPassphrase -AsPlainText -force)

Check if Alias was created

Alias is a must, you will get in

trouble, if you want to change

SQL Server and have no Alias

Simulate Config Wizzard# Make SharePoint PowerShell Availlable

Add-PSSnapin Microsoft.SharePoint.PowerShell

# Creating SharePoint Configuration Database

Write-Output "Creating the configuration database $dbConfig"

Write-Host "Bitte Farm Credentials eingeben" -ForegroundColor Green

$farmAccount = Get-Credential

New-SPConfigurationDatabase -DatabaseName $dbConfig -DatabaseServer $SQLAliasName -

AdministrationContentDatabaseName $dbCentralAdmin -Passphrase $s_configPassphrase -FarmCredentials

$farmAccount

# Check to make sure the farm exists and is running. if not, end the script

$Farm = Get-SPFarm

if (!$Farm -or $Farm.Status -ne "Online") {

Write-Output "Farm was not created or is not running"

exit

}

Write-Output "Create the Central Administration site on port $CaPort"

New-SPCentralAdministration -Port $CaPort -WindowsAuthProvider $CaAuthProvider

# Perform the config wizard tasks

Write-Output "Install Help Collections"

Install-SPHelpCollection -All

Write-Output "Initialize security"

Initialize-SPResourceSecurity

Write-Output "Install services"

Install-SPService

Write-Output "Register features"

Install-SPFeature -AllExistingFeatures

Write-Output "Install Application Content"

Install-SPApplicationContent

Write-Host "Farm build complete." -ForegroundColor Green

Managed Account and App Pool

# Add managed accounts

Write-Host "Creating managed accounts ... "

Write-Host "Bitte Services Account Credentials eingeben" -ForegroundColor Green

$servicesAccount = Get-Credential

New-SPManagedAccount -credential $servicesAccount

Write-Host "Bitte Access Services Account Credentials eingeben" -ForegroundColor Green

$AccessservicesAccount = Get-Credential

New-SPManagedAccount -credential $AccessservicesAccount

Write-Host "Bitte Portal Account Credentials eingeben" -ForegroundColor Green

$portalAccount = Get-Credential

New-SPManagedAccount -credential $portalAccount

Write-Host "Bitte MySite Account Credentials eingeben" -ForegroundColor Green

$MySiteAccount = Get-Credential

New-SPManagedAccount -credential $MySiteAccount

# Creating App Pool for Service Applications

New-SPServiceApplicationPool -Name $SaAppPoolName -Account (Get-SPManagedAccount –Identity $AppPoolUser)

New-SPServiceApplicationPool -Name $AccessAppPoolName -Account (Get-SPManagedAccount –Identity $AccessAppPoolUser)

Step 3 – Farm Initial done

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 Files\Common Files\microsoft shared\Web Server Extensions\15\LOGS"

$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()

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

Step 4.3 – a: Managed Metadata

# Managed Metadata Service Application

# Parameters

$ManagedMetadataSAName = "Managed Metadata Service"

$dbManagedMetadata = "TBD_DEMO_Managed_Metadata"

# Create Service Application

Write-Host "Creating Managed Metadata Service..."

New-SPMetadataServiceApplication -Name $ManagedMetadataSAName –ApplicationPool $SaAppPoolName -DatabaseServer $SQLAliasName -DatabaseName $dbManagedMetadata

New-SPMetadataServiceApplicationProxy -Name "$ManagedMetadataSANameProxy" -ServiceApplication $ManagedMetadataSAName -DefaultProxyGroup

Get-SPServiceInstance | where-object {$_.TypeName -eq "Managed MetadataWeb Service"} | Start-SPServiceInstance

b: Options for MMS Proxy

c: MMS Proxy Settings

# Get Metadata service application proxy

$MMSProxy = Get-SPServiceApplicationProxy | Where-Object {$_.TypeName -eq "ManagedMetadata 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()

Step 4.4 – a: Search Parameters

# Search Service Application and Topology

# Parameters

$SearchMachine = "WFE1"

$SearchSAName = "Search Service"

$dbSearchDatabase = "TBD_DEMO_Search"

$IndexLocation = "C:\SPIndex"

if (!(Test-Path -path $Indexlocation)) {New-Item $Indexlocation -Type

Directory}

b: Create Search SA

# Create Service Application

Write-Host "Creating Search Service Application…"

Write-Host "Starting Service…"

Start-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance $SearchMachine

Start-SPEnterpriseSearchServiceInstance $SearchMachine

Write-Host "Creating Search Service Application…"

$SearchSA = New-SPEnterpriseSearchServiceApplication -Name $SearchSAName -ApplicationPool $SaAppPoolName -DatabaseServer $SQLAliasName

-DatabaseName $dbSearchDatabase

$SearchInstance = Get-SPEnterpriseSearchServiceInstance -Local

Write-Host "Defining the Search Topology…"

$InitialSearchTopology = $SearchSA | Get-SPEnterpriseSearchTopology -Active

$NewSearchTopology = $SearchSA | New-SPEnterpriseSearchTopology

Write-Host "Creating Admin Component…"

New-SPEnterpriseSearchAdminComponent -SearchTopology $NewSearchTopology -SearchServiceInstance $SearchInstance

Write-Host "Creating Analytics Component…"

New-SPEnterpriseSearchAnalyticsProcessingComponent -SearchTopology $NewSearchTopology -SearchServiceInstance $SearchInstance

Write-Host "Creating Content Processing Component…"

New-SPEnterpriseSearchContentProcessingComponent -SearchTopology $NewSearchTopology -SearchServiceInstance $SearchInstance

Write-Host "Creating Query Processing Component…"

New-SPEnterpriseSearchQueryProcessingComponent -SearchTopology $NewSearchTopology -SearchServiceInstance $SearchInstance

Write-Host "Creating Crawl Component…"

New-SPEnterpriseSearchCrawlComponent -SearchTopology $NewSearchTopology -SearchServiceInstance $SearchInstance

Write-Host "Creating Index Component…"

New-SPEnterpriseSearchIndexComponent -SearchTopology $NewSearchTopology -SearchServiceInstance $SearchInstance -RootDirectory

$IndexLocation

Write-Host "Activating the new topology…"

$NewSearchTopology.Activate()

Write-Host "Creating Search Application Proxy…"

New-SPEnterpriseSearchServiceApplicationProxy -Name "$SearchSAName Proxy" -SearchApplication $SearchSA

c: Simple Search Topology

82

Step 4.5 – Word Automation SA

# Word Conversion Service Application

$WordSAName = "Word Automation Service"

$dbWordAutomation = "TBD_DEMO_WordAutomation"

# Create Service Application

Write-Host "Creating Word Automation Service..."

New-SPWordConversionServiceApplication -Name $WordSAName -

ApplicationPool $SaAppPoolName -DatabaseName $dbWordAutomation -

DatabaseServer $SQLAliasName –Default

Get-SPServiceInstance | where-object {$_.TypeName -eq "Word

Automation Services"} | Start-SPServiceInstance

Step 4.6 – Business Connectivity

# Business Conectivity Services Service Application

$BcsSAName = "Business Connectivity Service"

$dbBcs = "TBD_DEMO_BusinessConnectivity"

# Create Service Application

Write-Host "Creating Business Connectivity Service..."

New-SPBusinessDataCatalogServiceApplication –ApplicationPool

$SaAppPoolName –DatabaseName $dbBcs –DatabaseServer

$SQLAliasName –Name $BcsSAName

Get-SPServiceInstance | where-object {$_.TypeName -eq "Business

Data Connectivity Service"} | Start-SPServiceInstance

Step 4.7 – Secure Store

# Secure store Service Application

$SecureStoreSAName = "Secure Store Service"

$dbSecureStore = "TBD_DEMO_Secure_Store"

# Create Service Application

Write-Host "Creating Secure Store Service..."

$SecureStoreSAPipe = New-SPSecureStoreServiceApplication –

ApplicationPool $SaAppPoolName –AuditingEnabled:$false –DatabaseServer

$SQLAliasName –DatabaseName $dbSecureStore –Name $SecureStoreSAName

New-SPSecureStoreServiceApplicationProxy –Name "$SecureStoreSAName

Proxy" –ServiceApplication $SecureStoreSAPipe -DefaultProxyGroup

Get-SPServiceInstance | where-object {$_.TypeName -eq "Secure Store

Service"} | Start-SPServiceInstance

Step 4.8 – Performance Point

# Performance Point Service Application

$PerformancePointSAName = "Performance Point Services"

$dbPerformancePoint = "TBD_DEMO_PerformancePoint"

# Create Service Application

Write-Host "Creating PerformancePoint Service..."

$PerformancePointSAPipe = New-SPPerformancePointServiceApplication -Name $PerformancePointSAName -ApplicationPool $SaAppPoolName -DatabaseName $dbPerformancePoint

New-SPPerformancePointServiceApplicationProxy -Name "$PerformancePointSAName Proxy" -ServiceApplication$PerformancePointSAPipe –Default

Get-SPServiceInstance | where-object {$_.TypeName -eq "PerformancePointService"} | Start-SPServiceInstance

Step 4.9 – Visio Services

# Visio Service Application

$VisioSAName = "Visio Services"

# Create Service Application

Write-Host "Creating Visio Service..."

New-SPVisioServiceApplication -Name $VisioSAName -

ApplicationPool $SaAppPoolName

New-SPVisioServiceApplicationProxy -Name "$VisioSAName Proxy" -

ServiceApplication $VisioSAName

Get-SPServiceInstance | where-object {$_.TypeName -eq "Visio

Graphics Service"} | Start-SPServiceInstance

Step 4.10 – User Profile SA

# User Profile Service Application

$UserProfileSAName = "User Profile Service"

$dbUserProfile = "TBD_DEMO_UserProfile_Profiles"

$dbUserSocial ="TBD_DEMO_UserProfile_Social"

$dbUserSync ="TBD_DEMO_UserProfile_Sync"

# Create Service Application

Write-Host "Creating User Profile Service..."

$UserProfileSAPipe = New-SPProfileServiceApplication -Name $UserProfileSAName -ApplicationPool $SaAppPoolName -ProfileDBServer $SQLAliasName -ProfileDBName$dbUserProfile -SocialDBServer $SQLAliasName -SocialDBName $dbUserSocial -ProfileSyncDBServer $SQLAliasName -ProfileSyncDBName $dbUserSync

New-SPProfileServiceApplicationProxy -Name "$UserProfileSAName Proxy" -ServiceApplication $UserProfileSAPipe -DefaultProxyGroup

Get-SPServiceInstance | where-object {$_.TypeName -eq "User Profile Service"} |Start-SPServiceInstance

Step 4.11 – App Management

# App management Service Application

$AppManagementSAName = "App Management Service"

$dbAppManagement = "TBD_DEMO_App_Management"

# Create Service Application

Write-Host "Creating App Management Service…"

$AppManagementSAPipe = New-SPAppManagementServiceApplication -Name

$AppManagementSAName -DatabaseServer $SQLAliasName -DatabaseName

$dbAppManagement –ApplicationPool $SaAppPoolName

New-SPAppManagementServiceApplicationProxy -Name "$AppManagementSAName

Proxy" -ServiceApplication $AppManagementSAPipe

Get-SPServiceInstance | where-object {$_.TypeName -eq "App Management

Service"} | Start-SPServiceInstance

Step 4.12 – Translation Service

# Machine Translation Service Application

$TranslationSAName = "Machine Translation Service"

$dbTranslation = "TBD_DEMO_Machine_Translation"

# Create Service Application

Write-Host "Creating Machine Translation Service..."

New-SPTranslationServiceApplication -Name $TranslationSAName -

ApplicationPool $SaAppPoolName -DatabaseName $dbTranslation -

Default

Get-SPServiceInstance | where-object {$_.TypeName –eq "Machine

Translation Service"} | Start-SPServiceInstance

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

4.13.1 – Give rights to AppPool

Give the Services App Pool

Account full Rights to User

Profile Service Application

Step 4.14 – Excel Services

# Excel Services

$ExcelSAName = "Excel Services"

# Create Service Application

Write-Host "Creating Excel Service..."

New-SPExcelServiceApplication -Name $ExcelSAName -

ApplicationPool $SaAppPoolName -Default

Get-SPServiceInstance | where-object {$_.TypeName –eq "Excel

Calculation Services"} | Start-SPServiceInstance

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 FoundationSubscription Settings Service"} | Start-SPServiceInstance

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

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

c: App Pool Config

1. Advanced Settings 2. Load User Profile > True

3. Restart Server

d: Secure StoreGo to Secure

Store Service

and generate

a new Key

Enter any

secure

String

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

f: Setting SQL Rights for App Pool

• Give demo\sp-access following Rights:• Configuration Database: DBO

• Content Databases: DBO

• App Management Database: SPDataAccess

g: Office Deployments

• If you have Office deployed in different Languages, you must deploy all theseLanguages as SharePoint Language Pack

• User will get an error if not

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

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

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»

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

Step 4.21 – Cache Users

$wa = Get-SPWebApplication -Identity

"http://intranet.demo.local"

$wa.Properties["portalsuperuseraccount"] = "i:0#.w|demo\sp-

cacheadmin"

$wa.Properties["portalsuperreaderaccount"] = "i:0#.w|demo\sp-

cachereader"

$wa.Update()

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

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

Add new Zone

Next

Next

Next

Enter Domain Name

Next

Finish

Add New Host to Appdomain

Right click

and select

«New Host»

Point * to Frontend or NLBThis will point

all Apps to

SharePoint

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

Create Top Level SC

• Make sure you have selected the Frontend Web App

• Don’t forgett to set Primary SC Admin

«Standard Website» offMake sure,

Default Web

Site is stopped

Configure App Urls

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

New App Catalog Dialog

The WebappsInstallation and Integration of Office WebApps in SharePoint 2013

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)

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

Step 2 – Installation

Install Now

Wait for Install to finish

Close

Apply Update KB2810007

Update Link: http://www.microsoft.com/en-us/download/details.aspx?id=38378

Wait for Update to finish

Update done

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

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

Workflows 2013Integration of Workflow Manager in SharePoint 2013

First things first

• Workflows changed in SharePoint 2013

• Needs it’s own Installation (Workflow Manager)

• Can run on SharePoint Frontend or Standallone Server

Launch Workflow Manager

Install

Accept Terms

Use Ms Updates

Wait for Install

Continue

Configuration Wizzard

Add DB Server, User, Passphrase

Wait for Config to finish

Config ready to install

Wait for Install

Workflow Farm created

Finish

Exit

Add WF Manager to SharePoint

# Register Workflow Service

Register-SPWorkflowService –SPSite "http://intranet.demo.local"

–WorkflowHostUri "http://wfe1.demo.local:12291" –AllowOAuthHttp

Ports for Workflows

• 12290 – Management Port

• 9355 – Secure Deployment

• 12291 – Unsecured Management Port

• 9354 – TCP Deployment

• 9356 – Message Broker

• 9000-9003 – Internal Communication

Now you can use 2013 WF

Performance TestingUsing Visual Studio and SQLIO to do Performance Testing

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 ismostly not used)

-b64 Blocksize in bytes

Download: http://www.microsoft.com/en-us/download/details.aspx?id=20163

SQLIO Test Batch

sqlio -kW -t16 -s60 -dF -o4 -frandom -b64 -BH -LS Testfile.datsqlio -kW -t16 -s60 -dF -o8 -frandom -b64 -BH -LS Testfile.datsqlio -kW -t16 -s60 -dF -o16 -frandom -b64 -BH -LS Testfile.datsqlio -kW -t16 -s60 -dF -o32 -frandom -b64 -BH -LS Testfile.datsqlio -kW -t16 -s60 -dF -o64 -frandom -b64 -BH -LS Testfile.dat

sqlio -kR -t16 -s60 -dF -o4 -frandom -b64 -BH -LS Testfile.datsqlio -kR -t16 -s60 -dF -o8 -frandom -b64 -BH -LS Testfile.datsqlio -kR -t16 -s60 -dF -o16 -frandom -b64 -BH -LS Testfile.datsqlio -kR -t16 -s60 -dF -o32 -frandom -b64 -BH -LS Testfile.datsqlio -kR -t16 -s60 -dF -o64 -frandom -b64 -BH -LS Testfile.dat

sqlio -kW -t32 -s60 -dF -o4 -frandom -b64 -BH -LS Testfile.datsqlio -kW -t32 -s60 -dF -o8 -frandom -b64 -BH -LS Testfile.datsqlio -kW -t32 -s60 -dF -o16 -frandom -b64 -BH -LS Testfile.datsqlio -kW -t32 -s60 -dF -o32 -frandom -b64 -BH -LS Testfile.datsqlio -kW -t32 -s60 -dF -o64 -frandom -b64 -BH -LS Testfile.dat

sqlio -kR -t32 -s60 -dF -o4 -frandom -b64 -BH -LS Testfile.datsqlio -kR -t32 -s60 -dF -o8 -frandom -b64 -BH -LS Testfile.datsqlio -kR -t32 -s60 -dF -o16 -frandom -b64 -BH -LS Testfile.datsqlio -kR -t32 -s60 -dF -o32 -frandom -b64 -BH -LS Testfile.datsqlio -kR -t32 -s60 -dF -o64 -frandom -b64 -BH -LS Testfile.dat

sqlio -kW -t64 -s60 -dF -o4 -frandom -b64 -BH -LS Testfile.datsqlio -kW -t64 -s60 -dF -o8 -frandom -b64 -BH -LS Testfile.datsqlio -kW -t64 -s60 -dF -o16 -frandom -b64 -BH -LS Testfile.datsqlio -kW -t64 -s60 -dF -o32 -frandom -b64 -BH -LS Testfile.datsqlio -kW -t64 -s60 -dF -o64 -frandom -b64 -BH -LS Testfile.dat

sqlio -kR -t64 -s60 -dF -o4 -frandom -b64 -BH -LS Testfile.datsqlio -kR -t64 -s60 -dF -o8 -frandom -b64 -BH -LS Testfile.datsqlio -kR -t64 -s60 -dF -o16 -frandom -b64 -BH -LS Testfile.datsqlio -kR -t64 -s60 -dF -o32 -frandom -b64 -BH -LS Testfile.datsqlio -kR -t64 -s60 -dF -o64 -frandom -b64 -BH -LS Testfile.dat

Visual Studio Ultimate

Questions & Answers

….noch Fragen?!

Kontakt:

szu@expertsinside.com

Mehr zum Thema:

http://sharepointszu.com/category/die-serie-best-practice/

Recommended