Partager via


Sites <sites>

Vue d’ensemble

Le groupe de sections <sites> contient des paramètres de configuration pour tous les sites sur un serveur IIS 7. L’élément <sites> contient une collection d’éléments <site>. Lorsque vous créez un site web, IIS ajoute un élément <site> à la collection.

Chaque élément <site> contient des paramètres de configuration pour un site Web distinct hébergé sur votre installation IIS 7. Par exemple, le site web par défaut et ses paramètres sont définis dans un élément <site> situé entre les balises d’ouverture et de fermeture de l’élément <sites> ; les éléments de configuration pour tout site supplémentaire que vous créez y sont également situés.

Le groupe de sections <sites> peut également contenir les éléments <siteDefaults>, <applicationDefaults> et <virtualDirectoryDefaults>. L’élément <siteDefaults> définit les paramètres de configuration par défaut pour n’importe quel site s’exécutant sur le serveur, l’élément <applicationDefaults> définit les paramètres de configuration par défaut pour toute application s’exécutant sur le serveur, et l’élément <virtualDirectoryDefaults> définit les paramètres de configuration par défaut pour tout répertoire virtuel s’exécutant sur le serveur.

Compatibilité

Version Notes
IIS 10.0 L’élément <sites> n’a fait l’objet d’aucune modification dans IIS 10.0.
IIS 8.5 L’élément <sites> n’a fait l’objet d’aucune modification dans IIS 8.5.
IIS 8.0 L’élément <sites> n’a fait l’objet d’aucune modification dans IIS 8.0.
IIS 7.5 L’élément <sites> n’a fait l’objet d’aucune modification dans IIS 7.5.
IIS 7.0 L’élément <sites> a été introduit dans IIS 7.0.
IIS 6.0 La collection <sites> remplace l’objet metabase IIS 6.0 IIsWebServer.

Programme d’installation

L’élément <sites> est inclus dans l’installation par défaut d’IIS 7.

Procédure

Lorsque vous configurez un nouveau site web sur IIS 7, vous devez affecter au site Web un nom de site et un chemin d’accès physique. Il existe également plusieurs paramètres de configuration facultatifs que vous pouvez définir. Si vous envisagez de continuer à utiliser le site web par défaut sur votre serveur IIS 7, vous devez modifier les informations de liaison du nouveau site. Pour ce faire, modifiez le port ou entrez un nom d’hôte pour le nouveau site web.

Création d’un site web

  1. Ouvrez le Gestionnaire Internet Information Services (IIS) :

    • Si vous utilisez Windows Server 2012 ou Windows Server 2012 R2 :

      • Dans la barre des tâches, cliquez sur Gestionnaire de serveur, cliquez sur Outils, puis sur Gestionnaire Internet Information Services (IIS).
    • Si vous utilisez Windows 8 ou Windows 8.1 :

      • Maintenez la touche Windows enfoncée, appuyez sur la lettre X, puis cliquez sur Panneau de configuration.
      • Cliquez sur Outils d'administration, puis double-cliquez sur Gestionnaire des services Internet (IIS).
    • Si vous utilisez Windows Server 2008 ou Windows Server 2008 R2 :

      • Cliquez sur Démarrer, placez le curseur sur Outils d'administration, puis cliquez sur Gestionnaire Internet Information Services (IIS).
    • Si vous utilisez Windows Vista ou Windows 7 :

      • Dans la barre des tâches, cliquez sur Démarrer, puis sur Panneau de configuration.
      • Double-cliquez sur Outils d'administration, puis double-cliquez sur Gestionnaire des services Internet (IIS).
  2. Dans le volet Connexions , développez le nom du serveur, puis cliquez sur Sites.

  3. Dans le volet Actions, cliquez sur Ajouter un site web...

  4. Dans la boîte de dialogue Ajouter un site web, entrez au minimum des informations dans les zones de texte Nom du site et Chemin d’accès physique, puis indiquez si vous souhaitez entrer des informations dans la zone de texte Nom d’hôte ou modifier le numéro dans la zone Port.
    Screenshot of the Add Web Site dialog box showing the Site Name and Physical path fields.

  5. Dans le Gestionnaire IIS, cliquez sur le bouton Actualiser pour vérifier que le site a démarré.

Configuration

Vous pouvez configurer l’élément <sites> au niveau du serveur dans le fichier ApplicationHost.config.

