Configuration d’un serveur web pour la publication Web Deploy (Déploiement hors connexion)

par Jason Lee

Cette rubrique explique comment configurer un serveur web IIS pour prendre en charge la publication et le déploiement web hors connexion.

Lorsque vous utilisez l’outil de déploiement web IIS (Web Deploy) 2.0 ou version ultérieure, il existe trois approches main que vous pouvez utiliser pour obtenir vos applications ou sites sur un serveur web. Vous pouvez :

  • Utilisez le service Web Deploy Remote Agent. Cette approche nécessite moins de configuration du serveur web, mais vous devez fournir les informations d’identification d’un administrateur de serveur local pour déployer quoi que ce soit sur le serveur.
  • Utilisez le gestionnaire Web Deploy. Cette approche est beaucoup plus complexe et nécessite plus d’efforts initiaux pour configurer le serveur web. Toutefois, lorsque vous utilisez cette approche, vous pouvez configurer IIS pour permettre aux utilisateurs non-administrateurs d’effectuer le déploiement. Le gestionnaire Web Deploy n’est disponible que dans IIS version 7 ou ultérieure.
  • Utilisez le déploiement hors connexion. Cette approche nécessite la configuration minimale du serveur web, mais un administrateur de serveur doit copier manuellement le package web sur le serveur et l’importer via le Gestionnaire des services Internet.

Pour plus d’informations sur les principales fonctionnalités, avantages et inconvénients de ces approches, consultez Choisir la bonne approche du déploiement web.

Oui, si votre infrastructure réseau ou vos restrictions de sécurité empêchent le déploiement à distance. C’est probablement le cas dans les environnements de production accessibles sur Internet, où les serveurs web sont isolés (physiquement ou par des pare-feu et sous-réseaux) du reste de votre infrastructure serveur.

Évidemment, cette approche devient moins souhaitable si vos applications web sont mises à jour régulièrement. Si votre infrastructure le permet, vous pouvez envisager d’activer le déploiement à distance, à l’aide du gestionnaire Web Deploy ou du service d’agent distant Web Deploy.

Vue d’ensemble de la tâche

Pour configurer le serveur web afin de prendre en charge l’importation et le déploiement hors connexion de packages web, vous devez :

  • Installez IIS 7.5 et la configuration recommandée pour IIS 7.
  • Installez Web Deploy 2.1 ou version ultérieure.
  • Créez un site web IIS pour héberger le contenu déployé.
  • Désactivez le service Deployment Agent Web.

Pour héberger l’exemple de solution spécifiquement, vous devez également :

  • Installez .NET Framework 4.0.
  • Installez ASP.NET MVC 3.

Cette rubrique vous montre comment effectuer chacune de ces procédures. Les tâches et procédures pas à pas de cette rubrique supposent que vous démarrez avec une build de serveur propre exécutant Windows Server 2008 R2. Avant de continuer, vérifiez que :

  • Windows Server 2008 R2 Service Pack 1 et toutes les mises à jour disponibles sont installés.
  • Le serveur est joint à un domaine.
  • Le serveur a une adresse IP statique.

Notes

Pour plus d’informations sur la jonction d’ordinateurs à un domaine, consultez Joindre des ordinateurs au domaine et ouvrir une session. Pour plus d’informations sur la configuration d’adresses IP statiques, consultez Configurer une adresse IP statique.

Installer des produits et des composants

Cette section vous guide tout au long de l’installation des produits et composants requis sur le serveur web. Avant de commencer, une bonne pratique consiste à exécuter Windows Update pour vous assurer que votre serveur est entièrement à jour.

Dans ce cas, vous devez installer les éléments suivants :

  • Configuration recommandée d’IIS 7. Cela active le rôle Serveur web (IIS) sur votre serveur web et installe l’ensemble des modules et composants IIS dont vous avez besoin pour héberger une application ASP.NET.
  • .NET Framework 4.0. Cela est nécessaire pour exécuter des applications qui ont été créées sur cette version du .NET Framework.
  • Outil de déploiement web 2.1 ou ultérieur. Cela installe Web Deploy (et son exécutable sous-jacent, MSDeploy.exe) sur votre serveur. Web Deploy s’intègre à IIS et vous permet d’importer et d’exporter des packages web.
  • ASP.NET MVC 3. Cette opération installe les assemblys dont vous avez besoin pour exécuter des applications MVC 3.

Notes

