Compartir a través de


WebDAV <webdav>

Información general

El elemento <webdav> contiene las opciones que configuran Sistema distribuido de creación y control de versiones web (WebDAV) para Internet Information Services (IIS) 7. WebDAV es un estándar abierto basado en Internet que permite editar sitios web a través de conexiones HTTP y HTTPS. WebDAV ofrece varias ventajas sobre el protocolo de transferencia de archivos (FTP), las más notables son más opciones de seguridad y la posibilidad de usar un único puerto TCP para toda la comunicación.

Compatibilidad

Versión Notas
IIS 10.0 El elemento <webdav> no se modificó en IIS 10.0.
IIS 8.5 El elemento <webdav> no se modificó en IIS 8.5.
IIS 8.0 El elemento <webdav> no se modificó en IIS 8.0.
IIS 7.5 El elemento <webdav> se incluye como una característica de IIS 7.5.
IIS 7.0 El elemento <webdav> se introdujo en WebDAV 7.0, que era una descarga independiente para IIS 7.0.
IIS 6,0 N/D

Nota:

Los módulos WebDAV 7.0 y WebDAV 7.5 publicados fuera de banda para IIS 7.0, que requerían descargar e instalar los módulos desde la siguiente dirección URL:

https://www.iis.net/expand/WebDAV

Con Windows 7 y Windows Server 2008 R2, el módulo WebDAV 7.5 se incluye como una característica para IIS 7.5, por lo que la descarga de WebDAV ya no es necesaria.

Configuración

Para admitir la publicación de WebDAV para el servidor web, debe instalar el módulo WebDAV. Para ello, siga estos pasos.

Windows Server 2012 o Windows Server 2012 R2

  1. En la barra de tareas, haga clic en Administrador del servidor.
  2. En Administrador del servidor, haga clic en el menú Administrar y, después, haga clic en Agregar roles y características.
  3. En el asistente para Agregar roles y características, haga clic en Siguiente. Seleccione el tipo de instalación y haga clic en Siguiente. Seleccione el servidor de destino y haga clic en Siguiente.
  4. En la página Roles de servidor, expanda Servidor web (IIS), expanda Servidor web, expanda Características HTTP comunes y después seleccione Publicación de WebDAV. Haga clic en Next.
    Screenshot of the Server Roles page with the WebDAV option being highlighted.
  5. En la página Seleccionar características, haz clic en Siguiente.
  6. En la página Confirmar selecciones de instalación, haga clic en Instalar.
  7. En la página Resultados , haga clic en Cerrar.

Windows 8 o Windows 8.1

  1. En la pantalla Inicio, mueva el puntero hasta la esquina inferior izquierda, haga clic con el botón derecho en el botón Inicio y, a continuación, haga clic en Panel de control.
  2. En Panel de control, haga clic en Programas y características y después en Activar o desactivar las características de Windows.
  3. Expanda Internet Information Services, expanda World Wide Web Services, expanda Características HTTP comunes, y después seleccione Publicación de WebDAV.
    Screenshot of the Windows Features dialog box with a focus on the WebDAV Publishing folder within the Internet Information Services folder.
  4. Haga clic en OK.
  5. Haga clic en Cerrar.

Windows Server 2008 R2

  1. En la barra de tareas, haga clic en Inicio, seleccione Herramientas administrativas y, luego, haga clic en Administrador del servidor.
  2. En el panel de jerarquía del Administrador del servidor, expanda Roles y, luego, haga clic en Servidor web (IIS).
  3. En el panel Servidor web (IIS), desplácese hasta la sección Servicios de rol y, luego, haga clic en Agregar servicios de rol.
  4. En la página Seleccionar servicios de rol del Asistente para agregar servicios de rol, expanda Características HTTP comunes, seleccione Publicación de WebDAV y después haga clic en Siguiente.
    Screenshot of the Add Role Services Wizard with a focus on the WebDAV Publishing option.
  5. En la página Confirmar selecciones de instalación, haz clic en Instalar.
  6. En la página Resultados , haga clic en Cerrar.

Windows 7

  1. En la barra de tareas, haga clic en Inicio y, luego, haga clic en Panel de control.
  2. En Panel de control, haga clic en Programas y características y después en Activar o desactivar las características de Windows.
  3. Expanda Internet Information Services, después World Wide Web Services y, a continuación, Características HTTP comunes.
  4. Seleccione Publicación de WebDAV y haga clic en Aceptar.
    Screenshot of the Turn Windows features on or off wizard with a focus on the WebDAV Publishing folder within the World Wide Web Services and Common H T T P folders.

Windows Server 2008 o Windows Vista

Procedimientos

