• 12 hours
  • Medium

Free online content available in this course.

course.header.alt.is_video

course.header.alt.is_certifying

Got it!

Last updated on 10/16/23

Configurez le service IIS pour héberger une application web

Dans ce dernier chapitre, je vous propose de sortir un peu des sentiers battus et de configurer Windows Server pour héberger une application web s’appuyant sur PHP.

Pourquoi donc cette demande ?

Eh bien, votre directeur chez Gift SA a embauché un développeur web junior dont la mission est de créer une application web de gestion des approvisionnements. Comme vous venez d’avoir un budget pour l’acquisition d’un serveur de fichiers et d’identité, et que vous avez choisi de partir sur Windows Server, pourquoi ne pas aller jusqu’au bout de la démarche et configurer le rôle Serveur web sur une machine virtuelle ?

Concevez l’hébergement de l’application

Vous allez donc être amené à collaborer avec le développeur pour dimensionner votre serveur. La première chose à identifier est : faut-il une ou plusieurs machine(s) virtuelle(s) ?

Sachez que chez Gift S.A. (comme dans beaucoup de sociétés), vous disposez d’un contrat support de Microsoft, et qu’il vous est donc imposé de travailler dans ce cadre-là. Votre direction souhaite qu’en cas de souci et d’absence de votre part, une personne lambda puisse appeler Microsoft à la rescousse. Il n’est donc pas possible d’utiliser un autre système d’exploitation que Microsoft Windows.

L’autre contrainte est que vous ne disposez que de deux licences pour vos machines virtuelles. Rappelez-vous, vous avez fait l’acquisition d’un serveur physique avec une licence Windows Standard. Une machine virtuelle est dédiée à l’Active Directory et la seconde à votre serveur de fichiers. Pour éviter de soliciter le serveur Active Directory, déjà gourmand en ressources, vous décidez donc d’héberger l’application web sur votre serveur de fichiers.

Ainsi, vous aurez l’architecture suivante à mettre en œuvre :

Architecture globale de votre réseau avec le serveur physique Hyper-V et ses 2 VMs serveurs
Architecture globale de votre réseau avec le serveur physique Hyper-V et ses 2 VMs serveurs

Il conviendra donc de fournir les outils et accès nécessaires au travail du développeur web, ainsi que des accès pour les clients de la future application.

Configurez l’hébergement de l’application

Vous allez donc ajouter un rôle sur votre VM serveur de fichiers. Dans un second temps, vous allez configurer le rôle de serveur web afin de permettre la gestion du langage demandé par le développeur nouvellement embauché chez Gift SA, à savoir PHP. Je vous rappelle que vous êtes sur le point de mettre en place une application de production, il est donc hors de question d’utiliser un installeur “clé en main” (WAMP, Laragon, EasyPHP…).

Première étape donc, vous installez le rôle Serveur web. Ce rôle est composé notamment de IIS (Internet Information Service), qui n’est autre qu’un concurrent du serveur Apache couramment utilisé sur les systèmes Unix/Linux. IIS va vous permettre de servir des pages web à vos utilisateurs.

Gestionnaire IIS
Gestionnaire IIS

Je ne vous présenterai plus le gestionnaire qui est le même que pour les autres rôles (DNS, DHCP…). Par défaut, IIS vous propose un site web afin de vous proposer une configuration initiale fonctionnelle. Pour observer ce site, rendez-vous sur http://localhost. Vous obtenez alors  les informations de IIS10 :

Site web par défaut de IIS10
Site web par défaut de IIS10

Votre objectif est de fournir un environnement fonctionnel à votre collègue développeur. Pour cela, vous allez créer un fichier  test.php  à la racine de ce site web, dont le chemin est le suivant par défaut :  C:\inetpub\wwwroot  . À l’intérieur de ce fichier, entrez les quelques lignes de code suivantes :

<?php
phpinfo();
?>