Cette procédure pas à pas décrit l’utilisation du programme d’installation de la plateforme web pour installer et configurer différents composants. Bien que vous n’ayez pas besoin d’utiliser web Platform Installer, il simplifie le processus d’installation en détectant automatiquement les dépendances et en vous assurant que vous obtenez toujours les dernières versions du produit. Pour plus d’informations, consultez Microsoft Web Platform Installer 3.0.

Pour installer les produits et composants requis

  1. Téléchargez et exécutez Web Platform Installer.

  2. Une fois l’installation terminée, le programme d’installation de la plateforme web se lance automatiquement.

    Notes

    Vous pouvez maintenant lancer web Platform Installer à tout moment à partir du menu Démarrer . Pour ce faire, dans le menu Démarrer, cliquez sur Tous les programmes, puis sur Microsoft Web Platform Installer.

  3. En haut de la fenêtre Web Platform Installer 3.0 , cliquez sur Produits.

  4. Sur le côté gauche de la fenêtre, dans le volet de navigation, cliquez sur Infrastructures.

  5. Dans la ligne Microsoft .NET Framework 4 , si le .NET Framework n’est pas déjà installé, cliquez sur Ajouter.

    Notes

    Vous avez peut-être déjà installé .NET Framework 4.0 via Windows Update. Si un produit ou un composant est déjà installé, le programme d’installation de la plateforme web l’indique en remplaçant le bouton Ajouter par le texte Installé.

    Si un produit ou un composant est déjà installé, le programme d’installation de la plateforme web l’indique en remplaçant le bouton Ajouter par le texte Installé.

  6. Dans la ligne ASP.NET MVC 3 (Visual Studio 2010), cliquez sur Ajouter.

  7. Dans le volet de navigation, cliquez sur Serveur.

  8. Dans la ligne Configuration recommandée d’IIS 7 , cliquez sur Ajouter.

  9. Dans la ligne Web Deployment Tool 2.1 , cliquez sur Ajouter.

  10. Cliquez sur Installer. Le programme d’installation de la plateforme web affiche la liste des produits à installer, ainsi que les dépendances associées, et vous invite à accepter les termes du contrat de licence.

    Cliquez sur Installer. Web Platform Installer affiche une liste de produits ainsi que les dépendances associées à installer et vous invite à accepter les termes du contrat de licence.

  11. Passez en revue les termes du contrat de licence et, si vous y consentez, cliquez sur J’accepte.

  12. Une fois l’installation terminée, cliquez sur Terminer, puis fermez la fenêtre Web Platform Installer 3.0 .

Si vous avez installé .NET Framework 4.0 avant d’installer IIS, vous devez exécuter l’outil d’inscription IIS ASP.NET (aspnet_regiis.exe) pour inscrire la dernière version de ASP.NET auprès d’IIS. Si vous ne le faites pas, vous constaterez qu’IIS fournira du contenu statique (comme des fichiers HTML) sans aucun problème, mais il retournera l’erreur HTTP 404.0 – Introuvable lorsque vous tentez d’accéder à ASP.NET contenu. Vous pouvez utiliser la procédure suivante pour vous assurer que ASP.NET 4.0 est inscrit.

Pour inscrire ASP.NET 4.0 auprès d’IIS

  1. Cliquez sur Démarrer, puis tapez Invite de commandes.

  2. Dans les résultats de la recherche, cliquez avec le bouton droit sur Invite de commandes, puis cliquez sur Exécuter en tant qu’administrateur.

  3. Dans la fenêtre d’invite de commandes, accédez au répertoire %WINDIR%\Microsoft.NET\Framework\v4.0.30319 .

  4. Tapez cette commande, puis appuyez sur Entrée :

    aspnet_regiis -iru
    
  5. Si vous envisagez d’héberger des applications web 64 bits à tout moment, vous devez également inscrire la version 64 bits de ASP.NET auprès d’IIS. Pour ce faire, dans la fenêtre d’invite de commandes, accédez au répertoire %WINDIR%\Microsoft.NET\Framework64\v4.0.30319 .

  6. Tapez cette commande, puis appuyez sur Entrée :

    aspnet_regiis -iru
    

En guise de bonne pratique, utilisez à nouveau Windows Update à ce stade pour télécharger et installer toutes les mises à jour disponibles pour les nouveaux produits et composants que vous avez installés.

Configurer le site web IIS

Avant de pouvoir déployer du contenu web sur votre serveur, vous devez créer et configurer un site web IIS pour héberger le contenu. Web Deploy ne peut déployer que des packages web sur un site web IIS existant ; il ne peut pas créer le site web pour vous. À un niveau élevé, vous devez effectuer les tâches suivantes :

  • Créez un dossier sur le système de fichiers pour héberger votre contenu.
  • Créez un site web IIS pour traiter le contenu et associez-le au dossier local.
  • Accordez des autorisations de lecture à l’identité du pool d’applications sur le dossier local.

