SharePoint 2013 : Host Named Site Collection : Quand ? Qui ? Ou ? Pourquoi ?

Par Gokan Ozcifci (MVP)

Blog

Dn635135.8954F63A0F58F10EEE4F339440A3AB39(fr-fr,TechNet.10).png

L’utilisation du Host Named Site Collection est la méthode favorisée (préférée) pour déployer les sites dans SharePoint 2013. La raison est simple, l'environnement Office 365 utilise des Host Named Site Collections, qui eux sont optimisées pour les nouvelles fonctionnalités Office 365.

Le diagramme suivant que j’ai trouvé sur TechNet nous dit déjà beaucoup sur l’architecture et design de Host Named Site Collection.

Dn635135.546aacd4-b1e6-4796-a6c0-31cb336384ac(fr-fr,TechNet.10).png

Pro Contra

Avant de commencer avec une démonstration et de vous montrer comment configurer le Host Named Site Collection je voudrais vous citer quelques points négatifs et positifs de cette nouvelle méthode :

Désavantages 

  • Une seule Application Pool pour tous les sites / sous-sites que vous allez créer. Ceci est potentiellement un risque pour votre tenant/environnement car un recycle/Start-Stop de cela peut perturber votre environnement.
  • Une seule Web Application pour tous les sites / sous-sites que vous allez créer. Pas assez de flexibilité.
  • Un seul root site-collection pour tous vos sites et sous-sites.

Avantages

  • Peux utiliser le protocole http ainsi que https.
    • Consolidation : Un respect total sur les limitations de SharePoint 2013
    • Moins d’Application Pool
    • Moins de RAM
  • Moins de Downtime (release distribution)
  • Tout est centralisé et plus facile à gérer.
  • Avantage sur la maintenance et performance SQL.
  • Support Off-box de Secure Socket Layer (SSL)
  • Facilité énorme pour la migration pour Office 365
  • Possibilité d’avoir plusieurs modes d’Authentication sur une seul Application Web.

HNSC avec SharePoint 2010 ?

La réponse est simple. « NON ». Avec SharePoint 2010 on a toujours utilisé le Path Based Site Collection.

Un exemple simple pour le Path Named Site Collection sera :

La méthode classique et très fréquente dans le monde de SharePoint 2010.

Comparatif HNSC et PNSC

Host Named Site Collection

Path Named Site Collection

L’utilisation du Powerhsell est nécessaire pour la création du HNSC.

Powerhsell ou l’Administration Central pourra-être utilisé pour la création du PNSC.

Chaque HSNC doit avoir une entrée unique dans le DNS.

Toutes les PNSC partagent la même entrée DNS.

Une Collection de Site Majeur est plus que requis pour pouvoir crawlé les éléments dans vos sites.

Un site peut-être crawlé sans une collection de site majeur.

La fonctionnalité «self-site création» n’est pas supporté pour le HNSC, il faudrait créer une solution customisée

La fonctionnalité « Self-Site Création » est supporté OOTB avec PNSC

HNSC en démonstration

Déploiement et configuration du HNSC

Vos utilisateurs doivent bénéficier des droits suivants:

  • Securityadmin sur l’instance de SQL Server
  • db_owner sur toutes bases nécessaires
  • Être dans le groupe des Administrateurs pour le Windows PowerShell cmdlet.

Démonstration

Il faut tout d’abord avoir (créer) une Application Web vide pour notre démonstration. Vous pouvez le créer avec le code Powerhsell fourni ci-dessous ou passer par l’Administration Centrale ; une manière assez classique et facile à faire.

New-SPWebApplication -Name "Corp Pegasus" -port 80 -ApplicationPool "PegasusAppPool" -ApplicationPoolAccount (Get-SPManagedAccount "pegasus\gokanx") -AuthenticationProvider (New-SPAuthenticationProvider –UseWindowsIntegratedAuthentication)

Dn635135.2222E74F0EC3F4A527C44E3DEBBACB7E(fr-fr,TechNet.10).png

Après quelques seconds de patience notre Application Web sera créé. Un petit tour sur l’administration centrale nous prouve bien cela. Notre site est créé avec l’URL http://poseidon

Dn635135.A0D9CA11F88D4DF32C51F9218C571CF8(fr-fr,TechNet.10).png

