Configurazione di un server Web per la pubblicazione con Distribuzione Web (gestore di Distribuzione Web)
In questo argomento viene descritto come configurare un server Web Iis (Internet Information Services) per supportare la pubblicazione Web e la distribuzione tramite il gestore distribuzione Web IIS.
Quando si lavora con Distribuzione Web 2.0 o successiva, esistono tre approcci principali che è possibile usare per ottenere le applicazioni o i siti in un server Web. È possibile:
- Usare il servizio Agente remoto di distribuzione Web. Questo approccio richiede meno configurazione del server Web, ma è necessario fornire le credenziali di un amministratore del server locale per distribuire qualsiasi elemento nel server.
- Usare il gestore distribuzione Web. Questo approccio è molto più complesso e richiede un impegno più iniziale 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 funzionalità, i vantaggi e gli svantaggi principali di questi approcci, vedere Scelta dell'approccio corretto alla distribuzione Web.
Sì, se si desidera consentire agli utenti non amministratori di distribuire il contenuto in siti Web IIS specifici. Questo approccio è spesso auspicabile in questi tipi di scenari:
- Ambienti di gestione temporanea o di produzione, in cui è improbabile che l'account utente o del servizio che attiva la distribuzione remota abbia accesso alle credenziali di un amministratore del server.
- Ambienti ospitati, in cui si vuole concedere agli utenti remoti la possibilità di aggiornare i propri siti Web senza concedere loro il controllo completo dei server Web (o l'accesso ai siti Web di altri utenti).
Negli scenari di sviluppo o test, o in organizzazioni più piccole, la distribuzione del contenuto usando le credenziali di amministratore del server è spesso meno conflitto. In questi scenari, la configurazione dei server Web per supportare la distribuzione tramite il servizio Agente remoto distribuzione Web offre un approccio più semplice.
Panoramica delle attività
Per configurare il server Web per accettare e distribuire pacchetti Web da un computer remoto usando l'approccio gestore distribuzione Web, è necessario:
- Creare o scegliere un account utente di dominio (l'"utente non amministratore") le cui credenziali verranno usate per eseguire le distribuzioni.
- Installare IIS 7.5, incluso il servizio di gestione Web e il modulo Di autenticazione di base.
- Installare Distribuzione Web 2.1 o successiva.
- Configurare il servizio di gestione Web per consentire le connessioni remote e avviare il servizio.
- Creare un sito Web IIS per ospitare il contenuto distribuito.
- Concedere le autorizzazioni utente non amministratore nel sito Web in Gestione IIS.
- Assicurarsi che le regole di delega del servizio gestione Web consentano al servizio di aggiungere e modificare il contenuto del sito Web usando l'account utente non amministratore.
- Configurare i firewall per consentire le connessioni in ingresso sulla porta 8172.
Per ospitare in modo specifico la soluzione di esempio ContactManager, è necessario:
- Installare .NET Framework 4.0.
- Installare ASP.NET MVC 3.
In questo argomento viene illustrato 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 2016. Prima di continuare, assicurarsi che:
- Windows Server 2016
- Il server è aggiunto a un 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 accesso. Per altre informazioni sulla configurazione di indirizzi IP statici, vedere Configurare un indirizzo IP statico.
Installare prodotti e componenti
Questa sezione illustra come installare i prodotti e i 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 questi elementi:
- Configurazione consigliata di IIS 7. In questo modo viene abilitato il ruolo Server Web (IIS) nel server Web e viene installato il set di moduli e componenti IIS necessari per ospitare un'applicazione ASP.NET.
- IIS: servizio di gestione. Viene installato il servizio di gestione Web (WMSvc) in IIS. Questo servizio consente la gestione remota dei siti Web IIS ed espone l'endpoint gestore distribuzione Web ai client.
- IIS: autenticazione di base. In questo modo viene installato il modulo Autenticazione di base IIS. In questo modo il servizio di gestione Web (WMSvc) autentica le credenziali fornite.
- Strumento di distribuzione Web 2.1 o versione successiva. Verrà installata la distribuzione Web (e il relativo eseguibile sottostante, MSDeploy.exe) nel server. Come parte di questo processo, installa il gestore distribuzione Web e lo integra con il servizio di gestione Web.
- .NET Framework 4.0. Questa operazione è necessaria per eseguire applicazioni basate su questa versione di .NET Framework.
- ASP.NET MVC 3. In questo modo vengono installati gli assembly necessari per eseguire le 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.
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, scegliere Tutti i programmi dal menu Start e quindi fare clic su Installazione guidata piattaforma Web Microsoft.
Nella parte superiore della finestra Installazione guidata piattaforma Web 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 lo indicherà 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.
Nella riga IIS: Autenticazione di base fare clic su Aggiungi.
Nella riga IIS: Servizio di gestione 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 chiederà di accettare le condizioni di licenza.
Esaminare le condizioni di licenza e, se si accettano le condizioni, fare clic su Accetto.
Al termine dell'installazione, fare clic su Fine e quindi chiudere la finestra Installazione guidata piattaforma Web .
Se è stato installato .NET Framework 4.0 prima dell'installazione di IIS, è necessario eseguire ASP.NET IIS Registration Tool (aspnet_regiis.exe) per registrare la versione più recente di ASP.NET con IIS. Se non si esegue questa operazione, iis servirà contenuto statico (ad esempio file HTML) senza problemi, ma restituirà l'errore HTTP 404.0 - Non trovato quando si tenta di passare a ASP.NET contenuto. È 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 su Prompt dei comandi e quindi scegliere Esegui come amministratore.
Nella finestra del 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 del 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 componenti installati.
Configurare il servizio di gestione Web
Dopo aver installato tutti gli elementi necessari, il passaggio successivo consiste nel configurare il servizio di gestione Web in IIS. A livello generale, è necessario completare queste attività:
- Abilitare l'autenticazione di base a livello di server.
- Configurare il servizio di gestione Web per accettare connessioni remote.
- Avviare il servizio di gestione Web.
- Verificare che siano state applicate le regole di delega del servizio gestione Web necessarie.
Per configurare il servizio di gestione Web
Scegliere Strumenti di amministrazione dal menu Start e quindi fare clic su Gestione Internet Information Services (IIS).
Nel riquadro Connessioni di Gestione IIS fare clic sul nodo del server, ad esempio STAGEWEB1.
Nel riquadro centrale, in IIS, fare doppio clic su Autenticazione.
Fare clic con il pulsante destro del mouse su Autenticazione di base, quindi scegliere Abilita.
Nel riquadro Connessioni fare di nuovo clic sul nodo del server per tornare alle impostazioni di primo livello.
Nel riquadro centrale, in Gestione fare doppio clic su Servizio di gestione.
Nel riquadro centrale selezionare Abilita connessioni remote.
Nota
Se il servizio di gestione Web è già in esecuzione, è necessario arrestarlo per primo.
Nel riquadro Azioni fare clic su Avvia per avviare il servizio di gestione Web.
Se viene richiesto di salvare le impostazioni, fare clic su Sì.
Nota
È anche possibile configurare il servizio per l'avvio automatico. A tale scopo, aprire la console Servizi, fare clic con il pulsante destro del mouse su Servizio di gestione Web, quindi scegliere Proprietà. Nell'elenco a discesa Tipo di avvio selezionare Automatico e quindi fare clic su OK.
Nel riquadro Connessioni fare di nuovo clic sul nodo del server per tornare alle impostazioni di primo livello.
Nel riquadro centrale, in Gestione fare doppio clic su Delega del servizio di gestione.
Verificare che il riquadro centrale contenga un set di regole.
Queste regole consentono agli utenti autorizzati del servizio di gestione Web di usare vari provider di distribuzione Web. Ad esempio, per distribuire applicazioni Web e contenuto in IIS tramite il gestore distribuzione Web, deve essere presente una regola di delega che consente a tutti gli utenti del servizio di gestione Web autenticati di usare contentPath e i provider iisApp (l'ultima regola che è possibile visualizzare nello screenshot).
Se sono stati installati prodotti e componenti nell'ordine descritto in questo argomento, la versione più recente di Distribuzione Web deve aggiungere automaticamente tutte le regole di delega necessarie al servizio di gestione Web. Se la pagina Delega del servizio di gestione non visualizza regole, sarà necessario crearle manualmente. Per istruzioni su come eseguire questa operazione, vedere Configurare il gestore della distribuzione Web.
Nel riquadro Connessioni fare di nuovo clic sul nodo del server per tornare alle impostazioni di primo livello.
Creare e configurare un sito Web IIS
Prima di poter distribuire contenuto Web nel server, è necessario creare e configurare un sito Web IIS per ospitare il contenuto. Distribuzione Web può distribuire solo pacchetti Web in un sito Web IIS esistente; non può creare automaticamente il sito Web. È anche necessario eseguire una configurazione aggiuntiva per consentire all'account non amministratore di distribuire il contenuto in modalità remota. 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.
- Concedere le autorizzazioni IIS necessarie all'account di dominio che distribuirà l'applicazione Web.
Anche se non è possibile impedire la distribuzione del 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 dei requisiti dell'applicazione.
Per creare 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 STAGEWEB1.
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, 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 STAGEWEB1, 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://stageweb1: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 versione CLR .NET selezionare .NET CLR 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 alla posizione 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 il nuovo gruppo è stato assegnato al & di lettura, al contenuto della cartella Elenco e alle autorizzazioni di lettura per impostazione predefinita. Lasciare invariata questa opzione e fare clic su OK.
Fare clic su OK per chiudere la finestra di dialogo Proprietà (nome cartella).
Come attività finale, è necessario concedere le autorizzazioni appropriate all'utente non amministratore le cui credenziali verranno usate per distribuire il contenuto. Questo utente richiede le autorizzazioni per distribuire il contenuto in remoto nel sito Web.
Per configurare le autorizzazioni del sito Web IIS per un utente di dominio non amministratore
In Gestione IIS, nel riquadro Connessioni fare clic con il pulsante destro del mouse sul nodo del sito Web (ad esempio DemoSite), scegliere Distribuisci e quindi fare clic su Configura distribuzione Web.
Nella finestra di dialogo Configura pubblicazione distribuzione Web selezionareun utente a destra dell'elenco Selezionare un utente per concedere le autorizzazioni di pubblicazione , fare clic sul pulsante con i puntini di sospensione.
Nella finestra di dialogo Consenti utente digitare il dominio e il nome utente dell'account da usare per distribuire il contenuto e quindi fare clic su OK.
Nella finestra di dialogo Configura pubblicazione distribuzione Web fare clic su Imposta.
Nota
Questa operazione esegue due funzioni chiave in un unico passaggio. In primo luogo, concede all'utente l'autorizzazione per modificare il sito Web in remoto tramite il servizio di gestione Web, in base alle regole di delega esaminate nella sezione precedente. In secondo luogo, concede all'utente il controllo completo della cartella di origine per il sito Web, che consente all'utente di aggiungere, modificare e impostare le autorizzazioni per il contenuto del sito Web.
Nella finestra di dialogo Configura pubblicazione distribuzione Web fare clic su Chiudi.
Configurare eccezioni del firewall
Per impostazione predefinita, il servizio gestione Web IIS è in ascolto sulla porta TCP 8172. Se Windows Firewall è abilitato nel server Web, è necessario creare una nuova regola in ingresso per consentire il traffico TCP sulla porta 8172 (tutto il traffico in uscita è consentito per impostazione predefinita in Windows Firewall). Se si usa un firewall di terze parti, è necessario creare regole per consentire il traffico.
Direzione | Dalla porta | Porta | Tipo di porta |
---|---|---|---|
In ingresso | Qualsiasi | 8172 | TCP |
In uscita | 8172 | Qualsiasi | TCP |
Per altre informazioni sulla configurazione delle regole in Windows Firewall, vedere Configurazione delle regole del firewall. Per i firewall di terze parti, consultare la documentazione del prodotto.
Conclusione
Il server Web deve ora essere pronto per accettare distribuzioni remote nel gestore distribuzione Web tramite il servizio gestione Web. Prima di tentare di distribuire un'applicazione Web nel server, è possibile controllare questi punti chiave:
- L'autenticazione di base è stata abilitata a livello di server in IIS?
- Sono state abilitate le connessioni remote al servizio gestione Web?
- È stato avviato il servizio Gestione Web?
- Sono presenti regole di delega del servizio di gestione?
- L'identità del pool di applicazioni ha accesso in lettura alla cartella di origine per il sito Web?
- L'account utente non amministratore dispone delle autorizzazioni a livello di sito in IIS?
- Il firewall consente connessioni in ingresso al server sulla porta TCP 8172?
Altre informazioni
Per indicazioni su come configurare file di progetto di Microsoft Build Engine personalizzati (MSBuild) per distribuire pacchetti Web nel gestore distribuzione Web, vedere Configurazione delle proprietà di distribuzione per un ambiente di destinazione.