Habilitación de la publicación de WebDAV

  1. 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, a continuación, 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.
      • En Panel de control, haga clic en Herramientas administrativas y, a continuación, 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, a continuación, 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, haga clic en Panel de control.
      • Haga doble clic en Herramientas administrativas y, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
  2. En el panel Conexiones, expanda el nombre del servidor y después vaya al sitio, aplicación o directorio donde quiere habilitar la publicación de WebDAV.

  3. En el panel Inicio, haga doble clic en Reglas de creación de WebDAV.
    Screenshot of the I I S Manager's Home pane with a focus on the WebDAV Authoring Rules application shortcut.

  4. En el panel Acciones, haga clic en Habilitar WebDAV.
    Screenshot of the I I S Manager screen's Actions pane with a focus on the Enable WebDAV option.

Nota:

Una vez que haya habilitado la publicación de WebDAV, tendrá que agregar reglas de creación antes de que los usuarios o grupos puedan publicar contenido en su servidor. Para más información sobre cómo crear reglas de creación, consulte el tema authoringRules.


Adición de reglas de creación de WebDAV

  1. 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, a continuación, 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.
      • En Panel de control, haga clic en Herramientas administrativas y, a continuación, 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, a continuación, 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, haga clic en Panel de control.
      • Haga doble clic en Herramientas administrativas y, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
  2. En el panel Conexiones, expanda el nombre del servidor y vaya al sitio, la aplicación o el directorio donde desea habilitar la exploración de directorios.

  3. En el panel Inicio, haga doble clic en Reglas de creación de WebDAV.
    Screenshot of the Default Web Site Home screen's Home pane with a focus on the WebDAV Authoring Rules shortcut.

  4. En el panel Acciones, haga clic en Agregar regla de creación....
    Screenshot of the WebDav Authoring Rules screen's Actions pane with a focus on the Add Authoring Rule option.

  5. En el cuadro de diálogo Agregar regla de creación, especifique las siguientes opciones:

    • Permitir acceso a: especifique si la regla de creación debe aplicarse a todos los tipos de contenido o especifique tipos de contenido específicos que se van a permitir.
    • Permitir el acceso a este contenido a: especifique si la regla de creación debe aplicarse a todos los usuarios, a grupos o roles específicos o a usuarios específicos.
    • Permisos: especifique si la regla de creación debe permitir el acceso de Lectura, Escritura u Origen para los tipos de contenido y usuarios especificados.
      Screenshot of the Add Authoring Rule dialog box.
  6. Haga clic en OK.

Configuración

El elemento <webdav> se puede configurar en el nivel global, de sitio y de directorio en el archivo ApplicationHost.config. Se omite la configuración de WebDAV en los archivos Web.config.

Atributos

Ninguno.

Elementos secundarios

Elemento Descripción
authoring Elemento opcional.

Especifica los valores de configuración para la creación de WebDAV.
authoringRules Elemento opcional.

Especifica las reglas de creación para la publicación de WebDAV. Estas reglas especifican los tipos de contenido y los permisos de creación para usuarios o grupos.
globalSettings Elemento opcional. Especifica la configuración global del módulo WebDAV.

Ejemplo de configuración

En el ejemplo siguiente se muestra un elemento de ejemplo <webdav> para el sitio web predeterminado. En este ejemplo se borran las reglas de creación existentes, se agrega una sola regla para el grupo de administradores, se habilita la creación de WebDAV, se especifica que se permiten archivos ocultos, se habilitan los bloqueos de WebDAV, se especifica el proveedor de bloqueos, se habilitan las propiedades de WebDAV y se especifica el espacio de nombres XML predeterminado para la asignación de propiedades.

<location path="Default Web Site">
   <system.webServer>
      <webdav>
         <authoringRules defaultAccess="none" allowNonMimeMapFiles="true" defaultMimeType="text/plain">
            <clear />
            <add roles="administrators" path="*" access="Read, Write, Source" />
         </authoringRules>
         <authoring enabled="true" requireSsl="false">
            <fileSystem allowHiddenFiles="true" />
            <locks enabled="true" lockStore="webdav_simple_lock" requireLockForWriting="false" />
            <properties allowAnonymousPropfind="false" allowInfinitePropfindDepth="false" allowCustomProperties="true">
               <clear />
               <add xmlNamespace="*" propertyStore="webdav_simple_prop" />
            </properties>
         </authoring>
      </webdav>
   </system.webServer>
</location>

En el ejemplo siguiente se muestra un elemento de ejemplo <globalSettings> para un servidor de WebDAV. En este ejemplo se definen los proveedores sencillos integrados para bloqueos y propiedades, y se habilitan los bloqueos de WebDAV para el servidor.

<system.webServer>
      <webdav>
         <globalSettings>
            <propertyStores>
               <add name="webdav_simple_prop" image="%windir%\system32\inetsrv\webdav_simple_prop.dll" />
            </propertyStores>
            <lockStores>
               <add name="webdav_simple_lock" image="%windir%\system32\inetsrv\webdav_simple_lock.dll" />
            </lockStores>
         </globalSettings>
         <authoring>
            <locks enabled="true" lockStore="webdav_simple_lock" />
         </authoring>
      </webdav>
   </system.webServer>

