Condividi tramite


Readme di Distribuzione Web Microsoft v3

di Duro Mittal

Panoramica

Distribuzione Web è uno strumento per semplificare la migrazione, la gestione e la distribuzione di applicazioni Web, siti e server. Può essere usato per creare un pacchetto di un sito Web, includendo automaticamente contenuto, configurazione, certificati e database. Può essere usato per eseguire la sincronizzazione tra IIS 6.0, IIS 7.x e IIS8.0 o per eseguire la migrazione da IIS 6.0, IIS7.x a IIS 7.x e versioni successive. I pacchetti creati possono essere usati per il controllo delle versioni, il backup o la distribuzione.

Funzionalità

La distribuzione Web include queste funzionalità chiave:

Creare pacchetti di siti Web e applicazioni: Gli sviluppatori o gli amministratori possono creare un pacchetto della configurazione e del contenuto delle applicazioni Web installate, inclusi i database SQL, e usare i pacchetti per l'archiviazione o la ridistribuzione. Questi pacchetti possono quindi essere distribuiti usando l'interfaccia gestione IIS senza richiedere privilegi amministrativi in un server remoto.

Delegare le attività di distribuzione a utenti non amministratori. Gli amministratori del server possono scegliere di delegare le attività di distribuzione agli utenti che non sono amministratori. Ad esempio, sia negli ambienti di hosting condiviso che in ambienti aziendali, è possibile delegare la distribuzione del contenuto e contrassegnare una cartella come applicazione. È anche possibile abilitare attività più avanzate adatte a un ambiente dedicato, ad esempio consentire la distribuzione di un certificato, un sito Web o un assembly GAC.

Semplificare la distribuzione per gli amministratori. Gli amministratori del server troveranno utile la delega, poiché la distribuzione di un'applicazione Web, tra cui un assembly GAC, un certificato e un pool di applicazioni può richiedere molto tempo anche con tutte le autorizzazioni necessarie.

Migrazione da IIS 6.0 e IIS7: L'operazione di migrazione consente agli amministratori di eseguire la migrazione di siti o interi server da IIS 6.0 a IIS 7 e versioni successive, DA IIS7 a IIS8, incluse le impostazioni e il contenuto. Una migrazione è essenzialmente un modo per sincronizzare, filtrato in base alle regole di migrazione.

Sincronizzazione di IIS 6.0 / IIS 7/IIS8.0 L'operazione di sincronizzazione consente agli amministratori di sincronizzare rapidamente un sito o un server e distribuire le modifiche a siti e server esistenti. Una sincronizzazione consente di sincronizzare un'origine con una destinazione. Ad esempio, è possibile sincronizzare due percorsi di directory o due server Web. La sincronizzazione può essere eseguita con oggetti locali o remoti.

Snapshot IIS 7.0 e versioni successive La funzionalità snapshot, o archivio, consente agli amministratori o agli sviluppatori di acquisire rapidamente un archivio del sito Web o del server per scopi di rollback, ripristino o backup. La funzionalità snapshot automatico consente anche agli amministratori del sito Web di eseguire in modalità self-service alcune attività precedenti.

Analisi delle dipendenze in IIS 6.0 e versioni successive L'operazione di analisi consente agli amministratori di controllare quali componenti sono installati nel server di origine. In questo modo, possono determinare se le funzionalità sono presenti che saranno necessarie in IIS 7.0 o che richiedono un'installazione più avanzata rispetto alla semplice copia dei file.

Risoluzione dei problemi e convalida. Per convalidare un'operazione, il parametro -whatif consente agli amministratori di visualizzare le azioni eseguite quando eseguono un'operazione. Ciò è particolarmente utile per eseguire la sincronizzazione o la migrazione, quando vogliono convalidare le modifiche che verranno apportate prima di eseguirle. Per la risoluzione dei problemi, il parametro -verbose consente agli amministratori di ottenere dettagli dettagliati sulle operazioni eseguite e, in caso di errore, la possibilità di diagnosticare il problema.

Sincronizzazione differenziale. Lo strumento sincronizza solo gli elementi modificati tra l'origine e la destinazione.

