Iniziare con Windows IIS (Internet Information Services)

I siti web sono il tipo più comune di contenuto su internet oggi. Ma per assicurarti che il tuo sito web sia visibile al pubblico più ampio possibile, dovrai ospitare il tuo sito su un server web. Come? Considera di rivolgerti a Windows Internet Information Services (Windows IIS), una scelta popolare per l’hosting web.

In questo tutorial, imparerai le basi per iniziare con Windows IIS per la gestione delle applicazioni web tramite l’interfaccia grafica o l’ambiente della riga di comando!

Continua a leggere e migliora la gestione delle tue applicazioni web con Windows IIS!

Prerequisiti

Questo tutorial sarà una dimostrazione pratica. Se desideri seguirlo, assicurati di avere:

  • A Windows machine – This tutorial uses Windows Server 2012 since it’s stable and available at a low cost (or free). But you can also use Windows 10 for this tutorial.
  • Distribuzione Visual C++ installata sul tuo computer Windows. IIS richiede Visual C++ per visualizzare correttamente le pagine PHP.

Installazione di Windows IIS su un server Windows

Il server web IIS offre una funzionalità completa e una scalabilità per l’hosting di siti web e servizi su sistemi operativi Windows. Ma prima di utilizzare IIS, è necessario installare questo strumento sul tuo computer Windows.

Per installare Windows IIS su un server Windows:

1. Premi Ctrl+R per aprire la casella Esegui, digita ServerManager e premi Invio.

Questa azione apre il Pannello di controllo del Server Manager. Gli amministratori IT utilizzano questa interfaccia grafica per varie attività quotidiane legate all’amministrazione del server.

Launching the Server Manager

2. Su Server Manager, fare clic sul collegamento Aggiungi ruoli e funzionalità per aprire una procedura guidata, in cui è possibile aggiungere servizi di ruolo e funzionalità al server locale.

Initiating adding roles and features

3. Successivamente, leggere le informazioni nella pagina Prima di iniziare e fare clic su Avanti.

È anche possibile selezionare l’opzione Salta questa pagina per impostazione predefinita in modo da non visualizzare più questa pagina la prossima volta che si aggiungono ruoli e funzionalità.

Acknowledging the welcome page

4. Ora, nella pagina Tipo di installazione, selezionare la prima opzione (Installazione basata su ruoli o funzionalità) e fare clic su Avanti.

Questa opzione è consigliata nella maggior parte dei casi, poiché consente di aggiungere ruoli specifici, servizi di ruolo e funzionalità in modo standard.

Se si sceglie la seconda opzione (Installazione dei servizi Desktop remoto), è necessario selezionare manualmente i ruoli, i servizi e le funzionalità richieste per l’installazione.

Selecting installation type

5. Selezionare il proprio server dal pool di server e fare clic su Avanti.

È anche possibile selezionare più server per un’installazione distribuita, ma questo esula dallo scopo di questo tutorial.

Selecting a destination server

6. Successivamente, selezionare la casella di controllo Server Web (IIS) nella pagina Ruoli del server per un’infrastruttura di applicazioni Web scalabile e fare clic su Avanti.

Selecting the Web Server (IIS) role to install on the destination server

7. Lasciare selezionati i valori predefiniti e fare clic su Avanti. Questa azione indica a Windows di installare tutte le sottocaratteristiche richieste per il ruolo del server IIS, inclusi ASP.NET, contenuto statico e documento predefinito.

Confirming default selected features

8. Revisionare ulteriori informazioni sul ruolo del server Web (IIS) e fare clic su Avanti.

Reviewing more information about the Web Server Role (IIS)

9. Nella pagina Servizi di ruolo, lasciare le selezioni predefinite, ma espandere il nodo Sviluppo applicazioni, selezionare la casella di controllo CGI e fare clic su Avanti.

Questa opzione installa il supporto per l’Interfaccia Gateway Comune (CGI), un modo standard per interfacciare le applicazioni esterne con i server web.

Selecting role services

10. Dopo aver configurato le impostazioni di installazione, fare clic sul pulsante Installa per installare i ruoli e le funzionalità selezionati.

Installing the selected roles and features

11. Una volta completata l’installazione, come mostrato di seguito, fare clic su Chiudi per terminare ed uscire dalla procedura guidata.