Código de ejemplo

En los ejemplos siguientes se habilita la creación de WebDAV para el sitio web predeterminado y se configura el sitio para que SSL no sea necesario para la creación de WebDAV.

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.webServer/webdav/authoring /enabled:"True" /requireSsl:"False"  /commit:apphost

Nota:

Debe asegurarse de establecer el parámetro de confirmación en apphost cuando use AppCmd.exe para configurar estas opciones. 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 authoringSection = config.GetSection("system.webServer/webdav/authoring", "Default Web Site");
         authoringSection["enabled"] = true;
         authoringSection["requireSsl"] = false;

         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 authoringSection As ConfigurationSection = config.GetSection("system.webServer/webdav/authoring", "Default Web Site")
      authoringSection("enabled") = True
      authoringSection("requireSsl") = False

      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";

var authoringSection = adminManager.GetAdminSection("system.webServer/webdav/authoring", "MACHINE/WEBROOT/APPHOST/Default Web Site");
authoringSection.Properties.Item("enabled").Value = true;
authoringSection.Properties.Item("requireSsl").Value = false;

adminManager.CommitChanges();

VBScript

Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"

Set authoringSection = adminManager.GetAdminSection("system.webServer/webdav/authoring", "MACHINE/WEBROOT/APPHOST/Default Web Site")
authoringSection.Properties.Item("enabled").Value = True
authoringSection.Properties.Item("requireSsl").Value = False

adminManager.CommitChanges()

En los ejemplos siguientes se configuran reglas de creación de WebDAV para que los clientes de WebDAV puedan publicar archivos que no aparecen en la asignación de MIME de IIS y agregar una sola regla de creación que conceda acceso de lectura, escritura y origen al grupo de administradores.

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.webServer/webdav/authoringRules /allowNonMimeMapFiles:"True" /commit:apphost

appcmd.exe set config "Default Web Site" -section:system.webServer/webdav/authoringRules /+"[roles='administrators',path='*',access='Read, Write, Source']" /commit:apphost

Nota:

Debe asegurarse de establecer el parámetro de confirmación en apphost cuando use AppCmd.exe para configurar estas opciones. 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 authoringRulesSection = config.GetSection("system.webServer/webdav/authoringRules", "Default Web Site");
         authoringRulesSection["allowNonMimeMapFiles"] = true;

         ConfigurationElementCollection authoringRulesCollection = authoringRulesSection.GetCollection();

         ConfigurationElement addElement = authoringRulesCollection.CreateElement("add");
         addElement["roles"] = @"administrators";
         addElement["path"] = @"*";
         addElement["access"] = @"Read, Write, Source";
         authoringRulesCollection.Add(addElement);

         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 authoringRulesSection As ConfigurationSection = config.GetSection("system.webServer/webdav/authoringRules", "Default Web Site")
      authoringRulesSection("allowNonMimeMapFiles") = True

      Dim authoringRulesCollection As ConfigurationElementCollection = authoringRulesSection.GetCollection

      Dim addElement As ConfigurationElement = authoringRulesCollection.CreateElement("add")
      addElement("roles") = "administrators"
      addElement("path") = "*"
      addElement("access") = "Read, Write, Source"
      authoringRulesCollection.Add(addElement)

      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";

var authoringRulesSection = adminManager.GetAdminSection("system.webServer/webdav/authoringRules", "MACHINE/WEBROOT/APPHOST/Default Web Site");
authoringRulesSection.Properties.Item("allowNonMimeMapFiles").Value = true;

var authoringRulesCollection = authoringRulesSection.Collection;

var addElement = authoringRulesCollection.CreateNewElement("add");
addElement.Properties.Item("roles").Value = "administrators";
addElement.Properties.Item("path").Value = "*";
addElement.Properties.Item("access").Value = "Read, Write, Source";
authoringRulesCollection.AddElement(addElement);

adminManager.CommitChanges();

VBScript

Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"

Set authoringRulesSection = adminManager.GetAdminSection("system.webServer/webdav/authoringRules", "MACHINE/WEBROOT/APPHOST/Default Web Site")
authoringRulesSection.Properties.Item("allowNonMimeMapFiles").Value = True

Set authoringRulesCollection = authoringRulesSection.Collection

Set addElement = authoringRulesCollection.CreateNewElement("add")
addElement.Properties.Item("roles").Value = "administrators"
addElement.Properties.Item("path").Value = "*"
addElement.Properties.Item("access").Value = "Read, Write, Source"
authoringRulesCollection.AddElement(addElement)

adminManager.CommitChanges()