Attributs

Aucune.

Éléments enfants

Élément Description
applicationDefaults Élément facultatif.

Spécifie les paramètres par défaut pour toutes les applications sur le serveur.
site Élément facultatif.

Spécifie les paramètres de configuration d’un site.
siteDefaults Élément facultatif.

Spécifie les paramètres par défaut pour tous les sites sur le serveur.
virtualDirectoryDefaults Élément facultatif.

Spécifie les paramètres par défaut de tous les répertoires virtuels sur le serveur.

Exemple Configuration

L’élément par défaut <sites> suivant est configuré dans le fichier ApplicationHost.config racine dans IIS 7.

<sites>
   <site name="Default Web Site" id="1">
      <application path="/">
         <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" />
      </application>
      <bindings>
         <binding protocol="http" bindingInformation="*:80:" />
      </bindings>
   </site>
   <siteDefaults>
      <logFile logFormat="W3C" directory="%SystemDrive%\inetpub\logs\LogFiles" />
      <traceFailedRequestsLogging directory="%SystemDrive%\inetpub\logs\FailedReqLogFiles" />
    </siteDefaults>
   <applicationDefaults applicationPool="DefaultAppPool" />
   <virtualDirectoryDefaults allowSubDirConfig="true" />
</sites>

Compatibilité

En combinaison avec l’élément <site> , l’élément <sites> remplace la propriété de métabase IIS 6.0 IIsWebServer .

Exemple de code

Les exemples suivants créent un site web nommé Contoso avec un ID de 2 et définit une liaison pour le protocole HTTP sur le port 80 avec un en-tête hôte « www.contoso.com ». Le chemin physique du nouveau site web est C:\Inetpub\www.contoso.com\wwwroot.

AppCmd.exe

appcmd.exe set config -section:system.applicationHost/sites /+"[name='Contoso',id='2',serverAutoStart='True']" /commit:apphost

appcmd.exe set config -section:system.applicationHost/sites /+"[name='Contoso',id='2'].bindings.[protocol='http',bindingInformation='*:80:www.contoso.com']" /commit:apphost

appcmd.exe set config -section:system.applicationHost/sites /+"[name='Contoso',id='2'].[path='/']" /commit:apphost

appcmd.exe set config -section:system.applicationHost/sites /+"[name='Contoso',id='2'].[path='/'].[path='/',physicalPath='C:\Inetpub\www.contoso.com\wwwroot']" /commit:apphost

Remarque

