In this post I am going to explain a little bit about the new site collection model in SharePoint 2013 called host name site collections and how to implement it via PowerShell (which is currently the only supported method).
First off, what are host named site collections? Host named site collections are simply site collections that are created based off of unique FQDNs instead of the previous model of path based site collections that followed a basic root URL. This provides several benefits which I won't go in to detail but of the biggest benefit is scalability ( Ex. I can host multiple sites now under one web application aka one iw3p.exe process instead of creating new web applications for new FQDN sites)
As an example, with host name site collections I can now create several SharePoint sites with the following names all under one web application (one iw3p.exe process from IIS):
First off, what are host named site collections? Host named site collections are simply site collections that are created based off of unique FQDNs instead of the previous model of path based site collections that followed a basic root URL. This provides several benefits which I won't go in to detail but of the biggest benefit is scalability ( Ex. I can host multiple sites now under one web application aka one iw3p.exe process instead of creating new web applications for new FQDN sites)
As an example, with host name site collections I can now create several SharePoint sites with the following names all under one web application (one iw3p.exe process from IIS):
- www.mattsharepoint.com
- sharepoint.hostnamedsitecollection.com
- hnsc.org
#"Add SharePoint Cmdlets" add-pssnapin microsoft.sharepoint.powershell # Web App Variables $WebAppDefault = "SharePoint - HSNC Example" $Port = "80" $AppPool = "HSNCAppPool" $Account = "domain\svc-apppoolaccount" # Root Site Variables' $RootHHDefault = "myrootsite.com" $RootURLDefault = "http://myrootsite.com" $Owner = "domain\svc-farmaccount" $RootDB = "RootDB" $Lang = "1033" $Template = "blankinternetcontainer#0" # HSNC Site Variables $HNSCSITE1 = "http://hnsc1.com" $HNSCSITE2 = "http://hnsc2.com" # Create Web App New-SPWebApplication -Name $WebAppDefault -hostHeader $RootHHDefault -Port $port -ApplicationPool $AppPool -ApplicationPoolAccount (Get-SPManagedAccount $Account) -AuthenticationProvider (New-SPAuthenticationProvider –UseWindowsIntegratedAuthentication) -DatabaseName $RootDB -AllowAnonymousAccess echo "Web App created" # Create Root Site Collection New-SPSite $RootURLDefault -Name 'Root Site' -Description 'External Root Site Collection' -OwnerAlias $Owner -language $Lang -Template $Template echo "Root Site Collection created" # Create HNSC 1 New-SPSite $HNSCSITE1 -HostHeaderWebApplication (get-spwebapplication $RootURLDefault) -Name 'Site 1' -Description 'HNSC Site1' -OwnerAlias $Owner -language $Lang -Template $template echo "HNSC 1 Site Collection created" # Create HNSC 2 New-SPSite $HNSCSITE2 -HostHeaderWebApplication (get-spwebapplication $RootURLDefault) -Name 'Site 2' -Description 'HNSC Site2' -OwnerAlias $Owner -language $Lang -Template $template echo "HNSC 2 Site Collection created"
No comments:
Post a Comment