Scripting semplice tramite PowerShell: Le attività comuni di distribuzione Web possono essere automatizzate usando i cmdlet di PowerShell.

Note di installazione

Requisiti

Per installare lo strumento, è necessario soddisfare i prerequisiti seguenti:

· È necessario che sia installato .NET 2.0 SP1 o versione successiva.

Download e installazione

Esistono due pacchetti scaricabili separati per lo strumento; sarà necessario scaricare il pacchetto appropriato. È possibile scaricare le versioni (x86) o (x64).

Problemi importanti risolti in questa versione:

Cambiare: Nelle versioni precedenti di Distribuzione Web il servizio tempAgent verrebbe sempre eseguito sulla porta 80. In Distribuzione Web v3 RC questa porta può essere modificata specificando la nuova porta nell'argomento nomecomputer usando il formato nomecomputer=nomeserver:###, tempagent=true (dove #### è il numero di porta da usare)

Cambiare: È stato risolto un problema relativo alla distribuzione Web per cui i conteggi delle modifiche non erano accurati per le operazioni whatif quando si usa l'opzione -useCheckSum.

Modifica: Distribuzione Web V3 Disabilita automaticamente le impostazioni proxy. Questo è stato in precedenza un problema per alcuni client, che erano necessari per aprire Internet Explorer e disabilitare le impostazioni proxy prima di avviare una sincronizzazione.

Modifica: aggiunta del supporto per le associazioni di tipo IPv6 nella logica di sincronizzazione dei certificati. Le versioni precedenti non sono riuscite a sincronizzare correttamente le associazioni IPv6.

Modifica: quando si sincronizza una chiave del Registro di sistema figlio in un server in cui la chiave del Registro di sistema padre non esiste, le chiavi del Registro di sistema padre fino alla chiave figlio verranno ora create (senza valori) anziché la sincronizzazione non riuscita. Ad esempio, se si sincronizza la chiave del Registro di sistema HKEY_LOCAL_MACHINE\SOFTWARE\MySoft\TestWeb1 in cui la chiave MySoft non esiste nel computer di destinazione, la chiave MySoft verrà creata nel computer di destinazione che consente la sincronizzazione avrà esito positivo.

Cambiare: In alcuni casi la pubblicazione di Distribuzione Web ha rimosso le autorizzazioni ereditate nella cartella radice del sito. Distribuzione Web V3 risolve questo problema.

Problemi noti

Problema: L'aggiornamento di Distribuzione Web v3 interrompe le sincronizzazioni SQLite che utilizzavano Distribuzione Web v2

I file di configurazione predefiniti dell'eseguibile Distribuzione Web v3 (msdeploy.exe.config e msdepsvc.exe.config) sono stati aggiornati da .Net 2.0 a .Net 4.0, che comporta questa interruzione.

Soluzione alternativa:

  • SQLite ha una versione compatibile con .Net 4. La copia di sqlite3.exe da questa versione nella directory "%ProgramFiles%\IIS\Microsoft Web Deploy V3" risolverà il problema.
  • Modificare la versione predefinita di .Net per WebDeploy V3 msdeploy.exe.config in .Net 2.0, come illustrato di seguito
<configuration>
  <startup>
    <supportedRuntime version="v2.0.50727" />
    <supportedRuntime version="v4.0" />
  </startup>
</configuration>

Problema: Il servizio Agente di distribuzione Web non funziona con gli account utente locali che non sono l'account utente Amministratore, ma sono membri del gruppo Administrators. ERROR_USER_NOT_ADMIN viene restituito un errore.

Il servizio Agente remoto accetta le credenziali di amministratore predefinito o amministratore di dominio , tutte le altre credenziali di amministratore non funzioneranno e causeranno questo errore.

Soluzione alternativa:

Usare l'account amministratore predefinito o l'account utente di dominio (parte del gruppo di amministrazione nel computer locale). Il servizio Agente remoto accetta le credenziali predefinite Administrator o Domain Administrator. Se si dispone di una configurazione non di dominio e si vuole usare un account altro amministratore predefinito, eseguire le operazioni seguenti:

  • Creare un gruppo di utenti separato MSDepSvcUsers nel computer remoto.
  • Crate un account locale A in entrambi i computer locali & remoto.
  • Aggiungere A a MSDepSvcUsers nel computer remoto.
  • Usare l'account A per la pubblicazione. In questo modo sarà possibile pubblicare senza dover usare l'account amministratore predefinito.