En affichant cette page, vous devriez avoir, à ce stade, un message d’erreur 404.3 not found, signifiant que ce type de fichier ne peut pas être traité par IIS car php n'est pas installé. L’objectif est donc d'abord d'afficher correctement la page test.php dont la fonction  phpinfo()  qui fournira de nombreuses informations à votre développeur. Tant que ça n'est pas fait, il est inutile de fournir un accès à votre collègue.

Deux méthodes peuvent maintenant s’offrir à vous pour activer PHP et plus généralement pour configurer votre IIS :

  1. La méthode automatique via Web Platform Installer.

  2. La méthode manuelle.

La méthode manuelle étant très similaire à une installation sous Unix/Linux, je vous laisse identifier comment effectuer les différentes tâches qui se résument à :

  • Récupérer un binaire PHP ;

  • Configurer php.ini ;

  • Associer PHP à un module CGI.

La méthode automatique

Cette méthode permet de simplifier l’installation de plateformes web en se basant sur des modules validés par Microsoft. Avant toute action, rendez-vous sur l’ajout de fonctionnalités afin de procéder à l’installation de la prise en charge CGI sur IIS.

Ensuite, vous pourrez installer l’extension Web Platform sur le gestionnaire IIS.

Installation du module CGI
Installation du module CGI

Rendez-vous sur le nom de votre serveur dans la fenêtre du gestionnaire, et dans le menu de droite “Actions”, sélectionnez “Obtenir de nouveaux composants Web Platform”. Un navigateur web se lance et vous permet de télécharger et d'installer l'extension proposée.

Gestionnaire IIS10 avec Web Plateform Installer actif
Gestionnaire IIS10 avec Web Platform Installer actif

Une fois que l'extension est installée, vous n’avez qu’à lancer Web Platform Installer et faire une recherche sur le module à installer, ici PHP.

Résultat de recherches pour PHP
Résultat de recherches pour PHP

Après l’ajout au panier et l’installation du module via Web Platform Installer, vous avez maintenant PHP prêt à l’emploi.

Vous trouverez alors votre page test.php correctement affichée. Vous pouvez maintenant fournir un accès contrôlé à votre collègue. Et pour cela, plusieurs options s’offrent à vous :

  • Soit en partageant un bureau à distance ;

  • Soit en lui donnant les droits d'administrateur uniquement sur le serveur IIS, ou mieux, uniquement à l'arrêt/au redémarrage du service.

Maintenant que vous avez mis en ligne un nouveau service, il ne vous restera qu’à ouvrir sur le pare-feu les ports de l’application à destination de vos clients. Vous pouvez maintenant ajouter le support du transport sécurisé via TLS au travers du service “Let's Encrypt” ! Vous disposerez ainsi gratuitement d’un certificat au format x509 permettant d’utiliser le protocole TLS et donc HTTPS !

Allez plus loin

En résumé

  • Microsoft IIS est le serveur web fonctionnant sous Windows Server.

  • IIS permet de gérer une application web avec une prise en charge avancée des langages de programmation au travers des modules CGI.

  • IIS s’installe et s’administre via le gestionnaire de serveur comme tous les rôles Windows Server.

  • Web Platform Installer permet d’installer facilement et automatiquement des modules ou applications web en toute simplicité et en toute sécurité.

Pour conclure

La fin de cette partie marque la fin de ce cours. Vous avez maintenant toutes les informations nécessaires pour maîtriser Windows Server ! Vous êtes désormais capable de :

  • Choisir, installer et administrer la bonne version de Windows Server.

  • Installer & configurer des rôles ainsi que des fonctionnalités.

  • Gérer des services réseau.

  • Mettre en œuvre des services et fonctionnalités avancés tels que le Cloud, la virtualisation ou la gestion sans interface graphique !

Maîtriser tous ces concepts vus ensemble vous ouvre déjà de nombreuses perspectives, qu’elles soient professionnelles ou académiques.

Quant à moi, j’espère vous retrouver dans un prochain cours.

Example of certificate of achievement
Example of certificate of achievement