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.

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.

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.

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.

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.

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

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.

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

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.

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

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.

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.

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.

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.

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.

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

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

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.

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.

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.

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.

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

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.

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.
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.

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.
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.

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

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.

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).
5. Tot slot, voer het onderstaande commando uit om de website die je in stap drie hebt gestopt (“Default Web Site”) te starten.

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?