Bien que rien ne vous empêche de déployer du contenu sur le site web par défaut dans IIS, cette approche n’est recommandée que pour les scénarios de test ou de démonstration. Pour simuler un environnement de production, vous devez créer un site web IIS avec des paramètres spécifiques aux exigences de votre application.

Pour créer et configurer un site web IIS

  1. Sur le système de fichiers local, créez un dossier pour stocker votre contenu (par exemple, C :\DemoSite).

  2. Dans le menu Démarrer, pointez sur Outils d’administration, puis cliquez sur Gestionnaire des services Internet (IIS).

  3. Dans le Gestionnaire des SERVICES Internet, dans le volet Connexions , développez le nœud du serveur (par exemple, PROWEB1).

    Dans le Gestionnaire des services Internet, dans le volet Connexions, développez le nœud du serveur (par exemple, PROWEB1)

  4. Cliquez avec le bouton droit sur le nœud Sites , puis cliquez sur Ajouter un site web.

  5. Dans la zone Nom du site , tapez un nom pour le site web IIS (par exemple, DemoSite).

  6. Dans la zone Chemin d’accès physique , tapez (ou accédez à) le chemin d’accès à votre dossier local (par exemple, C :\DemoSite).

  7. Dans la zone Port , tapez le numéro de port sur lequel vous souhaitez héberger le site web (par exemple, 85).

    Notes

    Les numéros de port standard sont 80 pour HTTP et 443 pour HTTPS. Toutefois, si vous hébergez ce site web sur le port 80, vous devez arrêter le site web par défaut avant de pouvoir accéder à votre site.

  8. Laissez la zone Nom d’hôte vide, sauf si vous souhaitez configurer un enregistrement DNS (Domain Name System) pour le site web, puis cliquez sur OK.

    Laissez la zone Nom d’hôte vide, sauf si vous souhaitez configurer un enregistrement DNS (Domain Name System) pour le site web, puis cliquez sur OK.

    Notes

    Dans un environnement de production, vous souhaiterez probablement héberger votre site web sur le port 80 et configurer un en-tête d’hôte, ainsi que des enregistrements DNS correspondants. Pour plus d’informations sur la configuration des en-têtes d’hôte dans IIS 7, consultez Configurer un en-tête d’hôte pour un site web (IIS 7). Pour plus d’informations sur le rôle serveur DNS dans Windows Server 2008 R2, consultez Vue d’ensemble du serveur DNS.

  9. Dans le volet Actions , sous Modifier le Site, cliquez sur Liaisons.

  10. Dans la boîte de dialogue Liaisons de site Web, cliquez sur Ajouter.

    Dans la boîte de dialogue Liaisons de site, cliquez sur Ajouter.

  11. Dans la boîte de dialogue Ajouter une liaison de site, définissez l’adresse IP et le port pour qu’ils correspondent à votre configuration de site existante.

  12. Dans la zone Nom d’hôte , tapez le nom de votre serveur web (par exemple, PROWEB1), puis cliquez sur OK.

    Dans la zone Nom d’hôte, tapez le nom de votre serveur web (par exemple, PROWEB1), puis cliquez sur OK.

    Notes

    La première liaison de site vous permet d’accéder au site localement à l’aide de l’adresse IP et du port ou http://localhost:85. La deuxième liaison de site vous permet d’accéder au site à partir d’autres ordinateurs du domaine à l’aide du nom de la machine (par exemple, http://proweb1:85).

  13. Dans la boîte de dialogue Liaisons de site Web, cliquez sur Fermer.

  14. Dans le volet Connexions, cliquez sur Pools d'applications.

  15. Dans le volet Pools d’applications , cliquez avec le bouton droit sur le nom de votre pool d’applications, puis cliquez sur Paramètres de base. Par défaut, le nom de votre pool d’applications correspond au nom de votre site web (par exemple, DemoSite).

  16. Dans la liste version du .NET Framework , sélectionnez .NET Framework v4.0.30319, puis cliquez sur OK.

    Dans la liste version du .NET Framework, sélectionnez .NET Framework v4.0.30319, puis cliquez sur OK.

    Notes

    L’exemple de solution nécessite .NET Framework 4.0. Il ne s’agit pas d’une exigence pour Web Deploy en général.

