Aan de slag met Windows IIS (Internet Information Services)

Websites zijn tegenwoordig het meest voorkomende type internetinhoud. Maar om ervoor te zorgen dat uw website zichtbaar is voor het breedst mogelijke publiek, moet u uw website hosten op een webserver. Hoe? Overweeg om gebruik te maken van Windows Internet Information Services (Windows IIS), een populaire keuze voor webhosting.

In deze tutorial leert u de basisprincipes van het aan de slag gaan met Windows IIS voor het beheer van webapplicaties via de GUI of de opdrachtregelomgeving!

Lees verder en verbeter het beheer van uw webapplicaties met Windows IIS!

Vereisten

Deze tutorial zal een praktische demonstratie zijn. Als u wilt meedoen, zorg er dan voor dat u:

  • 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.
  • De Visual C++ distributiegeïnstalleerd hebt op uw Windows-machine. IIS vereist Visual C++ om PHP-pagina’s correct weer te geven.

Windows IIS installeren op een Windows Server

IIS Web Server biedt uitgebreide functionaliteit en schaalbaarheid voor het hosten van websites en services op Windows-besturingssystemen. Maar voordat u IIS gebruikt, moet u deze tool eerst installeren op uw Windows-machine.

Om Windows IIS te installeren op een Windows Server:

1. Druk op Ctrl+R om het Uitvoeren-venster te openen, typ ServerManager en druk op Enter.

Deze actie opent het dashboard van de Server Manager. IT-beheerders gebruiken dit GUI-dashboard voor verschillende dagelijkse taken met betrekking tot serverbeheer.

Launching the Server Manager

2. Op Serverbeheer, klik op de koppeling Rollen en functies toevoegen om een wizard te openen, waarin je rol-services en functies aan je lokale server kunt toevoegen.

Initiating adding roles and features

3. Lees vervolgens de informatie op de pagina Voordat u begint en klik op Volgende.

Je kunt ook het selectievakje Deze pagina standaard overslaan aanvinken, zodat je deze pagina de volgende keer dat je rollen en functies toevoegt niet meer ziet.

Acknowledging the welcome page

4. Selecteer nu op de pagina Installatietype de eerste optie (Installatie op basis van rollen of op functies gebaseerd) en klik op Volgende.

Deze optie wordt in de meeste gevallen aanbevolen, waarmee je specifieke rollen, roleservices en functies op een standaardmanier kunt toevoegen.

Als je de tweede optie (Installatie van services voor extern bureaublad) kiest, moet je handmatig de vereiste rollen, services en functies voor installatie selecteren.

Selecting installation type

5. Selecteer je server uit de serverpool en klik op Volgende.

Je kunt ook meerdere servers selecteren voor een gedistribueerde installatie, maar dat valt buiten de reikwijdte van deze handleiding.

Selecting a destination server

6. Vink vervolgens het selectievakje Webserver (IIS) aan op de pagina Serverrollen voor een schaalbare webtoepassingsinfrastructuur en klik op Volgende.

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

7. Laat de standaardselecties geselecteerd en klik op Volgende. Hiermee vertelt Windows om alle vereiste subfuncties voor de IIS-serverrol te installeren, inclusief ASP.NET, Statische inhoud en Standaarddocument.

Confirming default selected features

8. Bekijk meer informatie over de Webserverrol (IIS) en klik op Volgende.

Reviewing more information about the Web Server Role (IIS)

9. Laat op de pagina Roleservices de standaardselecties staan, maar breid het knooppunt Applicatieontwikkeling uit, selecteer het selectievakje CGI en klik op Volgende.

Deze optie installeert ondersteuning voor de Common Gateway Interface (CGI), een standaard manier om externe toepassingen te koppelen aan webservers.

Selecting role services

10. Nadat je de installatie-instellingen hebt geconfigureerd, klik je op de knop Installeren om de geselecteerde rollen en functies te installeren.

Installing the selected roles and features

11. Zodra de installatie is voltooid, zoals hieronder weergegeven, klik je op Sluiten om af te ronden en de wizard te verlaten.

