it-swarm.com.de

Wie konfiguriere ich das Web Deploy-Veröffentlichungsfeature auf IIS= damit Entwickler veröffentlichen können?

Ich steuere einen Server, auf dem IIS 8 unter Windows Server 2012 ausgeführt wird. Ich möchte einige grundlegende asp.net-Websites mit der Option "Veröffentlichen" in Visual Studio 2012 veröffentlichen. Die Serverkonfiguration enthält keine guten/aktuellen Microsoft-Artikel Schritte.

1) Was genau muss ich auf dem Server tun? Unter den verschiedenen Rollen IIS wird keine Option für die Webbereitstellung angezeigt. Ich habe von einigen Leuten gelesen, die "Web Deploy 3.0" von Microsoft heruntergeladen und installiert haben, aber diese Datei ist ein Jahr alt, und es scheint seltsam, dass ich eine andere Datei herunterladen müsste, um eine hochgestufte IIS -Dateibereitstellungsoption zu verwenden. Wenn Sie wie ich IIS7 oder IIS7.5 anstelle von IIS8 verwenden, können Sie gerne Ihre Eingaben beantworten, lassen Sie mich jedoch wissen, welche Version Sie verwenden.

2) Ist der Authentifizierungsprozess verschlüsselt? Zum Beispiel würde FTP Passwörter im Klartext senden. FTP über SSL funktioniert nicht, aber das Einrichten eines selbst ausgestellten SSL-Zertifikats ist ärgerlich, nur um eine sichere Authentifizierung zu erhalten. Was ist mit Web Deploy? Ist es sicher oder nicht?

3) Muss ich Port 8172 in der Firewall des Servers öffnen? In der Dokumentation von Microsoft heißt es, ich müsste es möglicherweise tun.

4) Auf der Visual Studio-Seite wird ein Konto für die Authentifizierung benötigt. Ist dies ein Windows-Konto auf dem Server? Sollte ich dann mit der rechten Maustaste auf den Websiteordner IIS auf dem Server klicken und diesen Benutzer dort hinzufügen, oder gibt es eine andere bevorzugte Methode zum Zuordnen von Benutzern zu Websites? Wenn ja, welche Rechte sind erforderlich?

Beantworten Sie einige oder alle der oben genannten Fragen, konzentrieren Sie sich jedoch auf die serverseitige Konfiguration und nicht auf den Client (Visual Studio). Bitte schlagen Sie FTP nicht vor, da ich wirklich Web Deploy ausprobieren möchte. Ich füge auch ein IIS 7.5-Tag hinzu, da einige der Antworten möglicherweise die gleichen sind wie für IIS 8.

30
stackonfire

Offenbar muss die Web Deploy-Erweiterung noch heruntergeladen werden. Auch Version 3.5 ist jetzt verfügbar.

Zum Herunterladen auf einen Server müssen Sie nach den Standard-Sicherheitsregeln IE=) http: //*.Microsoft.com als vertrauenswürdige Site hinzufügen, andernfalls können Sie das Installationsprogramm nicht herunterladen.

Das gesamte Paket ist in seinem Zweck ziemlich umfangreich und deckt viele Bereitstellungs-, Sicherungs- und Übertragungstypszenarios für IIS ab. Wenn Sie es installieren, wird es zu "Web Platform Installer 4.6" und installiert neben Web Deploy 3.5 ungefähr 10 weitere Voraussetzungen. Diese Voraussetzungen gelten für CLR-Typen, SQL Server-Framework (auch wenn SQL Server nicht installiert ist), gemeinsam genutzte SQL Server-Verwaltungsobjekte usw. Ich habe anschließend überprüft, ob alle diese Elemente über die Systemsteuerung deinstallierbar sind (falls ich es mir anders überlegt habe) über Web Deploy) und sie sind da.

Zum Konfigurieren der Webbereitstellung auf einer Website habe ich das folgende Dokument gefunden:

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

Um weitere Informationen zu diesem Thema zu erhalten, klicken Sie auf "Web Deployment Handler".

Es scheint auch, dass Sie die sichere Authentifizierung konfigurieren können. Dies ist der Hauptgrund, warum ich diesen Web Deploy-Veröffentlichungspfad gewählt habe, anstatt FTP in Klartext zu verwenden. Allerdings http://www.iis.net/learn/publish/using-web-deploy/introduction-to-web-deploy sagt

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

Ich bin nicht sicher, ob dies bedeutet, dass ich trotzdem ein SSL-Zertifikat verwenden muss. Ich hatte gehofft, dass Web Deploy mehr Authentifizierungsoptionen bietet, die sowohl sicher sind als auch kein Zertifikat benötigen.

28
stackonfire

Die als richtig markierte Antwort hat mich in die richtige Richtung geführt, um eine Website von Visual Studio 2013 auf Server 2012 zu veröffentlichen. Die Schaltfläche Verbindung überprüfen führte weiterhin aus, dass der Webverwaltungsdienst installiert ist.

Ab April 2014 funktionieren diese einfachen Schritte:

Installieren Sie Web Deploy

In Powershell:
(Von: 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 Regel hinzufügen name = "Allow Web Management" dir = in Aktion = Dienst zulassen = "WMSVC"

In IIS:
(Von http://blog.richardszalay.com/2013/02/02/building-a-deployment-pipeline-with-msdeploy-part-4-server-configuration/ )

  • Erstellen Sie einen neuen Benutzer ohne Administratorrechte
  • Sobald Ihr Benutzer erstellt wurde, müssen wir ihm die Berechtigung zum Bereitstellen der Site erteilen. Klicken Sie mit der rechten Maustaste auf Ihre Website und wählen Sie "Configure for Web Deploy Publishing ..." aus dem Untermenü "Deploy"
14
Paul Lockwood