Pour que votre site web serve du contenu, l’identité du pool d’applications doit disposer d’autorisations de lecture sur le dossier local qui stocke le contenu. Dans IIS 7.5, les pools d’applications s’exécutent avec une identité de pool d’applications unique par défaut (contrairement aux versions précédentes d’IIS, où les pools d’applications s’exécutent généralement à l’aide du compte service réseau). L’identité du pool d’applications n’est pas un compte d’utilisateur réel et ne s’affiche sur aucune liste d’utilisateurs ou de groupes. Au lieu de cela, elle est créée dynamiquement lorsque le pool d’applications est démarré. Chaque identité de pool d’applications est ajoutée au groupe de sécurité local IIS_IUSRS en tant qu’élément masqué.

Pour accorder des autorisations à une identité de pool d’applications sur un fichier ou un dossier, vous avez deux options :

  • Attribuez des autorisations à l’identité du pool d’applications directement, en utilisant le format IIS AppPool (nom du pool d’applications) (par exemple, IIS AppPool\DemoSite).
  • Attribuez des autorisations au groupe IIS_IUSRS .

L’approche la plus courante consiste à attribuer des autorisations au groupe IIS_IUSRS local, car cette approche vous permet de modifier les pools d’applications sans reconfigurer les autorisations du système de fichiers. La procédure suivante utilise cette approche basée sur un groupe.

Notes

Pour plus d’informations sur les identités de pool d’applications dans IIS 7.5, consultez Identités de pool d’applications.

Pour configurer les autorisations de dossier pour un site web IIS

  1. Dans Windows Explorer, accédez à l’emplacement de votre dossier local.

  2. Cliquez avec le bouton droit sur le dossier et cliquez sur Propriétés.

  3. Sous l'onglet Security, cliquez sur Edit, puis sur Add.

  4. Cliquez sur Emplacements. Dans la boîte de dialogue Emplacements , sélectionnez le serveur local, puis cliquez sur OK.

    Cliquez sur Emplacements. Dans la boîte de dialogue Emplacements, sélectionnez le serveur local, puis cliquez sur OK.

  5. Dans la boîte de dialogue Sélectionner des utilisateurs ou des groupes , tapez IIS_IUSRS, cliquez sur Vérifier les noms, puis cliquez sur OK.

  6. Dans la boîte de dialogue Autorisations pour (nom du dossier), notez que le nouveau groupe s’est vu attribuer les autorisations Lire & exécuter, Répertorier le contenu du dossier et Lire par défaut. Laissez-le inchangé, puis cliquez sur OK.

  7. Cliquez sur OK pour fermer la boîte de dialogue Propriétés (nom du dossier).

Désactiver le service d’agent distant

Lorsque vous installez Web Deploy, le service Web Deployment Agent est installé et démarré automatiquement. Ce service vous permet de déployer et de publier des packages web à partir d’un emplacement distant. Vous n’utilisez pas la fonctionnalité de déploiement à distance dans ce scénario. Vous devez donc arrêter et désactiver le service.

Notes

Vous n’avez pas besoin d’arrêter le service d’agent distant pour importer et déployer manuellement un package web. Toutefois, il est recommandé d’arrêter et de désactiver le service si vous ne prévoyez pas de l’utiliser.

Vous pouvez arrêter et désactiver un service de plusieurs façons, à l’aide de différents utilitaires de ligne de commande ou de Windows PowerShell applets de commande. Cette procédure décrit une approche simple basée sur l’interface utilisateur.

Pour arrêter et désactiver le service d’agent distant

  1. Sur le menu Démarrer , pointez sur Outils d'administration, puis cliquez sur Services.

  2. Dans la console Services, recherchez la ligne Web Deployment Agent Service.

    Dans la console Services, recherchez la ligne Web Deployment Agent Service.

  3. Cliquez avec le bouton droit sur Service web Deployment Agent, puis cliquez sur Propriétés.

  4. Dans la boîte de dialogue Propriétés du service Web Deployment Agent, cliquez sur Arrêter.

  5. Dans la liste Type de démarrage , sélectionnez Désactivé, puis cliquez sur OK.

    Dans la liste Type de démarrage, sélectionnez Désactivé, puis cliquez sur OK.

Conclusion

À ce stade, votre serveur web est prêt pour le déploiement de package web hors connexion. Avant d’essayer d’importer des packages web sur un site web IIS, vous pouvez case activée ces points clés :

  • Avez-vous inscrit ASP.NET 4.0 auprès d’IIS ?
  • L’identité du pool d’applications a-t-elle un accès en lecture au dossier source de votre site web ?
  • Avez-vous arrêté le service web Deployment Agent ?