web-dev-qa-db-fra.com

Comment configurer la fonctionnalité de publication Web Deploy sur IIS pour que le développeur puisse publier?

Je contrôle un serveur exécutant IIS 8 sur Windows Server 2012. Je souhaite publier quelques sites Web asp.net de base avec l'option Publier dans Visual Studio 2012. Il n'y a pas d'articles Microsoft corrects/actuels sur les étapes de configuration du serveur.

1) Que dois-je faire exactement sur le serveur? Je ne vois aucune option de rôle "déploiement Web" sous les différents rôles IIS. J'ai lu que certaines personnes téléchargent et installent "Web Deploy 3.0" de Microsoft, mais ce fichier a un an et il semble étrange que je doive télécharger un autre fichier pour utiliser une option de déploiement de fichiers promue IIS. Si vous utilisez IIS7 ou IIS7.5 au lieu d'IIS8 comme moi, n'hésitez pas à répondre ce que VOUS faites, mais faites-moi savoir quelle version vous utilisez.

2) Le processus d'authentification est-il crypté? Par exemple, FTP enverrait des mots de passe en texte brut. FTP sur SSL ne le fait pas, mais configurer même un certificat SSL auto-émis est ennuyeux juste pour obtenir une authentification sécurisée. Qu'en est-il de Web Deploy? Est-ce sûr ou non?

3) Dois-je ouvrir le port 8172 sur le pare-feu du serveur? La documentation de Microsoft indique que "je pourrais avoir besoin de".

4) Côté Visual Studio, il veut un compte pour l'authentification. S'agit-il d'un compte Windows sur le serveur? Dois-je ensuite cliquer avec le bouton droit sur le dossier du site Web IIS sur le serveur et y ajouter cet utilisateur ou existe-t-il un autre moyen préféré de mapper les utilisateurs aux sites Web? Si oui, quels droits sont requis?

Veuillez répondre à tout ou partie de ce qui précède, mais veuillez vous concentrer sur la configuration côté serveur et non sur le client (Visual Studio). Veuillez ne pas suggérer FTP car je veux vraiment essayer Web Deploy. J'ajoute également une balise IIS 7.5 car certaines des réponses peuvent être les mêmes que pour IIS 8.

30
stackonfire

Il semble que l'on doive toujours télécharger l'extension Web Deploy. De plus, Version 3.5 est maintenant disponible.

Pour télécharger sur un serveur, les règles de sécurité par défaut IE vous obligeront à ajouter quelque chose comme http: //*.Microsoft.com en tant que site de confiance, sinon vous ne pouvez pas télécharger le programme d'installation.

L'ensemble du package est plutôt volumineux et couvre de nombreux scénarios de type déploiement/sauvegarde/transfert pour IIS. Ainsi, lorsque vous l'installez, il se transforme en "Web Platform Installer 4.6" et installe environ 10 prérequis en plus de Web Deploy 3.5. Ces prérequis couvrent les types CLR, le framework SQL Server (même si vous n'avez pas SQL Server installé), les objets de gestion partagée SQL Server, etc. J'ai vérifié par la suite si tous ces éléments sont désinstallables via le panneau de configuration (au cas où je changerais d'avis sur le déploiement Web) et ils sont là.

Enfin, pour configurer le déploiement web sur un site, j'ai trouvé ce document:

http://www.iis.net/learn/publish/using-web-deploy/configure-the-web-deployment-handler

Pour trouver plus d'informations à ce sujet, google "gestionnaire de déploiement Web".

Il semble également que vous puissiez configurer une authentification sécurisée, ce qui est la principale raison pour laquelle j'ai choisi ce chemin de publication Web Deploy au lieu d'utiliser le FTP en texte clair. Cependant, http://www.iis.net/learn/publish/using-web-deploy/introduction-to-web-deploy dit

Web Deploy is secure. Web Deploy supports transfer over HTTPS. Note that variants of FTP such as SFTP and FTPS are also secure.

Je ne sais pas si cela signifie que je devrai quand même utiliser un certificat SSL. J'espérais que Web Deploy fournissait plus d'options d'authentification qui étaient à la fois sécurisées et n'avaient pas besoin de certificat.

28
stackonfire

La réponse marquée correcte m'a indiqué dans la bonne direction pour publier un site Web de Visual Studio 2013 vers Server 2012. Le bouton Valider la connexion a continué à vérifier que le service de gestion Web est installé.

Depuis avril 2014, ces étapes simples fonctionnent:

Installer Web Deploy

À Powershell:
(À partir de: https://www.orcsweb.com/blog/jamie-furr/manage-and-install-iis8-on-windows-2012-server-core/ )

  • Install-WindowsFeature Web-Server
  • Install-WindowsFeature Web-Mgmt-Service
  • Set-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\WebManagement\Server -Name EnableRemoteManagement -Value 1
  • Net Stop WMSVC
  • Net Start WMSVC
  • netsh advfirewall firewall add nom de la règle = "Autoriser la gestion Web" dir = en action = autoriser le service = "WMSVC"

Dans IIS:
(À partir de http://blog.richardszalay.com/2013/02/02/building-a-deployment-pipeline-with-msdeploy-part-4-server-configuration/ )

  • Créer un nouvel utilisateur non administrateur
  • Une fois votre utilisateur créé, nous devons lui accorder l'autorisation de déployer le site. Faites un clic droit sur votre site Web et sélectionnez "Configurer pour la publication Web Deploy…" dans le sous-menu "Deploy"
14
Paul Lockwood