2013-10-08 5 views
30

Ich kontrolliere einen Server mit IIS 8 unter Windows Server 2012. Ich möchte ein paar grundlegende asp.net-Websites mit der Option Veröffentlichen in Visual Studio 2012 veröffentlichen. Es gibt keine guten/aktuellen Microsoft-Artikel in den Server-Konfigurationsschritten.Konfigurieren der Web Deploy-Veröffentlichungsfunktion auf IIS, damit Entwickler veröffentlichen kann?

1) Was genau muss ich auf dem Server tun? Ich sehe unter den verschiedenen IIS-Rollen keine Rollenoption "Web-Bereitstellung". Ich habe von einigen Leuten gelesen, die "Web Deploy 3.0" von Microsoft herunterladen und installieren, aber diese Datei ist ein Jahr alt und es scheint merkwürdig, dass ich eine andere Datei herunterladen müsste, um eine hochgestufte IIS-Datei-Bereitstellungsoption zu verwenden. Wenn Sie wie ich IIS7 oder IIS7.5 anstelle von IIS8 verwenden, antworten Sie bitte, was SIE tun, aber lassen Sie mich 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 ausgegebenen SSL-Zertifikats ist nervig, nur um eine sichere Authentifizierung zu erhalten. Was ist mit Web Deploy? Ist es sicher oder nicht?

3) Muss ich Port 8172 auf der Firewall des Servers öffnen? Microsoft-Dokumentation sagt, dass ich "muss".

4) Auf der Visual Studio-Seite möchte es ein Konto für die Authentifizierung. Ist das ein Windows-Konto auf dem Server? Sollte ich dann mit der rechten Maustaste auf den IIS-Website-Ordner auf dem Server klicken und diesen Benutzer dort hinzufügen oder gibt es eine andere bevorzugte Möglichkeit, Benutzer auf Websites zuzuordnen? Wenn ja, welche Rechte werden benötigt?

Bitte beantworten Sie einige oder alle der oben genannten Punkte, aber bitte konzentrieren Sie sich auf die serverseitige Konfiguration und nicht auf den Client (Visual Studio). Bitte schlagen Sie nicht FTP vor, da ich Web Deploy wirklich ausprobieren möchte. Ich füge auch ein IIS 7.5-Tag hinzu, da einige der Antworten dieselben wie für IIS 8 sein können.

Antwort

28

Es scheint, dass die Web Deploy-Erweiterung noch heruntergeladen werden muss. Außerdem ist jetzt verfügbar.

Um auf einen Server heruntergeladen zu werden, müssen die IE-Standardsicherheitsregeln etwas wie http: //*.microsoft.com als vertrauenswürdige Site hinzufügen. Andernfalls können Sie das Installationsprogramm nicht herunterladen.

Das gesamte Paket ist ziemlich groß in seinem Zweck und deckt viele Szenarien für die Bereitstellung/Sicherung/Übertragung von IIS ab. Wenn Sie es installieren, wird es zu "Web Platform Installer 4.6" und installiert ungefähr 10 Voraussetzungen zusätzlich zu Web Deploy 3.5. Diese Voraussetzungen umfasst CLR-Typen, SQL Server-Framework (auch wenn Sie SQL Server nicht installiert haben), SQL Server freigegebene Verwaltungsobjekte usw. Ich habe später überprüft, ob alle diese Elemente über das Control Panel deinstallierbar sind (falls ich meine Meinung geändert habe über Web-Deploy) und sie sind da.

Schließlich konfigurieren Web auf einer Website bereitstellen, fand ich dieses Dokument:

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

Um weitere Informationen zu diesem Thema google "Web-Deployment-Handler" zu finden.

Es scheint auch, dass Sie die sichere Authentifizierung konfigurieren können, was der Hauptgrund dafür ist, dass ich diesen Web Deploy-Veröffentlichungspfad anstelle von reinem Klartext-FTP verwendet habe. Jedoch sagt http://www.iis.net/learn/publish/using-web-deploy/introduction-to-web-deploy

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, ich muss sowieso ein SSL-Zertifikat verwenden. Ich hatte gehofft, dass Web Deploy mehr Authentifizierungsoptionen zur Verfügung stellte, die beide sicher waren und kein Zertifikat benötigten.

+3

Vielen Dank für diese ausführlichen Beitrag. Ich stimme zu, dass die Dokumentation nicht großartig ist. Ich habe die letzten paar Stunden damit verbracht, meinen Kopf dazu zu bringen. – QFDev

+1

Weird, 3.6 wird in Web PI angezeigt, aber nicht auf der Seite ASP.NET Deploy & Migrate? – SteveC

+1

Durch die Installation von Web Deploy 3.6 wird das Management Service Delegation-Tool nicht erstellt. Ich musste 3.6 deinstallieren und 3.5 installieren, bevor ich Management Service Delegation verwenden konnte. – OutstandingBill

13

Die als richtig markierte Antwort hat mich in die richtige Richtung gelenkt, um eine Website von Visual Studio 2013 auf Server 2012 zu veröffentlichen. Die Schaltfläche Verbindung bestätigen wurde mit der Überprüfung des Web-Management-Dienstes bestätigt.

Ab April 2014 diese einfachen Schritte funktionieren:

Web Deploy

Installieren

In Powershell:
  (aus: 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 Regel hinzufügen Firewall name = dir“Web Verwaltung zulassen“ = in Aktion = ermöglichen service =“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 wird, wir müssen sie die Erlaubnis erteilen, die Website zu implementieren. Rechtsklicken Sie auf Ihre Website und wählen Sie „Configure für Web Deploy Publishing ...“ aus dem „Bereitstellen“ Untermenü
+3

Nur ein FYI, IIS 8 hat nicht mehr die 'Configure für Web Deploy Publishing'-Option unter' Deploy' – webworm

+4

Was für eine Überraschung :) Persönlich habe ich zurück zu xcopy deploy bewegt. Viel einfacher und was auch immer Microsoft ändert xcopy wird immer noch funktionieren + unser gesamtes Team versteht, wie es funktioniert. –

+0

Ich stimme dir zu. Ich habe versucht, Web Deploy herauszufinden, aber Pakete müssen in der richtigen Reihenfolge installiert werden. Web Platform Installer scheint nicht in der Lage zu sein, die richtigen Abhängigkeiten aufzugreifen. Ich werde auch xcopy verwenden. – webworm