Problema: Alcune regole di delega del servizio di gestione non funzionano dopo l'aggiornamento della distribuzione Web a Distribuzione Web 3.0

Se un server IIS 7+ usa la configurazione condivisa, alcune regole di delega con identità runAs impostate su SpecificUser smetteranno di funzionare. Ciò è dovuto al fatto che il programma di installazione distribuzione Web e lo script .\AddDelegationRules.ps1 crea account utente del computer locale e li imposta come identità runAs in determinate regole di delega. Questi account utente non verranno riconosciuti in altri computer e pertanto le regole non funzioneranno nella configurazione condivisa.
Soluzioni alternative:

· Se le regole di delega sono già state sovrascritte, ricreare manualmente le regole interessate.

Problema: Impossibile pubblicare nel sito creato con SetupSiteForPublish.ps1 script di PowerShell o configurato per la pubblicazione di Distribuzione Web tramite "Configura per la pubblicazione distribuzione Web..." UI

Lo script di creazione del sito e l'interfaccia utente per configurare Distribuzione Web per un sito esistente imposta l'URL di pubblicazione su https://myserver:8172/msdeploy.axd. Questo nome computer è in genere raggiungibile all'interno di una rete. Tuttavia, spesso non è raggiungibile dall'esterno della rete, quindi deve essere sostituito con un nome DNS pubblico.

Soluzioni alternative:

  • Dallo script: lo script non avvisa di questo errore. Sostituire l'URL con quello corretto (come indicato di seguito) nel file delle impostazioni generate.
  • Nell'interfaccia utente immettere il nome DNS pubblico nel campo "Specificare l'URL per la connessione al server di pubblicazione", ad esempio invece di https://myserver:8172/msdeploy.axd, immettere https://some.publicDnsName.com:8172/msdeploy.axd.

Problema: il pacchetto creato con Distribuzione Web V3 non funziona con WebDeploy V2. Restituisce System.NullReferenceException.

Soluzioni alternative:

  • Aggiornare il computer di destinazione alla distribuzione Web v3
  • Usare Distribuzione Web V2 per creare il pacchetto.

Problema: l'interfaccia utente distribuzione Web in Gestione IIS restituisce un errore "Impossibile eseguire il cast dell'oggetto di tipo"

Se nel computer di destinazione è installato Web Deploy v1.1 e nel computer di origine è installata la versione 2, è possibile che venga visualizzato questo errore. Si tratta di un'incompatibilità tra versioni.

Soluzioni alternative:

  • Aggiornare il computer di origine a Distribuzione Web v2
  • Disinstallare tutte le versioni di Distribuzione Web nel computer di origine

Problema: Se si esegue la sincronizzazione di un computer IIS 6.0 con un numero elevato di siti (causando che la metabase sia superiore a 500 MB), lo strumento potrebbe bloccarsi e smettere di rispondere.
Soluzione alternativa:

Creare un elenco dei siti e sincronizzare ogni sito singolarmente.

Problema: Se si esegue la sincronizzazione da un computer a un computer remoto in cui il contenuto o la configurazione condivisa si trova in un terzo computer separato (ad esempio, UNC), l'agente remoto non sarà in grado di eseguire correttamente l'autenticazione.
Soluzione alternativa:

Sincronizzare manualmente o usare invece il gestore distribuzione Web.

Problema: Se si modificano le impostazioni di configurazione condivise, ad esempio abilitare o disabilitare la configurazione condivisa, sarà necessario riavviare l'agente remoto in un secondo momento.
Soluzione alternativa:

Riavviare l'agente dopo aver apportato una modifica alla configurazione condivisa.

Problema: Se si sincronizza un sito Web in cui il percorso è %systemdrive%\wwwroot un sito Web di destinazione in cui l'unità di sistema è diversa (C: anziché D:), il percorso del sito Web verrà espanso nella destinazione. Ciò significa che se si dispone di configurazioni condivise con unità di sistema diverse e ci si affida a %systemdrive% per garantire il funzionamento del contenuto, è possibile interrompere il sito in un computer.
Soluzione alternativa:

Aggiungere una regola di sostituzione per modificare il percorso durante la sincronizzazione.

Problema: Se si tenta di creare un pacchetto in un file di pacchetto esistente, potrebbe non funzionare correttamente.
Soluzione alternativa:

Usare un nuovo nome o eliminare il file di pacchetto precedente prima di creare un nuovo pacchetto.

Problema: Microsoft Web Deploy non sposterà i file fisici per le mappe script e gli elementi a cui si fa riferimento nell'elenco delle restrizioni dell'estensione del servizio Web, a meno che i file non si trovino nelle directory del contenuto di un sito Web. Ciò è dovuto al fatto che molte ISAPI potrebbero non eseguire correttamente la migrazione, ad esempio:

  • ASP.NET (richiede l'installazione).
  • WebDAV (che non è incluso in Windows Server 2008 per impostazione predefinita e richiede un'installazione aggiuntiva).
  • Estensioni server di FrontPage (che non sono incluse in Windows Server 2008 per impostazione predefinita e richiede un'installazione aggiuntiva).

Soluzione alternativa:

Includere manualmente eventuali mapping di script o file che non richiedono l'installazione in un file manifesto. Per altre informazioni sulla creazione di file manifesto, vedere la Guida.

Problema: I file di attendibilità personalizzati a cui si fa riferimento nel livello radice Web.config e le impostazioni dei criteri di sicurezza dall'accesso al codice (CAS) non verranno spostati.
Soluzione alternativa:

Specificare manualmente il file di attendibilità personalizzato e il file dei criteri CAS, security.config, in un file manifesto. Per altre informazioni sulla creazione di file manifesto, vedere il file della Guida.

Problema: Se si sposta un sito in un server con un livello di attendibilità diverso, non verrà visualizzato un avviso.
Soluzione alternativa:

Assicurarsi che il livello di attendibilità sia impostato correttamente nel computer di destinazione quando si esegue una sincronizzazione a livello di sito o si esegue la migrazione.

Problema: Se si dispone di un file manifesto personalizzato che punta a un'origine non valida, è possibile che non venga visualizzato un errore.
Soluzione alternativa:

Se non viene visualizzato l'output previsto quando si usa un file manifesto, provare singolarmente ogni elemento per verificare se sono tipizzati in modo non valido o non valido.

Problema: FTP e SMTP non sono inclusi nelle definizioni predefinite per webserver60.
Soluzione alternativa:

Se è necessario sincronizzare questi percorsi, sincronizzarli manualmente usando il provider metakey, ad esempio metakey=lm/msftpsvc.

Problema: Le proprietà ereditate non vengono migrate con una migrazione del sito IIS 6.0. Un esempio comune è l'autenticazione impostata a livello di server con tutti i siti che ereditano questa proprietà. Quando si esegue la migrazione di un singolo sito, erediterà ora le impostazioni del nuovo server di destinazione. Se le impostazioni del server di destinazione non sono uguali, il sito potrebbe interrompersi. Questo vale per ogni proprietà ereditata, tra cui mappe mime, mappe script e così via.
Soluzione alternativa:

Usare il flag metadataGetInherited per copiare le impostazioni ereditate a livello di sito quando si sincronizza o si esegue la migrazione di un sito Web in IIS 6.0. In alternativa, verificare che le impostazioni del server siano le stesse nei server di origine e di destinazione o impostare manualmente il sito in modo da usare le impostazioni corrette.

Risoluzione dei problemi di installazione

Se si verificano problemi durante l'installazione, è possibile eseguire il comando appropriato elencato di seguito per la versione di Windows per creare un file di log che conterrà informazioni sul processo di installazione:

msiexec /L msdeployinstall.log /I <path_to_msi>

msiexec /L msdeployinstall.log /I <path_to_msi>

È possibile analizzare questo file di log dopo un'installazione non riuscita per determinare la causa dell'errore.

Ulteriori informazioni

In IIS.net sono disponibili le risorse aggiuntive seguenti per la distribuzione Web: