Installazione manuale dei pacchetti Web
di Jason Lee
Questo argomento descrive come importare manualmente un pacchetto di distribuzione Web in Internet Information Services (IIS).
Nell'argomento Compilazione e creazione di pacchetti di progetti di applicazioni Web è stato descritto il modo in cui lo strumento di distribuzione Web IIS (Distribuzione Web), insieme alle Microsoft Build Engine (MSBuild) e alla pipeline di pubblicazione Web (WPP), consente di creare un pacchetto dei progetti di applicazione Web in un unico file ZIP. Questo file, comunemente noto come pacchetto di distribuzione Web (o semplicemente un pacchetto di distribuzione), contiene tutte le informazioni sul contenuto e sulla configurazione necessarie per ricreare l'applicazione Web in un server Web.
Dopo aver creato un pacchetto di distribuzione Web, è possibile pubblicarlo in un server IIS in vari modi. In molti scenari è consigliabile sfruttare i punti di integrazione tra MSBuild, WPP e Distribuzione Web per creare e installare pacchetti Web in modalità remota come parte di un processo di compilazione e distribuzione automatizzato o in un unico passaggio. Questo processo è descritto in Distribuzione di pacchetti Web. Tuttavia, questo non è sempre possibile. Si supponga di voler distribuire un'applicazione Web in un ambiente di produzione con connessione Internet. Per motivi di sicurezza, un ambiente di produzione di questo tipo è molto probabilmente protetto da un firewall in una subnet separata dal server di compilazione, in una rete perimetrale (nota anche come rete perimetrale, zona demilitarizzata e subnet schermata). In molti casi, l'ambiente di produzione si troverà in un dominio separato o in una rete fisicamente isolata.
In questi scenari, l'unica opzione può essere convertire il pacchetto Web nel server di destinazione e importarlo manualmente in IIS. Anche se questo approccio impedisce la distribuzione automatica, è comunque una tecnica estremamente efficace per la pubblicazione di un'applicazione Web. È sufficiente copiare un singolo file ZIP nel server Web e usare una procedura guidata per guidare l'utente nel processo di importazione.
Questo argomento fa parte di una serie di esercitazioni basate sui requisiti di distribuzione aziendali di una società fittizia denominata Fabrikam, Inc. Questa serie di esercitazioni usa una soluzione di esempio, la soluzione Contact Manager, per rappresentare un'applicazione Web con un livello realistico di complessità, tra cui un'applicazione ASP.NET MVC 3, un servizio Windows Communication Foundation (WCF) e un progetto di database.
Panoramica delle attività
È necessario completare queste attività generali per importare un pacchetto di distribuzione Web in IIS:
- Creare un pacchetto di distribuzione Web usando la riga di comando di MSBuild, Team Build o Visual Studio 2010.
- Copiare il pacchetto Web nel server Web di destinazione.
- Usare l'Importazione guidata pacchetto applicazione in Gestione IIS per installare il pacchetto Web e fornire valori per variabili come stringhe di connessione ed endpoint di servizio.
In questo argomento verrà illustrato come eseguire queste procedure. Le attività e le procedure dettagliate in questo argomento presuppongono che si abbia già familiarità con i concetti relativi ai pacchetti Web, alla distribuzione Web e al WPP. Per altre informazioni, vedere Compilazione e creazione di pacchetti di progetti di applicazioni Web.
Nota
Questo argomento viene usato in combinazione con Configurare un server Web per la pubblicazione di distribuzione Web (distribuzione offline), che illustra come installare i componenti necessari e preparare un sito Web IIS per l'importazione di pacchetti.
Creare un pacchetto di distribuzione Web
La prima attività consiste nel creare un pacchetto di distribuzione Web per il progetto di applicazione Web che si vuole distribuire. È possibile creare pacchetti Web in diversi modi.
Approccio 1: Creare un pacchetto come parte del processo di compilazione con Visual Studio
È possibile configurare il progetto dell'applicazione Web per creare un pacchetto di distribuzione Web dopo ogni compilazione tramite la scheda Web Pacchetto/Pubblicazione nelle pagine delle proprietà del progetto. Questo processo è descritto in Compilazione e creazione di pacchetti di progetti di applicazioni Web.
Approccio 2: Creare un pacchetto come parte del processo di compilazione con MSBuild
Se si compila il progetto di applicazione Web usando direttamente MSBuild, tramite un file di progetto MSBuild personalizzato o dalla riga di comando, è possibile creare un pacchetto di distribuzione Web come parte del processo di compilazione includendo le proprietà DeployOnBuild=true e DeployTarget=Package nel comando. Questo processo è descritto in Informazioni sul processo di compilazione.
Approccio 3: Creare un pacchetto su richiesta in Visual Studio
È possibile creare un pacchetto di distribuzione Web per un progetto di applicazione Web in qualsiasi momento in Visual Studio 2010. A tale scopo, nella finestra Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto dell'applicazione Web e quindi scegliere Compila pacchetto di distribuzione.
Approccio 4: Creare un pacchetto su richiesta dalla riga di comando
È possibile creare un pacchetto di distribuzione Web dalla riga di comando richiamando la destinazione pacchetto nel progetto dell'applicazione Web usando MSBuild. Il comando dovrebbe essere simile al seguente:
MSBuild.exe [Path to your project].[csproj/vbproj] /T:Package
Indipendentemente dall'approccio usato, il risultato finale è lo stesso. WPP crea un pacchetto di distribuzione Web come file ZIP, insieme a varie risorse di supporto, nella cartella di output per il progetto dell'applicazione Web.
Quando si prevede di importare manualmente il pacchetto Web, è necessario solo il file ZIP. Copiare questo file nel server Web di destinazione ed è possibile avviare il processo di importazione.
Importare un pacchetto Web in IIS
È possibile utilizzare la procedura successiva per importare un pacchetto di distribuzione Web dal file system locale in un sito Web IIS. Prima di eseguire questa procedura, assicurarsi di disporre di:
- Copiato il pacchetto di distribuzione Web nel server Web.
- Configurare un server Web IIS per ospitare l'applicazione.
Per altre informazioni sulla configurazione di un server Web IIS per supportare i pacchetti di distribuzione Web, vedere Configurare un server Web per la pubblicazione di distribuzione Web (distribuzione offline).
Per importare un pacchetto di distribuzione Web tramite Gestione IIS
In Gestione IIS, nel riquadro Connessioni fare clic con il pulsante destro del mouse sul sito Web IIS, scegliere Distribuisci e quindi fare clic su Importa applicazione.
Nella pagina Seleziona il pacchetto dell'applicazione della Procedura guidata Importa pacchetto passare al percorso del pacchetto di distribuzione Web e quindi fare clic su Avanti.
Nella pagina Seleziona il contenuto del pacchetto deselezionare tutti i contenuti non necessari e quindi fare clic su Avanti.
Nota
In molti casi, potrebbe non essere necessario importare tutti gli elementi inclusi in un pacchetto di distribuzione Web. Ad esempio, potrebbe non essere necessario consentire a Distribuzione Web di sostituire il database associato.
Le voci Concedi autorizzazioni impostano le autorizzazioni nel file system di destinazione per garantire che l'identità del pool di applicazioni possa accedere alla cartella fisica che archivia il contenuto del sito Web. Inoltre, all'utente di autenticazione anonima viene concessa l'autorizzazione di lettura per la cartella per consentire all'applicazione di gestire file di tipo MIME (Multipurpose Internet Mail Extensions). Se si preferisce, è possibile rimuovere queste voci e configurare manualmente le autorizzazioni.Nella pagina Immettere le informazioni sul pacchetto dell'applicazione specificare le informazioni richieste.
Quando si crea un pacchetto Web, WPP analizza il file di configurazione per l'applicazione e rileva eventuali variabili, ad esempio stringhe di connessione ed endpoint di servizio. In questo caso:
Percorso applicazione è il percorso IIS in cui si vuole installare l'applicazione. Questa impostazione è comune a tutti i pacchetti di distribuzione creati dal WPP.
ContactService Service Endpoint Address è l'indirizzo che l'applicazione deve usare per comunicare con il servizio WCF distribuito. Questa impostazione corrisponde a una voce nel file web.config .
La prima impostazione stringa di connessione è la stringa di connessione che Deve essere usata da Distribuzione Web per distribuire il database associato all'applicazione (in questo caso un database di appartenenza ASP.NET). Questa impostazione corrisponde all'impostazione nella scheda Pacchetto/Pubblica SQL in Visual Studio.
La seconda impostazione stringa di connessione è la stringa di connessione che verrà effettivamente usata dall'applicazione per comunicare con il database quando è in esecuzione. Corrisponde a una voce della stringa di connessione nel file web.config .
Nota
Per altre informazioni sulla provenienza di questi parametri, vedere Configuring Parameters for Web Package Deployment.For more information on where these parameters from, see Configuring Parameters for Web Package Deployment.
Fare clic su Avanti.
Se non è la prima volta che l'applicazione è stata distribuita in questo sito Web, verrà richiesto di specificare se si desidera eliminare tutto il contenuto esistente prima dell'installazione. Scegliere l'opzione appropriata per i requisiti e quindi fare clic su Avanti.
Al termine dell'installazione del pacchetto, fare clic su Fine.
A questo punto, l'applicazione Web è stata pubblicata correttamente in IIS.
Conclusione
In questo argomento è stato descritto come importare un pacchetto di distribuzione Web in un sito Web IIS tramite Gestione IIS. Questo approccio alla pubblicazione di applicazioni Web è appropriato quando i vincoli di sicurezza o infrastruttura rendono impossibile o indesiderata la distribuzione remota.
Altre informazioni
Per indicazioni su come configurare un server Web IIS per supportare l'importazione manuale di un pacchetto Web, vedere Configurare un server Web per la pubblicazione di distribuzione Web (distribuzione offline). Per indicazioni più generali sulla distribuzione di pacchetti Web, vedere Procedura dettagliata: Distribuzione di un progetto di applicazione Web tramite un pacchetto di distribuzione Web (parte 1 di 4).