Il nous faut ainsi créer une Collection de Site – qui est un prérequis – pour notre Application Web. Cette Collection de Site majeur est nécessaire pour le crawl du contenu. Cette Collection de Site doit avoir le même nom que celle de l’Application Web (sinon SharePoint 2013 refusera la création)

Le script Powerhsell ci-dessous vous montre comment créer votre Collection de Site Majeur.

New-SPSite "http://poseidon" -Name "Pegasus Portal" -Description "Pegasus Root" -OwnerAlias "Pegasus\Gokanx" -language 1033 -Template "STS#0"

Dn635135.905BDE17F1C2B81B54A48F2BF90805F7(fr-fr,TechNet.10).png

Un petit check, et notre Collection de Site majeur est bien créé

Dn635135.0BC2B61527BA4472FCBF1CFF65035D7D(fr-fr,TechNet.10).png

Après avoir créé notre Collection de Site majeur il est grand temps de passer à l’action pour créer les Host Named Site Collection. Jouons simple et créons 2 Host Named Site Collection nommé Portal et iHome.

Ces quelques lignes de code Powershell vous permettront de réaliser ceci en quelques clics.

Dn635135.875801511BBE9A95DC519DEFDF308327(fr-fr,TechNet.10).png

New-SPSite "http://portal.corp.pegasus" -HostHeaderWebApplication "http://poseidon" -Name "Portal Pegasus" -Description "Portal Pegasus" -OwnerAlias "Pegasus\gokanx" -language 1033 -Template "STS#0"

New-SPSite "http://iHome.corp.pegasus" -HostHeaderWebApplication "http://poseidon" -Name "iHome Pegasus" -Description "iHome Pegasus" -OwnerAlias "Pegasus\gokanx" -language 1033 -Template "STS#0"

N’oubliez surtout pas de créer votre A-Record au niveau DNS sinon la résolution de nom ne se fera pas.

Dn635135.C11C8AFC1E05395101B1F5B38752AA22(fr-fr,TechNet.10).png

Dn635135.CF86B36A69CB9B9BDCBE7DB03876CA03(fr-fr,TechNet.10).png

Dn635135.1476A696CEDD7BF626B9BD28D3332A2A(fr-fr,TechNet.10).png

La première étape est de vider la cache locale de votre Internet Explorer –ou autre browser. Ceci est facilement réalisable avec un CTRL+F5.

Puis on exécute un ipconfig /FlushDNS pour vider la cache DNS pour être sûr que nos modifications faites y a un instant soit bien pris en charge (le temps de réplication peut durer jusque 15 minutes dépendant votre configuration).

L’avant dernière étape consiste à créer un chemin d’accès gérer (Managed Path). Vous pouvez créer votre chemin d’accès grâce à la ligne Powerhsell suivante :

New-SPManagedPath 'customer' –HostHeader

Dn635135.3CD22845B62D221A4A2BE7256A4D4D98(fr-fr,TechNet.10).png

La dernière étape consiste à créer nos sites dans notre Host Named Site Collection. Je prends comme exemple « Contoso » et « Meloon » qui sont des clients fidèles et posséderont donc leur propre site dans notre Application Web.

Exécuter le script suivant pour créer le site de vos clients 

Dn635135.4514391606470FA724C80B858F06452C(fr-fr,TechNet.10).png

New-SPSite "http://portal.corp.pegasus/departments/contoso" -HostHeaderWebApplication "http://Poseidon" -Name "contoso" -Description "Contoso customer" -OwnerAlias "pegasus\gokanx" -language 1033 -Template "STS#0"

New-SPSite "http://portal.corp.pegasus/departments/meloon" -HostHeaderWebApplication "http://Poseidon" -Name "meloon" -Description "Meloon customer" -OwnerAlias "pegasus\gokanx" -language 1033 -Template "STS#0"

Voilà, nous venons de terminer en quelques clics seulement la création du HSNC avec 2 sites dédies pour 2 client différents.

Dn635135.2BA85A14BE8FA96527A4CE3AA025FCEB(fr-fr,TechNet.10).png

Dn635135.C1BFFB65A3755E3C772EBAB5D4FE4F69(fr-fr,TechNet.10).png

References

Par Gokan Ozcifci (MVP)

| Accueil | Articles Techniques | Communautés