Vous devez veiller à définir le paramètre commit sur apphost quand vous utilisez AppCmd.exe pour configurer ces paramètres. Cela valide les paramètres de configuration dans la section d’emplacement appropriée dans le fichier ApplicationHost.config.

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using (ServerManager serverManager = new ServerManager())
      {
         Configuration config = serverManager.GetApplicationHostConfiguration();
         ConfigurationSection sitesSection = config.GetSection("system.applicationHost/sites");
         ConfigurationElementCollection sitesCollection = sitesSection.GetCollection();

         ConfigurationElement siteElement = sitesCollection.CreateElement("site");
         siteElement["name"] = @"Contoso";
         siteElement["id"] = 2;
         siteElement["serverAutoStart"] = true;

         ConfigurationElementCollection bindingsCollection = siteElement.GetCollection("bindings");
         ConfigurationElement bindingElement = bindingsCollection.CreateElement("binding");
         bindingElement["protocol"] = @"http";
         bindingElement["bindingInformation"] = @"*:80:www.contoso.com";
         bindingsCollection.Add(bindingElement);

         ConfigurationElementCollection siteCollection = siteElement.GetCollection();
         ConfigurationElement applicationElement = siteCollection.CreateElement("application");
         applicationElement["path"] = @"/";
         ConfigurationElementCollection applicationCollection = applicationElement.GetCollection();
         ConfigurationElement virtualDirectoryElement = applicationCollection.CreateElement("virtualDirectory");
         virtualDirectoryElement["path"] = @"/";
         virtualDirectoryElement["physicalPath"] = @"C:\Inetpub\www.contoso.com\wwwroot";
         applicationCollection.Add(virtualDirectoryElement);
         siteCollection.Add(applicationElement);
         sitesCollection.Add(siteElement);

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample
   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetApplicationHostConfiguration
      Dim sitesSection As ConfigurationSection = config.GetSection("system.applicationHost/sites")
      Dim sitesCollection As ConfigurationElementCollection = sitesSection.GetCollection

      Dim siteElement As ConfigurationElement = sitesCollection.CreateElement("site")
      siteElement("name") = "Contoso"
      siteElement("id") = 2
      siteElement("serverAutoStart") = True

      Dim bindingsCollection As ConfigurationElementCollection = siteElement.GetCollection("bindings")
      Dim bindingElement As ConfigurationElement = bindingsCollection.CreateElement("binding")
      bindingElement("protocol") = "http"
      bindingElement("bindingInformation") = "*:80:www.contoso.com"
      bindingsCollection.Add(bindingElement)

      Dim siteCollection As ConfigurationElementCollection = siteElement.GetCollection
      Dim applicationElement As ConfigurationElement = siteCollection.CreateElement("application")
      applicationElement("path") = "/"
      Dim applicationCollection As ConfigurationElementCollection = applicationElement.GetCollection
      Dim virtualDirectoryElement As ConfigurationElement = applicationCollection.CreateElement("virtualDirectory")
      virtualDirectoryElement("path") = "/"
      virtualDirectoryElement("physicalPath") = "C:\Inetpub\www.contoso.com\wwwroot"
      applicationCollection.Add(virtualDirectoryElement)
      siteCollection.Add(applicationElement)
      sitesCollection.Add(siteElement)

      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var sitesSection = adminManager.GetAdminSection("system.applicationHost/sites", "MACHINE/WEBROOT/APPHOST");
var sitesCollection = sitesSection.Collection;

var siteElement = sitesCollection.CreateNewElement("site");
siteElement.Properties.Item("name").Value = "Contoso";
siteElement.Properties.Item("id").Value = 2;
siteElement.Properties.Item("serverAutoStart").Value = true;

var bindingsCollection = siteElement.ChildElements.Item("bindings").Collection;
var bindingElement = bindingsCollection.CreateNewElement("binding");
bindingElement.Properties.Item("protocol").Value = "http";
bindingElement.Properties.Item("bindingInformation").Value = "*:80:www.contoso.com";
bindingsCollection.AddElement(bindingElement);

var siteCollection = siteElement.Collection;
var applicationElement = siteCollection.CreateNewElement("application");
applicationElement.Properties.Item("path").Value = "/";
var applicationCollection = applicationElement.Collection;
var virtualDirectoryElement = applicationCollection.CreateNewElement("virtualDirectory");
virtualDirectoryElement.Properties.Item("path").Value = "/";
virtualDirectoryElement.Properties.Item("physicalPath").Value = "C:\\Inetpub\\www.contoso.com\\wwwroot";
applicationCollection.AddElement(virtualDirectoryElement);
siteCollection.AddElement(applicationElement);
sitesCollection.AddElement(siteElement);

adminManager.CommitChanges();

VBScript

Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set sitesSection = adminManager.GetAdminSection("system.applicationHost/sites", "MACHINE/WEBROOT/APPHOST")
Set sitesCollection = sitesSection.Collection

Set siteElement = sitesCollection.CreateNewElement("site")
siteElement.Properties.Item("name").Value = "Contoso"
siteElement.Properties.Item("id").Value = 2
siteElement.Properties.Item("serverAutoStart").Value = True

Set bindingsCollection = siteElement.ChildElements.Item("bindings").Collection
Set bindingElement = bindingsCollection.CreateNewElement("binding")
bindingElement.Properties.Item("protocol").Value = "http"
bindingElement.Properties.Item("bindingInformation").Value = "*:80:www.contoso.com"
bindingsCollection.AddElement bindingElement

Set siteCollection = siteElement.Collection
Set applicationElement = siteCollection.CreateNewElement("application")
applicationElement.Properties.Item("path").Value = "/"
Set applicationCollection = applicationElement.Collection
Set virtualDirectoryElement = applicationCollection.CreateNewElement("virtualDirectory")
virtualDirectoryElement.Properties.Item("path").Value = "/"
virtualDirectoryElement.Properties.Item("physicalPath").Value = "C:\Inetpub\www.contoso.com\wwwroot"
applicationCollection.AddElement(virtualDirectoryElement)
siteCollection.AddElement applicationElement
sitesCollection.AddElement siteElement

adminManager.CommitChanges()