Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Introduzione
Microsoft ha rilasciato un nuovo modulo di estensione WebDAV completamente riscritto per Internet Information Services 7.0 (IIS 7.0) in Windows Server® 2008. Questo nuovo modulo di estensione WebDAV ha incorporato molte nuove funzionalità che consentono agli autori Web di pubblicare contenuto meglio di prima e offre agli amministratori Web più opzioni di sicurezza e configurazione. Microsoft ha rilasciato un aggiornamento del modulo di estensione WebDAV per Windows Server® 2008 che fornisce il supporto di blocchi condivisi ed esclusivi per evitare la perdita di aggiornamenti a causa di sovrascrizioni.
Questo documento illustra come usare la nuova utilità AppCmd.exe in IIS 7.0 per configurare le impostazioni WebDAV da una riga di comando o da uno script batch.
Prerequisiti
Per completare le procedure descritte in questo articolo sono necessari gli elementi seguenti:
IIS 7.0 deve essere installato nel server e deve essere configurato quanto segue:
- Il sito Web predefinito creato dall'installazione di IIS 7.0 deve ancora esistere.
È necessario installare il nuovo modulo di estensione WebDAV. Per informazioni sull'installazione del nuovo modulo WebDAV, vedere il documento seguente:
Annotazioni
È necessario assicurarsi di seguire la procedura descritta in questo documento usando le autorizzazioni amministrative complete. Questa operazione viene eseguita al meglio usando uno dei due metodi seguenti:
- Accedere al computer usando l'account "amministratore" locale.
- Se si è connessi utilizzando un account con autorizzazioni amministrative diverso dall'account "amministratore" locale, aprire Gestione IIS e tutte le sessioni del prompt dei comandi usando l'opzione "Esegui come amministratore".
La condizione precedente è necessaria perché il componente di sicurezza Controllo account utente in Windows Server 2008 impedirà l'accesso amministrativo alle impostazioni di configurazione di IIS 7.0. Per ulteriori informazioni sul Controllo dell'Account Utente (UAC), vedere la documentazione di seguito:
Annotazioni
Le impostazioni di filtro delle richieste possono bloccare diversi tipi di file dall'autorizzazione WebDAV per impostazione predefinita. Quando si configura WebDAV tramite l'interfaccia utente di Gestione IIS, le impostazioni di filtro delle richieste vengono aggiornate automaticamente per sbloccare la creazione di WebDAV. Tuttavia, se si sceglie di configurare WebDAV in qualsiasi modo diverso dall'uso dell'interfaccia utente di Gestione IIS, vedere la procedura dettagliata Come configurare WebDAV con filtro richieste .
Concetti di base di AppCmd
AppCmd.exe è un nuovo strumento da riga di comando per l'amministrazione di IIS 7.0. In molti modi, considerarlo come una sostituzione dello script adsutil.vbs delle versioni precedenti di IIS. AppCmd.exe supporta un'ampia gamma di opzioni di comando per vari oggetti, rendendola facilmente scriptabile nei file batch per configurare una miriade di impostazioni IIS. Nota: l'utilità AppCmd.exe si trova in %WinDir%\System32\InetSrv folder.)
La sintassi generale per AppCmd.exe è:
AppCmd (command) (object-type) <identifier> </parameter1:value1 ...>
AppCmd.exe offre anche un ampio supporto per l’aiuto della riga di comando, accessibile usando uno dei metodi seguenti:
AppCmd /?
AppCmd (object) /?
AppCmd (command) (object) /?
L'elenco dei comandi dipende dall'oggetto e sono supportati gli oggetti seguenti:
| oggetto | Descrizione |
|---|---|
| SITO | Amministrazione dei siti virtuali |
| app | Amministrazione delle applicazioni |
| VDIR | Amministrazione delle directory virtuali |
| APPPOOL | Amministrazione dei pool di applicazioni |
| CONFIGURAZIONE | Amministrazione delle sezioni generali di configurazione |
| WP | Amministrazione dei processi di lavoro |
| RICHIESTA | Amministrazione delle richieste HTTP |
| MODULE | Amministrazione dei moduli server |
| BACKUP | Amministrazione dei backup di configurazione del server |
| TRACE | Utilizzo dei log di traccia delle richieste non riuscite |
Ad esempio, è possibile elencare i siti Web configurati nel server usando l'oggetto SITE con la sintassi seguente:
AppCmd list site
Analogamente, è possibile elencare i pool di applicazioni configurati nel server usando l'oggetto APPPOOL con la sintassi seguente:
AppCmd list apppool
AppCmd può essere usato anche per impostare i valori per varie impostazioni di configurazione usando l'oggetto SITE ed è possibile usare il comando seguente per elencare le impostazioni disponibili per il sito Web predefinito usando la sintassi seguente:
AppCmd set site "Default Web Site" /?
Per elencare le impostazioni di configurazione per un percorso specifico, usare l'oggetto CONFIG come nell'esempio seguente:
AppCmd list config "Default Web Site/" /section:system.webServer/security/authentication/windowsAuthentication
L'oggetto CONFIG può essere usato anche per impostare le impostazioni di configurazione, come illustrato nell'esempio seguente:
AppCmd set config "Default Web Site/" /section:system.webServer/security/authentication/windowsAuthentication /enabled:true
È anche possibile controllare dove AppCmd scriverà le impostazioni specificate usando il parametro della riga di comando "/commit:". Ad esempio, più avanti in questo documento verrà esaminato il comando seguente che abilita WebDAV nel sito Web predefinito:
AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /enabled:true /commit:apphost
Annotazioni
Questo comando abilita WebDAV per il sito Web predefinito e scrive tale impostazione nel file ApplicationHost.config.
AppCmd è un'utilità estremamente potente e realisticamente parlando che c'è troppo da coprire in uno spazio così breve, quindi per altre informazioni su come acquisire familiarità con AppCmd.exe, vedere l'articolo seguente sul sito Web IIS.NET:
Detto ciò, passiamo alla configurazione di WebDAV sul tuo server.
Introduzione a WebDAV
WebDAV installa un'estensione allo schema predefinito per le impostazioni iis, che rende AppCmd funziona con WebDAV senza apportare modifiche speciali. Il nuovo modulo WebDAV archivia tutte le impostazioni configurabili nel file ApplicationHost.config e usa le sezioni seguenti:
- system.webServer/webdav/authoring
- system.webServer/webdav/authoringRules
Le impostazioni di "authoring" sono configurabili solo nella root di un sito Web, mentre le impostazioni "authoringRules" possono essere configurate per URL. Per vedere quali impostazioni sono state configurate per ognuna di queste sezioni per un determinato percorso, è possibile usare AppCmd come illustrato negli esempi seguenti:
AppCmd list config "Default Web Site/" /section:system.webServer/webdav/authoring
AppCmd list config "Default Web Site/" /section:system.webServer/webdav/authoringRules
Abilitazione o disabilitazione di WebDAV per un sito Web
Comprensibilmente, il comando più semplice e utile per WebDAV è l'abilitazione o la disabilitazione di WebDAV per un sito. La sintassi per abilitare WebDAV un sito Web segue l'esempio seguente:
AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /enabled:true /commit:apphost
In questo esempio, l'attributo "enabled" viene impostato su "true" per la sezione "authoring" di WebDAV nel sito Web predefinito, e viene forzata la scrittura di questa modifica nel file ApplicationHost.config. Viceversa, è possibile disabilitare WebDAV impostando lo stesso valore su "false" come illustrato nell'esempio seguente:
AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /enabled:false /commit:apphost
Richiesta di SSL per la creazione webDAV per un sito Web
Per proteggere le informazioni che è possibile trasferire, WebDAV può essere configurato per richiedere SSL per tutte le operazioni. A tale scopo, impostare l'attributo "requireSsl" su "true" per la sezione "creazione" webDAV usando una sintassi simile alla seguente:
AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /requireSsl:true /commit:apphost
Questa funzionalità può essere disabilitata impostando l'attributo "requireSsl" su "false" usando una sintassi simile alla seguente:
AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /requireSsl:false /commit:apphost
Consentire l'accesso ai file nascosti per un sito Web
Per motivi di sicurezza, è possibile eliminare se i file contrassegnati come nascosti nel server verranno restituiti negli elenchi di file. A tale scopo, impostare l'attributo "allowHiddenFiles" su "true" nell'elemento "fileSystem" nella sezione "creazione" usando una sintassi simile alla seguente:
AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /fileSystem.allowHiddenFiles:true /commit:apphost
Per disabilitare l'elenco dei file nascosti, impostare l'attributo "allowHiddenFiles" su "false" usando la sintassi simile alla seguente:
AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /fileSystem.allowHiddenFiles:false /commit:apphost
Configurazione delle impostazioni di compatibilità WebDAV per un sito Web
Per essere compatibile con le versioni precedenti di WebDAV per IIS, alcune funzionalità facoltative vengono esposte tramite le impostazioni di compatibilità. Attualmente l'elenco delle opzioni è il seguente:
| Impostazione di compatibilità | Descrizione |
|---|---|
| Nessuno | Specifica che non devono essere supportate funzionalità di compatibilità. |
| MsAuthorVia | Specifica che l'intestazione "MS-Author-Via" deve essere restituita. Nota: diversi strumenti di creazione Web di Microsoft usano questa intestazione. |
| MultiProp | Specifica che nelle richieste client possono essere consentite più istruzioni <prop>. |
| CompactXml | Definisce se il codice XML restituito dal modulo WebDAV terminerà ogni riga con una sequenza CRLF. |
| ÈNascosto | Specifica che la proprietà pseudo-live IsHidden deve essere supportata. |
| IsCollection | Specifica che la proprietà pseudo-live IsCollection deve essere supportata. |
Per impostare una di queste funzionalità, è necessario impostare il valore dell'attributo "compatFlags" nella sezione "creazione" usando una sintassi simile alla seguente:
AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /compatFlags:"MsAuthorVia,CompactXml" /commit:apphost
Si noti che le impostazioni di compatibilità vengono specificate come set di flag delimitati da virgole.
Utilizzo delle regole di creazione WebDAV
Il nuovo modulo WebDAV usa regole di creazione, che consentono di configurare il modo in cui WebDAV risponde alla richiesta di creazione dai client. Ad esempio, il sito Web potrebbe avere accesso anonimo abilitato per gli utenti Internet, ma l'accesso alla creazione Web deve essere limitato a un determinato set di utenti. Usando le regole di creazione, è possibile configurare gli utenti che hanno accesso alle varie parti del contenuto del sito Web.
Configurazione delle impostazioni predefinite della regola di creazione
Specifica se sono consentiti file non mappati MIME
Per motivi di sicurezza, IIS non consente l'accesso ai file non elencati nella mappa MIME per impostazione predefinita. Tenendo presente questo aspetto, gli autori Web potrebbero dover usare determinati tipi di file in un server che non sono elencati nella mappa MIME. (ad esempio: includere file, file di dati e così via) Per abilitare l'accesso ai file mappati non MIME, è necessario impostare l'attributo "allowNonMimeMapFiles" su "true" nella sezione "authoringRules". L'esempio di sintassi seguente illustra come viene eseguita questa operazione:
AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /allowNonMimeMapFiles:true /commit:apphost
Questa funzionalità può essere disabilitata impostando l'attributo "allowNonMimeMapFiles" su "false" usando una sintassi simile alla seguente:
AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /allowNonMimeMapFiles:false /commit:apphost
Specificare il tipo MIME predefinito
Quando si utilizzano tipi di file non inclusi nell'elenco MIME, IIS deve comunque restituire un tipo MIME ai client. Per impostazione predefinita, questa opzione è impostata su "application/octet-stream", il che significa che il file deve essere considerato come un file binario non elaborato indipendentemente dal tipo di contenuto. Per impostare il tipo MIME predefinito per i file non mappati mime a un tipo di file di testo, è possibile usare la sintassi seguente:
AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /defaultMimeType:"text/plain" /commit:apphost
Per reimpostare il tipo MIME predefinito, usare la sintassi seguente:
AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /defaultMimeType:"application/octet-stream" /commit:apphost
Gestione delle regole di authoring
Le regole di creazione vengono mantenute in una raccolta e ogni regola può contenere gli attributi seguenti:
| Attribute | Descrizione |
|---|---|
| percorso | Specifica il tipo di contenuto per la regola. (Vedere di seguito) |
| users | Specifica il nome utente per la regola. (Vedere di seguito) |
| roles | Specifica un gruppo/ruolo per la regola. |
| accesso | Specifica il tipo di accesso per la regola. (Vedere di seguito) |
Notes:
L'attributo "path" viene usato per specificare il tipo di contenuto per la regola di creazione. Può trattarsi di tipi di contenuto specifici, ad esempio "*.aspx", "*.htm" e così via, oppure è possibile usare "*" per indicare che la regola di creazione è per tutto il contenuto.
Gli attributi "ruoli" e "utenti" devono essere dichiarati esclusivi tra loro. Ciò significa che una regola di creazione dovrebbe essere applicata agli "utenti" o ai "ruoli", ma non ad entrambi.
Vengono definiti i valori speciali seguenti per l'attributo "users":
Valore Descrizione * Tutti gli utenti ? Utenti anonimi Annotazioni
Gli utenti anonimi non possono leggere/scrivere contenuto; questa impostazione viene usata per limitare i tipi di file per le query di proprietà anonime.
Per i tipi di accesso sono definiti i valori seguenti:
Valore Descrizione Nessuno Specifica che l'accesso non è consentito per il tipo di contenuto Leggere Specifica l'accesso in lettura per il tipo di contenuto Scrivi Specifica l'accesso in scrittura per il tipo di contenuto Fonte Specifica l'accesso al codice sorgente per il tipo di contenuto
Aggiunta di una regola di creazione
Per aggiungere una regola di creazione per un percorso, è possibile usare una sintassi simile agli esempi seguenti:
AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /+[users='administrator',path='*',access='Read,Write,Source'] /commit:apphost
AppCmd set config "Default Web Site/mypath" /section:system.webServer/webdav/authoringRules /+[roles='Authors',path='*.aspx',access='Read,Write,Source'] /commit:apphost
Modifica di una regola di creazione
Dopo aver aggiunto una regola di creazione, è possibile modificare tale regola usando una sintassi simile alla seguente:
AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /[users='administrator',path='*'].access:"None" /commit:apphost
Rimozione di una regola di creazione
È possibile rimuovere una regola di creazione specificando semplicemente il nome utente o il nome del ruolo usando una sintassi simile alla seguente:
AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /-[users='administrator'] /commit:apphost
Annotazioni
Se per tale utente esistono più regole di creazione, il comando precedente rimuoverà solo la prima regola di creazione nell'elenco e sarà necessario ripetere il comando per rimuovere le regole successive per tale utente.
In alternativa, è possibile specificare sia l'utente che il nome del ruolo e il tipo di contenuto come nell'esempio seguente:
AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /-[users='administrator',path='*'] /commit:apphost
Sommario
Questo documento illustra come eseguire le operazioni seguenti:
Altre informazioni
Per altre informazioni sull'uso di WebDAV, vedere gli articoli seguenti:
Annotazioni
Come accennato in precedenza, le impostazioni di filtro delle richieste predefinite potrebbero bloccare diversi tipi di file nell'autorizzazione WebDAV. Se non si modificano le impostazioni di filtro delle richieste, è possibile che vengano visualizzati vari errori quando si tenta di pubblicare file bloccati. Ad esempio, se si tenta di caricare o scaricare un file web.config verranno visualizzati errori nel client WebDAV. Per altre informazioni sulla configurazione delle impostazioni di filtro delle richieste, vedere la procedura dettagliata Come configurare WebDAV con filtro richieste .