Sitio <site>
Información general
El elemento de configuración <site>
controla la configuración de un sitio web específico que se ejecuta en un servidor con IIS 7 y versiones posteriores. Por ejemplo, el sitio web predeterminado y sus valores se definen en un elemento <site>
, que se encuentra entre las etiquetas de apertura y cierre del elemento <sites>
.
Un elemento <site>
se configurar al crear un sitio web en IIS 7 y versiones posteriores. El elemento <site>
contiene un atributo name que define el nombre que ha asignado al sitio web y un atributo id que define el identificador numérico para el sitio web. El elemento <site>
contiene elementos secundarios que definen las aplicaciones y directorios virtuales que se ejecutan en el sitio, así como los valores de puerto, protocolo, registro y seguimiento del sitio web.
Compatibilidad
Versión | Notas |
---|---|
IIS 10.0 | El elemento <site> no se ha modificado en IIS 10.0. |
IIS 8.5 | El elemento <site> no se ha modificado en IIS 8.5. |
IIS 8.0 | El elemento <site> no se ha modificado en IIS 8.0. |
IIS 7.5 | El elemento <site> no se ha modificado en IIS 7.5. |
IIS 7.0 | El elemento <site> de la colección <sites> se introdujo en IIS 7.0. |
IIS 6,0 | La colección <sites> reemplaza el objeto de metabase IIsWebServer de IIS 6.0. |
Configuración
El elemento <site>
se incluye en la instalación predeterminada de IIS 7 y versiones posteriores.
Procedimientos
Al configurar un nuevo sitio web en IIS 7, debe asignar al sitio web un nombre de sitio y una ruta de acceso física. También hay una serie de valores de configuración opcionales que puede establecer. Si tiene previsto seguir usando el sitio web predeterminado en el servidor IIS 7, debe modificar la información de enlace del nuevo sitio. Para ello, cambie el puerto o escriba un nombre de host para el nuevo sitio web.
Procedimiento para crear un sitio web
Abra el Administrador de Internet Information Services (IIS):
Si usa Windows Server 2012 o Windows Server 2012 R2:
- En la barra de tareas, haga clic en Administrador del servidor, en Herramientas y, después, en Administrador de Internet Information Services (IIS).
Si usa Windows 8 o Windows 8.1:
- Mantenga presionada la tecla Windows, presione la letra X y haga clic en Panel de control.
- Haga clic en Herramientas administrativas y, después, haga doble clic en Administrador de Internet Information Services (IIS).
Si usa Windows Server 2008 o Windows Server 2008 R2:
- En la barra de tareas, haga clic en Inicio, seleccione Herramientas administrativas y, después, haga clic en Administrador de Internet Information Services (IIS).
Si usa Windows Vista o Windows 7:
- En la barra de tareas, haga clic en Inicio y luego en Panel de control.
- Haga doble clic en Herramientas administrativas y después en Administrador de Internet Information Services (IIS).
En el panel Conexiones, expanda el nombre del servidor y, después, haga clic en Sitios.
En el panel Acciones, haga clic en Agregar sitio web
En el cuadro de diálogo Agregar sitio web, como mínimo, escriba información en los cuadros de texto Nombre del sitio y Ruta de acceso física, y elija si quiere escribir información en el cuadro de texto Nombre de host o cambiar el número en el cuadro Puerto.
En el Administrador de IIS, haga clic en el botón Actualizar para comprobar que el sitio se ha iniciado.
Procedimiento para habilitar o deshabilitar la autenticación anónima para un sitio FTP
Abra el Administrador de Internet Information Services (IIS):
Si usa Windows Server 2012 o Windows Server 2012 R2:
- En la barra de tareas, haga clic en Administrador del servidor, en Herramientas y, después, en Administrador de Internet Information Services (IIS).
Si usa Windows 8 o Windows 8.1:
- Mantenga presionada la tecla Windows, presione la letra X y haga clic en Panel de control.
- Haga clic en Herramientas administrativas y, después, haga doble clic en Administrador de Internet Information Services (IIS).
Si usa Windows Server 2008 o Windows Server 2008 R2:
- En la barra de tareas, haga clic en Inicio, seleccione Herramientas administrativas y, después, haga clic en Administrador de Internet Information Services (IIS).
Si usa Windows Vista o Windows 7:
- En la barra de tareas, haga clic en Inicio y luego en Panel de control.
- Haga doble clic en Herramientas administrativas y después en Administrador de Internet Information Services (IIS).
En el panel Conexiones, expanda el nombre del servidor, expanda el nodo Sitios y, después, haga clic en el nombre del sitio.
En el panel Inicio del sitio, haga doble clic en la característica Autenticación FTP.
En la página Autenticación FTP, seleccione Autenticación anónima.
En el panel Acciones, haga clic en Habilitar para habilitar la autenticación anónima, o bien haga clic en Deshabilitar para deshabilitarla.
Procedimiento para usar el Asistente para sitios FTP para crear un sitio FTP con acceso de lectura anónimo
Abra el Administrador de Internet Information Services (IIS):
Si usa Windows Server 2012 o Windows Server 2012 R2:
- En la barra de tareas, haga clic en Administrador del servidor, en Herramientas y, después, en Administrador de Internet Information Services (IIS).
Si usa Windows 8 o Windows 8.1:
- Mantenga presionada la tecla Windows, presione la letra X y haga clic en Panel de control.
- Haga clic en Herramientas administrativas y, después, haga doble clic en Administrador de Internet Information Services (IIS).
Si usa Windows Server 2008 o Windows Server 2008 R2:
- En la barra de tareas, haga clic en Inicio, seleccione Herramientas administrativas y, después, haga clic en Administrador de Internet Information Services (IIS).
Si usa Windows Vista o Windows 7:
- En la barra de tareas, haga clic en Inicio y luego en Panel de control.
- Haga doble clic en Herramientas administrativas y después en Administrador de Internet Information Services (IIS).
En el panel Conexiones, haga clic en el nodo Sitios del árbol.
Haga clic con el botón derecho en el nodo Sitios del árbol y haga clic en Agregar sitio FTP, o bien en Agregar sitio FTP en el panel Acciones.
Cuando aparezca el asistente para agregar un sitio FTP:
Escriba "Mi nuevo sitio FTP" en el cuadro Nombre del sitio FTP.
En el cuadro Ruta de acceso física, puede usar una de las siguientes opciones para especificar el directorio de contenido:
- Haga clic en el botón de puntos suspensivos (...) y, después, vaya a la carpeta que contiene el contenido del sitio FTP.
- Escriba la ruta de acceso a la carpeta de contenido en el cuadro. Tenga en cuenta que si decide escribir la ruta de acceso, puede usar variables de entorno en las rutas de acceso. Por ejemplo, puede usar "%SystemDrive%\inetpub\ftproot" para el directorio de contenido.
Cuando haya completado estos elementos, haga clic en Siguiente.
En la segunda página del Asistente para agregar sitio FTP:
Elija una dirección IP para el sitio FTP en la lista desplegable Dirección IP, o bien acepte la selección predeterminada de "Todo sin asignar".
Escriba el puerto TCP/IP para el sitio FTP en el cuadro Puerto. De manera predeterminada, los clientes y sitios FTP usan el puerto 21. (Nota: Para especificar FTPS implícito, debe usar el puerto 990).
Para usar un nombre de host virtual FTP, seleccione el cuadro Habilitar nombres de host virtuales y, después, escriba el nombre de host virtual en el cuadro Host virtual.
Para las opciones SSL, elija una de las opciones siguientes:
- Seleccione Sin SSL para deshabilitar las opciones de SSL.
- Seleccione Permitir SSL para permitir que los clientes FTP usen FTP opcionalmente cuando se conecten con el servidor FTP.
- Seleccione Exigir SSL para permitir que los clientes FTP siempre usen FTP por SSL cuando se conecten con el servidor FTP.
- Si elige Permitir SSL o Exigir SSL, elija un certificado en el menú desplegable Certificado SSL.
Cuando haya completado estos elementos, haga clic en Siguiente.
En la página siguiente del asistente:
Configuración
Puede configurar el elemento <site>
en el nivel de servidor en el archivo ApplicationHost.config.
Atributos
Atributo | Descripción |
---|---|
id |
Atributo uint opcional. Especifica el identificador numérico aleatorio asignado por IIS cuando se crea el sitio. El sitio web predeterminado tiene el número 1. Otros sitios web tienen números aleatorios compuestos de varios dígitos. |
name |
Atributo de cadena opcional. Especifica un nombre descriptivo que identifica de forma única un sitio web, por ejemplo, "Contoso HR Forms". |
serverAutoStart |
Atributo Boolean opcional. Especifica si el sitio se debe iniciar automáticamente cuando se inicia el servicio de administración. El valor predeterminado es true . |
Elementos secundarios
Elemento | Descripción |
---|---|
application |
Elemento opcional. Especifica una colección de valores de configuración para las aplicaciones del sitio. |
applicationDefaults |
Elemento opcional. Especifica valores predeterminados para todas las aplicaciones del sitio primario. |
bindings |
Elemento opcional. Especifica los enlaces para acceder al sitio. |
ftpServer |
Elemento opcional. Especifica valores FTP para el sitio. Nota: Para esto es necesario instalar FTP 7.0 o FTP 7.5. |
limits |
Elemento opcional. Configura valores para limitar la cantidad de ancho de banda, el número de conexiones o la cantidad de tiempo permitido para las conexiones a un sitio. |
logFile |
Elemento opcional. Configura valores para controlar y almacenar archivos de registro para el sitio. |
traceFailedRequestsLogging |
Elemento opcional. Especifica valores para registrar seguimientos de solicitudes con error para el sitio. |
virtualDirectoryDefaults |
Elemento opcional. Especifica valores predeterminados para todos los directorios virtuales del servidor. |
Ejemplo de configuración
En el ejemplo de configuración siguiente se muestra un elemento <site>
en el archivo ApplicationHost.config. El atributo name define el nombre del sitio como Contoso y el atributo id define el identificador específico de IIS como 2. El atributo physicalPath del elemento <virtualDirectory>
define la ubicación física del contenido del nuevo sitio. El atributo protocol del elemento <binding>
define el protocolo que usará el sitio y el atributo bindingInformation define www.contoso.com
como el encabezado host que usa el nuevo sitio web.
<site name="Contoso" id="2">
<application path="/">
<virtualDirectory path="/" physicalPath="C:\inetpub\Contoso" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:80:www.contoso.com" />
</bindings>
</site>
Código de ejemplo
En los ejemplos siguientes se crea un sitio web denominado Contoso con un id. de 2 y se establece un enlace para el protocolo HTTP mediante el puerto 80 con un encabezado host de "www.contoso.com". La ruta de acceso física del nuevo sitio web es 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
Nota:
Debe asegurarse de establecer el parámetrocommit en apphost
cuando use AppCmd.exe para configurar estos valores. Esto confirma los valores de configuración en la sección de ubicación adecuada del archivo 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()