Configurazione di un server Web per la pubblicazione con Distribuzione Web (distribuzione offline)
di Jason Lee
Questo argomento descrive come configurare un server Web IIS per supportare la pubblicazione e la distribuzione Web offline.
Quando si usa Internet Information Services (IIS) Web Deployment Tool (Distribuzione Web) 2.0 o successiva, sono disponibili tre approcci principali che è possibile usare per ottenere applicazioni o siti in un server Web. È possibile:
- Usare il servizio Distribuzione remota dell'agente web. Questo approccio richiede meno configurazione del server Web, ma è necessario fornire le credenziali di un amministratore server locale per distribuire qualsiasi elemento nel server.
- Usare il gestore distribuzione Web. Questo approccio è molto più complesso e richiede più sforzi iniziali per configurare il server Web. Tuttavia, quando si usa questo approccio, è possibile configurare IIS per consentire agli utenti non amministratori di eseguire la distribuzione. Il gestore distribuzione Web è disponibile solo in IIS versione 7 o successiva.
- Usare la distribuzione offline. Questo approccio richiede la configurazione minima del server Web, ma un amministratore del server deve copiare manualmente il pacchetto Web nel server e importarlo tramite Gestione IIS.
Per altre informazioni sulle principali funzionalità, vantaggi e svantaggi di questi approcci, vedere Scelta dell'approccio appropriato alla distribuzione Web.
Sì, se l'infrastruttura di rete o le restrizioni di sicurezza impediscono la distribuzione remota. Questo è probabilmente il caso in ambienti di produzione con connessione Internet, in cui i server Web sono isolati, fisicamente o da firewall e subnet, dal resto dell'infrastruttura server.
Ovviamente, questo approccio diventa meno auspicabile se le applicazioni Web vengono aggiornate regolarmente. Se l'infrastruttura lo consente, è consigliabile abilitare la distribuzione remota usando il gestore distribuzione Web o il servizio Distribuzione remota Web.
Panoramica delle attività
Per configurare il server Web per supportare l'importazione e la distribuzione offline di pacchetti Web, è necessario:
- Installare IIS 7.5 e la configurazione consigliata di IIS 7.
- Installare Distribuzione Web 2.1 o successiva.
- Creare un sito Web IIS per ospitare il contenuto distribuito.
- Disabilitare il servizio Web Deployment Agent.
Per ospitare in particolare la soluzione di esempio, è necessario:
- Installare .NET Framework 4.0.
- Installare ASP.NET MVC 3.
Questo argomento illustra come eseguire ognuna di queste procedure. Le attività e le procedure dettagliate in questo argomento presuppongono che si inizi con una compilazione server pulita che esegue Windows Server 2008 R2. Prima di continuare, assicurarsi che:
- Windows Server 2008 R2 Service Pack 1 e tutti gli aggiornamenti disponibili sono installati.
- Il server è aggiunto al dominio.
- Il server ha un indirizzo IP statico.
Nota
Per altre informazioni sull'aggiunta di computer a un dominio, vedere Aggiunta di computer al dominio e all'accesso. Per altre informazioni sulla configurazione di indirizzi IP statici, vedere Configurare un indirizzo IP statico.
Installare prodotti e componenti
Questa sezione illustra l'installazione dei prodotti e dei componenti necessari nel server Web. Prima di iniziare, è consigliabile eseguire Windows Update per assicurarsi che il server sia completamente aggiornato.
In questo caso, è necessario installare queste operazioni:
- Configurazione consigliata di IIS 7. In questo modo il ruolo Server Web (IIS) nel server Web e installa il set di moduli e componenti IIS necessari per ospitare un'applicazione ASP.NET.
- .NET Framework 4.0. Questa operazione è necessaria per eseguire applicazioni basate su questa versione di .NET Framework.
- Strumento di distribuzione Web 2.1 o versione successiva. In questo modo viene installata la distribuzione Web (e il relativo eseguibile sottostante, MSDeploy.exe) nel server. Distribuzione Web si integra con IIS e consente di importare ed esportare pacchetti Web.
- ASP.NET MVC 3. In questo modo vengono installati gli assembly necessari per eseguire applicazioni MVC 3.
Nota
Questa procedura dettagliata descrive l'uso del programma di installazione della piattaforma Web per installare e configurare vari componenti. Anche se non è necessario usare il programma di installazione della piattaforma Web, semplifica il processo di installazione rilevando automaticamente le dipendenze e assicurandosi di ottenere sempre le versioni più recenti del prodotto. Per altre informazioni, vedere Installazione guidata piattaforma Web Microsoft 3.0.
Per installare i prodotti e i componenti necessari
Scaricare e installare il programma di installazione della piattaforma Web.
Al termine dell'installazione, il programma di installazione della piattaforma Web verrà avviato automaticamente.
Nota
È ora possibile avviare il programma di installazione della piattaforma Web in qualsiasi momento dal menu Start . A tale scopo, nel menu Start fare clic su Tutti i programmi e quindi fare clic su Installazione guidata piattaforma Web Microsoft.
Nella parte superiore della finestra programma di installazione della piattaforma Web 3.0 fare clic su Prodotti.
Sul lato sinistro della finestra fare clic su Framework nel riquadro di spostamento.
Nella riga Microsoft .NET Framework 4 , se .NET Framework non è già installato, fare clic su Aggiungi.
Nota
È possibile che sia già stato installato .NET Framework 4.0 tramite Windows Update. Se un prodotto o un componente è già installato, il programma di installazione della piattaforma Web indicherà questa operazione sostituendo il pulsante Aggiungi con il testo Installato.
Nella riga ASP.NET MVC 3 (Visual Studio 2010) fare clic su Aggiungi.
Nel riquadro di spostamento fare clic su Server.
Nella riga configurazione consigliata di IIS 7 fare clic su Aggiungi.
Nella riga Strumento di distribuzione Web 2.1 fare clic su Aggiungi.
Fare clic su Installa. Il programma di installazione della piattaforma Web mostrerà un elenco di prodotti, insieme a eventuali dipendenze associate, da installare e vi chiederà di accettare le condizioni di licenza.
Esaminare le condizioni di licenza e, se si accettano le condizioni, fare clic su Accetta.
Al termine dell'installazione, fare clic su Fine e quindi chiudere la finestra Programma di installazione piattaforma Web 3.0 .
Se è stato installato .NET Framework 4.0 prima dell'installazione di IIS, è necessario eseguire lo strumento di registrazione IIS ASP.NET (aspnet_regiis.exe) per registrare la versione più recente di ASP.NET con IIS. Se non si esegue questa operazione, si noterà che IIS servirà contenuto statico (come file HTML) senza problemi, ma restituirà l'errore HTTP 404.0 - Non trovato quando si tenta di passare al contenuto ASP.NET. È possibile usare la procedura successiva per assicurarsi che ASP.NET 4.0 sia registrato.
Per registrare ASP.NET 4.0 con IIS
Fare clic su Start e quindi digitare prompt dei comandi.
Nei risultati della ricerca fare clic con il pulsante destro del mouse sul prompt dei comandi e quindi scegliere Esegui come amministratore.
Nella finestra prompt dei comandi passare alla directory %WINDIR%\Microsoft.NET\Framework\v4.0.30319 .
Digitare questo comando e quindi premere INVIO:
aspnet_regiis -iru
Se si prevede di ospitare applicazioni Web a 64 bit in qualsiasi momento, è necessario registrare anche la versione a 64 bit di ASP.NET con IIS. A tale scopo, nella finestra prompt dei comandi passare alla directory %WINDIR%\Microsoft.NET\Framework64\v4.0.30319 .
Digitare questo comando e quindi premere INVIO:
aspnet_regiis -iru
Come procedura consigliata, usare di nuovo Windows Update a questo punto per scaricare e installare eventuali aggiornamenti disponibili per i nuovi prodotti e i componenti installati.
Configurare il sito Web IIS
Prima di poter distribuire contenuto Web nel server, è necessario creare e configurare un sito Web IIS per ospitare il contenuto. La distribuzione Web può distribuire solo pacchetti Web in un sito Web IIS esistente; non può creare il sito Web per te. A livello generale, è necessario completare queste attività:
- Creare una cartella nel file system per ospitare il contenuto.
- Creare un sito Web IIS per gestire il contenuto e associarlo alla cartella locale.
- Concedere le autorizzazioni di lettura all'identità del pool di applicazioni nella cartella locale.
Anche se non è possibile distribuire il contenuto nel sito Web predefinito in IIS, questo approccio non è consigliato per altri scenari di test o dimostrazione. Per simulare un ambiente di produzione, è necessario creare un nuovo sito Web IIS con impostazioni specifiche per i requisiti dell'applicazione.
Per creare e configurare un sito Web IIS
Nel file system locale creare una cartella per archiviare il contenuto, ad esempio C:\DemoSite.
Scegliere Strumenti di amministrazione dal menu Start e quindi fare clic su Gestione Internet Information Services (IIS).
Nel riquadro Connessioni di Gestione IIS espandere il nodo del server, ad esempio PROWEB1.
Fare clic con il pulsante destro del mouse sul nodo Siti e quindi scegliere Aggiungi sito Web.
Nella casella Nome sito digitare un nome per il sito Web IIS, ad esempio DemoSite.
Nella casella Percorso fisico digitare (o passare a) il percorso della cartella locale , ad esempio C:\DemoSite.
Nella casella Porta digitare il numero di porta in cui si desidera ospitare il sito Web ,ad esempio 85.
Nota
I numeri di porta standard sono 80 per HTTP e 443 per HTTPS. Tuttavia, se si ospita questo sito Web sulla porta 80, è necessario arrestare il sito Web predefinito prima di poter accedere al sito.
Lasciare vuota la casella Nome host , a meno che non si voglia configurare un record DNS (Domain Name System) per il sito Web e quindi fare clic su OK.
Nota
In un ambiente di produzione, è probabile che si voglia ospitare il sito Web sulla porta 80 e configurare un'intestazione host, insieme ai record DNS corrispondenti. Per altre informazioni sulla configurazione delle intestazioni host in IIS 7, vedere Configurare un'intestazione host per un sito Web (IIS 7). Per altre informazioni sul ruolo Server DNS in Windows Server 2008 R2, vedere Panoramica del server DNS.
Nel riquadro Azioni sotto Modifica sito, fare clic su Binding.
Nella finestra di dialogo Binding sito fare clic su Aggiungi.
Nella finestra di dialogo Aggiungi associazione sito impostare l'indirizzo IP e la porta in modo che corrispondano alla configurazione del sito esistente.
Nella casella Nome host digitare il nome del server Web, ad esempio PROWEB1, e quindi fare clic su OK.
Nota
Il primo binding del sito consente di accedere al sito in locale usando l'indirizzo IP e la porta o
http://localhost:85
. Il secondo binding del sito consente di accedere al sito da altri computer nel dominio usando il nome del computer , ad esempio http://proweb1:85).Nella finestra di dialogo Binding sito fare clic su Chiudi.
Nel riquadro Connessioni fare clic su Pool di applicazioni.
Nel riquadro Pool di applicazioni fare clic con il pulsante destro del mouse sul nome del pool di applicazioni e quindi scegliere Impostazioni di base. Per impostazione predefinita, il nome del pool di applicazioni corrisponderà al nome del sito Web, ad esempio DemoSite.
Nell'elenco delle versioni di .NET Framework selezionare .NET Framework v4.0.30319 e quindi fare clic su OK.
Nota
La soluzione di esempio richiede .NET Framework 4.0. Questo non è un requisito per distribuzione Web in generale.
Affinché il sito Web gestisca il contenuto, l'identità del pool di applicazioni deve disporre delle autorizzazioni di lettura per la cartella locale in cui è archiviato il contenuto. In IIS 7.5 i pool di applicazioni vengono eseguiti con un'identità univoca del pool di applicazioni per impostazione predefinita( a differenza delle versioni precedenti di IIS, in cui i pool di applicazioni vengono in genere eseguiti usando l'account del servizio di rete). L'identità del pool di applicazioni non è un account utente reale e non viene visualizzata in alcun elenco di utenti o gruppi, ma viene creata in modo dinamico all'avvio del pool di applicazioni. Ogni identità del pool di applicazioni viene aggiunta al gruppo di sicurezza locale IIS_IUSRS come elemento nascosto.
Per concedere le autorizzazioni a un'identità del pool di applicazioni in un file o in una cartella, sono disponibili due opzioni:
- Assegnare direttamente le autorizzazioni all'identità del pool di applicazioni usando il formato IIS AppPool(nome del pool di applicazioni), ad esempio IIS AppPool\DemoSite.
- Assegnare le autorizzazioni al gruppo di IIS_IUSRS .
L'approccio più comune consiste nell'assegnare autorizzazioni al gruppo di IIS_IUSRS locale, perché questo approccio consente di modificare i pool di applicazioni senza riconfigurare le autorizzazioni del file system. La procedura successiva usa questo approccio basato su gruppo.
Nota
Per altre informazioni sulle identità del pool di applicazioni in IIS 7.5, vedere Identità del pool di applicazioni.
Per configurare le autorizzazioni per le cartelle per un sito Web IIS
In Esplora risorse passare al percorso della cartella locale.
Fare clic con il pulsante destro del mouse sulla cartella e scegliere Proprietà.
Nella scheda Security fare clic su Edit e quindi su Add.
Fare clic su Località. Nella finestra di dialogo Percorsi selezionare il server locale e quindi fare clic su OK.
Nella finestra di dialogo Seleziona utenti o gruppi digitare IIS_IUSRS, fare clic su Controlla nomi e quindi fare clic su OK.
Nella finestra di dialogo Autorizzazioni per (nome cartella) si noti che al nuovo gruppo sono state assegnate le autorizzazioni Read & execute, List folder contents e Read per impostazione predefinita. Lasciare invariato questo valore e fare clic su OK.
Fare clic su OK per chiudere la finestra di dialogo Proprietà (nome cartella ).
Disabilitare il servizio Agente remoto
Quando si installa Distribuzione Web, il servizio Web Deployment Agent viene installato e avviato automaticamente. Questo servizio consente di distribuire e pubblicare pacchetti Web da una posizione remota. In questo scenario non verrà usata la funzionalità di distribuzione remota, pertanto è consigliabile arrestare e disabilitare il servizio.
Nota
Non è necessario arrestare il servizio agente remoto per importare e distribuire manualmente un pacchetto Web. Tuttavia, è consigliabile arrestare e disabilitare il servizio se non si prevede di usarlo.
È possibile arrestare e disabilitare un servizio in diversi modi, usando varie utilità della riga di comando o cmdlet Windows PowerShell. Questa procedura descrive un approccio semplice basato sull'interfaccia utente.
Per arrestare e disabilitare il servizio agente remoto
Scegliere Start , Strumenti di amministrazione, quindi scegliere Servizi.
Nella console Servizi individuare la riga Web Deployment Agent Servizio.
Fare clic con il pulsante destro del mouse su Servizio Deployment Agent Web e quindi scegliere Proprietà.
Nella finestra di dialogo Proprietà servizio Deployment Agent Web fare clic su Arresta.
Nell'elenco Tipo di avvio selezionare Disabilitato e quindi fare clic su OK.
Conclusione
A questo punto, il server Web è pronto per la distribuzione di pacchetti Web offline. Prima di tentare di importare pacchetti Web in un sito Web IIS, è possibile controllare questi punti chiave:
- È stato registrato ASP.NET 4.0 con IIS?
- L'identità del pool di applicazioni ha accesso in lettura alla cartella di origine per il sito Web?
- Il servizio Web Deployment Agent è stato arrestato?