Installare IIS su Windows Server

TL;DR
Installare Internet Information Services (IIS) su Windows Server è semplice: puoi usare la Gestione server per un’installazione grafica o PowerShell/DISM per procedure automatizzate. Dopo l’installazione verifica aprendo http://localhost e usa la checklist e i comandi riportati per configurare siti, binding e SSL.
Sommario
- Introduzione rapida
- Installazione tramite Gestione server
- Installazione tramite PowerShell e DISM
- Perché usare IIS
- Cosa fare dopo l’installazione
- Comandi e cheat sheet
- Checklist per ruoli (amministratore, sviluppatore, automazione)
- Diagnosi rapida e casi comuni
- Glossario breve
- FAQ
Introduzione rapida
Se vuoi servire siti web o applicazioni da un server Windows, il primo passo è installare Internet Information Services (IIS). IIS è incluso in Windows Server ma non è attivo di default: l’installazione richiede pochi clic tramite l’interfaccia o alcuni comandi per l’automazione.
Questa guida offre istruzioni chiare per entrambe le strade (GUI e riga di comando), suggerimenti per verificare l’installazione e contenuti pratici — checklist, comandi rapidi e problemi comuni — per mettere rapidamente il server in produzione.
Come installare IIS tramite Gestione server
1. Aprire Gestione server
- Apri il menu Start e seleziona Gestione server.
- In Gestione server clicca su Gestisci e scegli Aggiungi ruoli e funzionalità.
2. Aggiungere ruoli e funzionalità
- Si aprirà la procedura guidata Aggiungi ruoli e funzionalità: clicca Avanti per continuare.
- Scegli l’installazione basata su ruoli o funzionalità e clicca Avanti.
3. Selezionare il server
- Seleziona il server dal pool di server e clicca Avanti.
- Nella schermata Seleziona ruoli server, seleziona Web Server (IIS). Aggiungi le funzionalità richieste quando richiesto.
- Nella sezione Seleziona funzionalità includi componenti opzionali come ASP.NET o .NET Extensibility se necessari.
- Clicca Avanti, rivedi le selezioni e poi Installa.
4. Verificare l’installazione
- Quando l’installazione termina, clicca Chiudi.
- Apri un browser sul server e naviga su http://localhost: dovresti vedere la pagina di benvenuto predefinita di IIS.
Importante: se non vedi la pagina di benvenuto, controlla che il servizio World Wide Web Publishing Service sia avviato e che il firewall non stia bloccando la porta 80.
Come installare IIS tramite PowerShell o DISM
Le opzioni da riga di comando sono ideali per automazione, provisioning e immagini di sistema.
Metodo PowerShell
Esegui PowerShell come amministratore e usa i comandi seguenti.
Install-WindowsFeature -Name Web-Server -IncludeManagementTools
# Esempio con componenti aggiuntivi
Install-WindowsFeature -Name Web-Server, Web-ASP, Web-Mgmt-Tools, Web-WebSockets
- -IncludeManagementTools installa anche gli strumenti di gestione (Gestione IIS).
- Per installazioni in remoto, usa il parametro -ComputerName o usa una sessione remota PowerShell.
Metodo DISM
DISM è utile quando lavori con immagini o vuoi abilitare feature a basso livello.
dism /online /enable-feature /featurename:IIS-WebServerRole /all
dism /online /enable-feature /featurename:IIS-ASPNET45 /all
dism /online /enable-feature /featurename:IIS-WebSockets /all
Note:
- Usa /Online per agire sull’OS attualmente in esecuzione.
- Aggiungi /Source: se lavori offline con un’immagine che necessita di file esterni.
Perché potresti aver bisogno di IIS
IIS non serve solo per siti pubblici: è utile per test locali, dashboard interni, applicazioni ASP.NET, gestione di certificati SSL e come reverse proxy con ARR o URL Rewrite. Rimane una scelta solida per scenari legacy e per integrazione stretta con stack Microsoft.
Cosa fare dopo l’installazione
- Configura i siti e i binding (URL, porte e certificati SSL).
- Imposta pool di applicazioni e isolamenti per le app ASP.NET.
- Importa o genera certificati SSL e collega i binding HTTPS.
- Configura logging, compressione e limiti di richieste secondo carico atteso.
- Automatizza backup di configurazione (appcmd add backup …) e definisci SLI/SLO se usi IIS in produzione.
Cheat sheet: comandi e snippet utili
- Verificare feature installate (PowerShell):
Get-WindowsFeature | Where-Object {$_.Installed -eq $true} | Where-Object {$_.Name -like 'Web-*'}
- Avviare/fermare il servizio IIS:
Start-Service W3SVC
Stop-Service W3SVC
Restart-Service W3SVC
- Eseguire backup della configurazione:
%windir%\system32\inetsrv\appcmd add backup "backup-name"
- Ripristinare backup:
%windir%\system32\inetsrv\appcmd restore backup "backup-name"
Checklist per ruolo
Amministratore (Prerequisiti e controllo):
- Verificare requisiti hardware e versione di Windows Server.
- Confermare policy firewall e apertura porte (80/443).
- Installare IIS con gestione remota se necessario.
- Impostare monitoring e backup della configurazione.
Sviluppatore (Configurazione ambiente di test):
- Abilitare ASP.NET e moduli necessari.
- Creare pool di applicazione separati per app diverse.
- Impostare logging dettagliato per debug.
Automation/DevOps:
- Usare script PowerShell o template di immagine con DISM.
- Includere controllo idempotente e gestione degli errori.
- Integrare con sistemi di provisioning (Ansible, SCCM, DSC).
Quando l’installazione può fallire (casi comuni)
- Dipendenze mancanti: alcune funzionalità richiedono .NET Framework o file di origine. Verifica i prerequisiti.
- Lock del firewall: la porta 80/443 potrebbe essere bloccata da policy di rete.
- Permessi insufficienti: esegui PowerShell/DISM come amministratore.
- Conflitti di porta: un altro servizio potrebbe già usare la porta 80 o 443.
Azioni rapide:
- Controlla eventi di Windows (Visualizzatore eventi) per errori di W3SVC.
- Usa netstat -ano per identificare processi che occupano porte.
- Se DISM fallisce per file mancanti, prova a fornire /Source con i media di installazione.
Mini-metodologia per rollout in produzione
- Definisci requisiti e configurazione desiderata (moduli, SSL, limiti).
- Crea script PowerShell idempotenti per l’installazione e la configurazione.
- Testa in ambiente di staging identico alla produzione.
- Automatizza backup prima del deploy e monitoraggio post-deploy.
- Esegui rollout graduale con canary o stagging slot per servizi critici.
Casi d’uso alternativi
- Contenitori: per microservizi usare container Windows con IIS o Nginx a seconda del carico.
- Proxy inverso moderno: per routing avanzato valutare soluzioni come Traefik o Nginx se servono funzionalità cloud-native.
- Hosting non-Microsoft: considerare Linux/Nginx/Apache per stack non .NET.
Glossario in una riga
- Pool di applicazioni: contenitore di processi w3wp.exe che esegue una o più applicazioni web isolatamente.
- Binding: associazione tra sito IIS e combinazione host/porta/SSL.
- ARR: Application Request Routing, modulo per effettuare reverse proxy su IIS.
Diagnosi rapida e test di accettazione
Test di base:
- Apri http://localhost e verifica la pagina di default.
- Verifica che il servizio W3SVC sia in esecuzione.
- Esegui curl http://localhost /v per response headers su NSS.
Casi di test avanzati:
- Verifica binding HTTPS con certificato corretto.
- Controlla che ASP.NET config funzioni caricando una pagina di test.
- Test di carico leggeri per verificare limiti di thread e connessioni.
Domande frequenti
Posso installare IIS senza Gestione server? Sì. PowerShell (Install-WindowsFeature) e DISM supportano installazioni non interattive, ideali per l’automazione.
Devo riavviare il server dopo l’installazione di IIS? Generalmente no. La maggior parte delle funzionalità si caricano subito, ma alcune configurazioni avanzate o dipendenze potrebbero richiedere il riavvio.
Come verifico che IIS sia installato correttamente? Visita http://localhost sul server. Se vedi la pagina di benvenuto di IIS, l’installazione è andata a buon fine.
PowerShell installa anche gli strumenti di gestione? Solo se includi -IncludeManagementTools. Altrimenti aggiungili manualmente con Install-WindowsFeature o tramite Gestione server.
Riepilogo
Installare IIS su Windows Server è veloce sia via GUI che via riga di comando. Per produzione, preferisci script idempotenti e test su staging; per ambienti piccoli la Gestione server è sufficiente. Verifica sempre con http://localhost, configura SSL e pool di applicazioni e prepara backup della configurazione.
Note finali:
- Mantieni aggiornati i moduli e monitora i log.
- Valuta l’uso di ARR o URL Rewrite per scenari di reverse proxy.
Materiali simili

Hotmail in Thunderbird: configurazione POP3

Come visualizzare e cancellare la cronologia di YouTube

Putlocker non funziona? Guida rapida per risolvere

SSH su Mac: guida completa con Terminal

Installare IIS su Windows Server — Guida rapida