Ecco fatto! Hai installato con successo Windows IIS sul tuo server.

Finishing the roles and features installation

12. Infine, apri il tuo browser web preferito e vai su http://localhost/.

Se tutto va bene, vedrai la pagina predefinita di IIS come quella mostrata di seguito, che conferma che il tuo server web è attivo e funzionante.

Viewing the default IIS web page

Installazione di PHP e configurazione di IIS per gestire le richieste PHP

Hai installato con successo Windows IIS sul tuo server, ma hai ancora bisogno di un modo per distribuire pagine sul tuo server. E per questo tutorial, installerai PHP e configurerai IIS per gestire le richieste PHP.

Per installare PHP sul tuo server:

1. Vai alla pagina di download della versione di PHP scaricata. Al momento della stesura di questo testo, l’ultima versione stabile è PHP 8.1.

Scarica il pacchetto ZIP Non Thread Safe (NTS) poiché IIS utilizza un singolo thread per gestire ogni richiesta. Il pacchetto Thread Safe (TS) è per IIS FastCGI, che consente a PHP di funzionare in un ambiente multithread.

Downloading the PHP (NST) package

2. Estrarre l’archivio PHP scaricato nella directory PHP (C:\PHP\) sul tuo server.

Dopo aver decompresso l’archivio, dovrai installare e configurare IIS in modo da poter gestire e distribuire le applicazioni web.

Unzipping the downloaded PHP archive to the PHP directory

3. Apri il Server Manager, seleziona Dashboard → Strumenti → Internet Information Services (IIS) Manager. Questa azione apre la console di IIS Manager, dove è possibile configurare le impostazioni di IIS, creare e gestire siti web e distribuire applicazioni web.

Opening the IIS Manager console.

4. Ora, seleziona localhost (pannello Connessioni) e fai doppio clic su Handler Mappings per accedere all’elenco dei mapping degli handler disponibili.

Accessing handler mappings

5. Nella pagina Handler Mappings, fai clic su Aggiungi mapping modulo (pannello di destra), che apre la finestra di dialogo Aggiungi mapping modulo.

Initiating adding a module mapping

6. Successivamente, configura il nuovo mapping come segue:

  • Percorso richiesta – Immetti *.php per indicare a IIS di inoltrare tutte le richieste che terminano con .php al modulo di elaborazione PHP. Il simbolo jolly (*) ti consente di risparmiare tempo in quanto non è necessario aggiungere un mapping dell’handler per ogni file PHP.
  • Modulo – Scegli FastCgiModule per specificare che il modulo FastCGI deve gestire le richieste.
  • Eseguibile – Inserisci il percorso completo del file php-cgi.exe. In questo esempio, il percorso è C:\PHP\php-cgi.exe.
  • Nome – Fornisci un nome univoco per il mapping del modulo, ma in questo tutorial viene utilizzato PHP_FastCGI.
  • Fai clic su Restrizioni richiesta per configurare le restrizioni richiesta.
Adding module mapping

7. Seleziona la casella di controllo e scegli l’opzione File o Cartella. Questa opzione garantisce che il mapping dell’handler si applichi solo ai file sul server.

Selecting the invoke handler

8. Naviga alla scheda Verbi e scegli l’opzione Tutti i verbi. Questa opzione indica a IIS di inoltrare tutti i tipi di richieste HTTP, come GET, POST e HEAD, al modulo di elaborazione PHP.

Selecting all verbs to be handled

9. Ora, nella scheda Accesso, scegli l’opzione Script e clicca su OK. Questa opzione indica a IIS che le pagine PHP sono script da eseguire anziché file statici da servire direttamente.

Selecting the required access by the handler

10. Torna alla Aggiungi mappatura modulo, clicca su OK per aggiungere la nuova mappatura modulo.

Adding the new module mapping

11. Infine, apri PowerShell come amministratore e esegui il comando IISRESET per riavviare Windows IIS. Questa azione è necessaria affinché la nuova mappatura del gestore entri in vigore.

IISRESET 
Restarting the Windows IIS server

Deploying del tuo primo sito web

Ora che hai installato PHP e configurato IIS, la parte più entusiasmante arriva: il deploy del tuo sito web. Ma prima, hai bisogno di un sito web da deployare. Creerai e installerai una pagina PHP di base sul tuo server IIS in questo esempio.

1. Crea un nuovo file index.php nel tuo editor di testo preferito nella directory radice del sito web. In questo esempio, la directory radice del sito web è C:\inetpub\wwwroot\.

L’estensione .php indica a IIS che il file index.php è una pagina PHP da elaborare tramite il modulo di elaborazione PHP.

2. In seguito, aggiungi il seguente codice al tuo nuovo file index.php, salva le modifiche e chiudi il file.

Il codice qui sotto indica a IIS di visualizzare un semplice messaggio “Hello World” su una pagina PHP nel tuo browser.

<?php
header('Content-Type: text/html; charset=UTF-8');
echo '<html><head><title>Hello World</title></head><body>Hello world!</body></html>';

3. Infine, apri una nuova scheda nel tuo browser web e vai su http://localhost/index.php per richiedere la tua pagina index.php dal server IIS locale. In questo modo potrai verificare se il tuo sito web è stato correttamente distribuito.

Se tutto va bene, vedrai il messaggio Hello world! sulla pagina index.php, come mostrato di seguito.

Testing the PHP (index.php) page

Gestione di Windows IIS tramite l’ambiente della riga di comando

Sei un grande fan dell’utilizzo dell’interfaccia della riga di comando? Nessun problema! Oltre all’interfaccia grafica, IIS può essere gestito anche tramite il prompt dei comandi. Con questo strumento, è possibile gestire quasi tutti gli aspetti di IIS, inclusi siti, applicazioni, directory virtuali, pool di applicazioni, ecc.

In questo tutorial, affronterai alcuni dei comandi di base per la gestione di IIS. Ma per una lista completa di tutti i comandi disponibili in AppCmd.exe, consulta la documentazione ufficiale di Microsoft.

1. Aprire il prompt dei comandi come amministratore e eseguire i comandi seguenti per elencare tutti i siti web disponibili nel server IIS.

%systemroot%\system32\inetsrv\APPCMD list sites

Verrà visualizzato un elenco di tutti i siti attualmente in esecuzione sul server e alcune informazioni di base su ciascun sito, come l’ID, lo stato, ecc.

Troppo generico? Nessun problema! Puoi utilizzare anche AppCmd.exe per interrogare un sito web specifico nel passaggio successivo per approfondire le informazioni di tuo interesse.

Listing all the websites on your IIS server.

2. Esegui il comando seguente per ottenere tutte le informazioni sul sito Web predefinito.

%systemroot%\system32\inetsrv\APPCMD list site "Default Web Site"
Listing all information about a specific website

3. Successivamente, esegui i comandi seguenti per arrestare un sito web specifico e elencare tutti i siti fermati (/state:Stopped).

Puoi sostituire lo stato “Stopped” con altri stati del sito, come “Starting”, “Running” o “Unknown”.


%systemroot%\system32\inetsrv\APPCMD stop sites "Default Web Site"
%systemroot%\system32\inetsrv\APPCMD list sites /state:Stopped
Finding all websites that are currently stopped

4. Ora, esegui il comando seguente, combinando più criteri separati da uno spazio, per filtrare ulteriormente i risultati.

Il comando seguente elenca tutti i siti che sono nello stato “Stopped” (/state:Stopped) e hanno l’avvio automatico a livello di server abilitato (/serverAutoStart:true).

%systemroot%\system32\inetsrv\APPCMD list sites /serverAutoStart:true /state:Stopped

5. Infine, esegui il comando seguente per avviare il sito web che hai arrestato nel passaggio tre (“Default Web Site”).

Starting a stopped website

Conclusione

Hai visto come Windows IIS ti consente di gestire i tuoi siti web. E in questo tutorial, hai imparato a installare e configurare IIS su un server Windows per distribuire e testare un sito web PHP di base. Windows IIS è uno strumento versatile che ti consente di gestire i tuoi siti web tramite un’interfaccia grafica e un ambiente a riga di comando.

Con questa nuova conoscenza, sei pronto/a per iniziare a costruire i tuoi siti web e applicazioni su IIS! Perché non imparare come creare un sito WordPress su IIS prossimamente?

Source:
https://adamtheautomator.com/windows-iis/