En daar is het! Je hebt Windows IIS succesvol geïnstalleerd op je server.

Finishing the roles and features installation

12. Open tot slot je favoriete webbrowser en ga naar http://localhost/.

Als alles goed gaat, zie je de standaard IIS-pagina zoals hieronder, wat bevestigt dat je webserver actief is.

Viewing the default IIS web page

PHP installeren en IIS configureren voor het verwerken van PHP-verzoeken

Je hebt Windows IIS succesvol geïnstalleerd op je server, maar je hebt nog steeds een manier nodig om pagina’s op je server te implementeren. En voor deze tutorial installeer je PHP en configureer je IIS om PHP-verzoeken te verwerken.

Om PHP op je server te installeren:

1. Ga naar de PHP-release downloadpagina. Op het moment van schrijven is de nieuwste stabiele release PHP 8.1.

Download het Non Thread Safe (NTS) ZIP-pakket, aangezien IIS een enkele thread gebruikt om elk verzoek af te handelen. Het Thread Safe (TS) pakket is voor IIS FastCGI, waarmee PHP in een multithreaded omgeving kan draaien.

Downloading the PHP (NST) package

2. Pak het gedownloade PHP-archief uit naar de PHP-map (C:\PHP\) op je server.

Na het uitpakken van het archief, moet u IIS installeren en configureren zodat u webapplicaties kunt beheren en implementeren.

Unzipping the downloaded PHP archive to the PHP directory

3. Open uw Serverbeheer, selecteer Dashboard → Hulpprogramma’s → Internet Information Services (IIS) Beheerder. Deze handeling opent de IIS Beheerder console, waar u IIS-instellingen kunt configureren, websites kunt maken en beheren, en webapplicaties kunt implementeren.

Opening the IIS Manager console.

4. Selecteer nu uw localhost (Verbindingen paneel), en dubbelklik op Handler Mappings om toegang te krijgen tot de lijst met beschikbare handler mappings.

Accessing handler mappings

5. Op de pagina Handler Mappings, klik op Module Mapping Toevoegen (rechter paneel), wat het dialoogvenster Module Mapping Toevoegen opent.

Initiating adding a module mapping

6. Configureer vervolgens de nieuwe mapping met het volgende:

  • Aanvraagpad – Type *.php om IIS te vertellen om alle aanvragen door te sturen die eindigen met .php naar de PHP-processor module. Het jokerteken (*) bespaart tijd omdat u geen handler mapping hoeft toe te voegen voor elk PHP-bestand.
  • Module – Kies FastCgiModule om aan te geven dat de FastCGI-module de aanvragen moet verwerken.
  • Uitvoerbaar – Voer het volledige pad in naar het php-cgi.exe bestand. In dit voorbeeld is het pad C:\PHP\php-cgi.exe.
  • Naam – Geef een unieke module mapping naam op, maar deze tutorial gebruikt PHP_FastCGI.
  • Klik op Aanvraagbeperkingen om aanvraagbeperkingen te configureren.
Adding module mapping

7. Schakel het selectievakje in en kies de Bestand of Map optie. Deze optie zorgt ervoor dat de handler mapping alleen van toepassing is op bestanden op de server.

Selecting the invoke handler

8. Ga naar het tabblad Werkwoorden en kies de optie Alle werkwoorden. Deze optie vertelt IIS om alle soorten HTTP-verzoeken, zoals GET, POST en HEAD, door te sturen naar de PHP-processormodule.

Selecting all verbs to be handled

9. Ga nu naar het tabblad Toegang, kies de optie Script en klik op OK. Deze optie vertelt IIS dat de PHP-pagina’s scripts zijn die moeten worden uitgevoerd in plaats van statische bestanden die rechtstreeks moeten worden geserveerd.

Selecting the required access by the handler

10. Ga terug naar de Module Toevoegen Mapping, klik op OK om de nieuwe module-mapping toe te voegen.

Adding the new module mapping

11. Tot slot, open PowerShell als beheerder, en voer het commando IISRESET uit om Windows IIS te herstarten. Deze actie is nodig om de nieuwe handler-mapping van kracht te laten worden.

IISRESET 
Restarting the Windows IIS server

Je eerste website implementeren

Nu je PHP hebt geïnstalleerd en IIS hebt geconfigureerd, komt het meest opwindende deel — het implementeren van je website. Maar eerst heb je een website nodig om te implementeren. Je zult in dit voorbeeld een eenvoudige PHP-pagina maken en implementeren op je IIS-server.

1. Maak een nieuw bestand index.php aan in je favoriete teksteditor in de hoofdmap van de website. In dit voorbeeld is de hoofdmap van de website C:\inetpub\wwwroot\.

De extensie .php vertelt IIS dat het bestand index.php een PHP-pagina is die verwerkt moet worden door de PHP-processor module.

2. Voeg vervolgens de volgende code toe aan je nieuwe index.php-bestand, sla je wijzigingen op en sluit het bestand.

De onderstaande code vertelt IIS om een eenvoudige “Hallo wereld” bericht weer te geven op een PHP-pagina in je browser.

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

3. Ten slotte, open een nieuw tabblad in je webbrowser, en ga naar http://localhost/index.php om je index.php-pagina op te vragen vanaf de lokale IIS-server. Hiermee kun je testen of je website-implementatie werkt.

Als alles goed gaat, zie je het bericht Hallo wereld! op de index.php-pagina, zoals hieronder getoond.

Testing the PHP (index.php) page

Windows IIS beheren via de opdrachtregelomgeving

Groot fan van het gebruik van de CLI? Geen probleem! Afgezien van de GUI, kan IIS ook worden beheerd met behulp van de opdrachtprompt. Met deze tool kun je bijna alle aspecten van IIS beheren, waaronder sites, toepassingen, virtuele mappen, toepassingspools, enzovoort.

In deze tutorial zul je enkele van de basisopdrachten om IIS te beheren behandelen. Maar voor een volledige lijst van alle beschikbare AppCmd.exe-opdrachten, bekijk de officiële Microsoft-documentatie.

1. Open de opdrachtprompt als beheerder en voer de onderstaande commando’s uit om alle websites (site) weer te geven die beschikbaar zijn op je IIS-server.

%systemroot%\system32\inetsrv\APPCMD list sites

Je ziet een lijst van alle sites die momenteel draaien op je server en enkele basisinformatie over elke site, zoals het ID, de status, enz.

Te algemeen? Geen probleem! Je kunt ook AppCmd.exe gebruiken om informatie op te vragen over een specifieke website in de volgende stap om in te zoomen op de informatie waarin je geïnteresseerd bent.

Listing all the websites on your IIS server.

2. Voer het onderstaande commando uit om alle informatie over de standaardwebsite (Default Web Site) te krijgen.

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

3. Voer vervolgens de volgende commando’s uit om een specifieke website te stoppen en alle gestopte websites weer te geven (/state:Stopped).

Je kunt de gestopte status vervangen door andere statussen, zoals starting, running of 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. Voer nu het onderstaande commando uit, waarbij meerdere criteria gescheiden worden door een spatie, om de resultaten verder te filteren.

Het onderstaande commando geeft een lijst van alle sites die zich in een gestopte status bevinden (/state:Stopped) en waarbij server-level autostart is ingeschakeld (/serverAutoStart:true).

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

5. Tot slot, voer het onderstaande commando uit om de website die je in stap drie hebt gestopt (“Default Web Site”) te starten.

Starting a stopped website

Conclusie

Je hebt gezien hoe Windows IIS je in staat stelt om je websites te beheren. En in deze tutorial heb je geleerd hoe je IIS installeert en configureert op een Windows Server om een basis PHP-website te implementeren en te testen. Windows IIS is een veelzijdige tool waarmee je je websites kunt beheren via een grafische gebruikersinterface en een opdrachtregelomgeving.

Met deze nieuwe kennis ben je klaar om je websites en applicaties te gaan bouwen op IIS! Waarom leer je niet hoe je een WordPress-site op IIS kunt maken volgende?

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