• 12 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 05/03/2019

Configurez le service IIS pour héberger une application web

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

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 fichier 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 d’utiliser le serveur Active Directory, 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
Architecture globale de votre réseau

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. L’objectif est donc d’avoir un traitement de ce fichier et d’obtenir ainsi la page phpinfo qui fournira de nombreuses informations à votre développeur. Tant que cette page n’est pas traitée, il est inutile de fournir un accès à votre collègue, car il n’est pas fonctionnel.

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.

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”. Installez 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/redémarrage du service.

Maintenant que vous avez mis en ligne un nouveau service, il ne vous restera qu’à ouvrir 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 !

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 sécurité.

À vous de jouer !

Vous avez maintenant toutes les informations nécessaires pour maîtriser Windows Server (édition Standard ou Datacenter) ! 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éseaux ;

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

Je vous propose de confirmer ces nouvelles compétences au travers d’un cas d’utilisation réaliste, grâce à l’activité.

Exemple de certificat de réussite
Exemple de certificat de réussite