Freigeben über


Leitfaden für die Bereitstellung von FTP und Veröffentlichen mit VWD

von Walter Oliver

Der FTP-Dienst für IIS ist eine wichtige Komponente der Windows-Webplattform. Es bietet eine stabile, sichere Lösung für FTP in einer Windows-Umgebung. Administratoren der freigegebenen Hostingumgebung können FTP für IIS verwenden, um ihren Kunden das Hochladen und Synchronisieren ihrer Inhalte zu ermöglichen. Der Artikel Was ist neu für Microsoft und FTP? führt die neuen FTP-Features ein. Dies umfasst u.a. die folgenden Funktionen:

  • Integration mit IIS:

    • Neuer Konfigurationsspeicher basierend auf dem .NET XML-basierten *.config-Format
    • Neues Verwaltungstool
  • Sicherheit und Unterstützung für neue Internetstandards:

    • FTP über SSL
    • Nicht-Windows-Konten für die Authentifizierung
    • UTF8 und IPv6
  • Verbesserungen beim Shared Hosting:

    • Hosten von FTP- und Webinhalten auf derselben Site durch Hinzufügen einer FTP-Bindung zu einer vorhandenen Website
    • Unterstützung des virtuellen Hostnamens, sodass mehrere FTP-Sites auf derselben IP-Adresse gehostet werden können
    • Verbesserte Benutzerisolation durch virtuelle Verzeichnisse pro Benutzer
  • Verbesserte Protokollierungs- und Supportfunktionen:

    • Erweiterte FTP-Protokollierung umfasst sämtlichen FTP-bezogenen Datenverkehr, eindeutige Nachverfolgung für FTP-Sitzungen, FTP-Unterstatus und zusätzliche Detailfelder in FTP-Protokollen
    • Detaillierte Fehlerantworten bei der lokalen Anmeldung bei einem FTP-Server
    • Detaillierte Informationen bei Verwendung der Ereignisablaufverfolgung für Windows (ETW), die zusätzliche Informationen zur Problembehandlung bereitstellt

Das folgende Video bietet eine Übersicht und Demos mehrerer Features in FTP 7.0.

Bereitstellen von FTP

FTP ist einer der Front-End-Server in der freigegebenen Hostingkonfiguration.

Diagram of F T P service deployment involving the interactions between the front end and back end servers.

Dieses Bild zeigt mehrere wichtige Merkmale der FTP-Bereitstellung in der freigegebenen Hostingumgebung:

  1. Der FTP-Dienst kann denselben Computer gemeinsam nutzen, der für die Remoteverwaltung (Webverwaltung – WMSVC) und MS Bereitstellungsdienste verwendet wird.
  2. Der FTP-Computer ist Teil der freigegebenen Konfiguration, die von den Webfarm-Servern verwendet wird, was bedeutet, dass sich die auf diesem Computer installierten Komponenten auch auf den Webfarm-Servern befinden sollten. Da die Webfarm jedoch nicht zum Verarbeiten von FTP-Anforderungen verwendet wird, können die FTP-, Webverwaltungs- (WMSVC) und MS Bereitstellungsdienste beendet werden.
  3. Der FTP-Computer ist nicht für das Hosten von Webanwendungen vorgesehen.
  4. Der Firewall-Router mit Internetzugriff führt die Portweiterleitung des FTP-Datenverkehrs an den FTP-Server durch.

Bereitstellungskonfiguration

Der FTP-Server für IIS verfügt über mehrere Features, die ihn ideal für freigegebene Hostingszenarien machen. Die folgenden Richtlinien nutzen die neue FTP-Benutzerisolationsfunktion. Diese Funktion ermöglicht Folgendes:

  • Administratoren können den Benutzerzugriff nur auf das für den Benutzer definierte physische oder virtuelle Verzeichnis beschränken. Dies bedeutet, dass eine einzelne FTP-Site implementiert wird. Diese Site enthält ein bestimmtes physisches oder virtuelles Verzeichnis für jeden Benutzernamen.
  • Administratoren können SSL aktivieren und ein einzelnes Zertifikat für alle Verbindungen verwenden, wenn dies explizit von Benutzern erforderlich ist.
  • Benutzer können die FTP-Site so anzeigen, als ob es nur ihre eigene wäre. Wenn sie sich beim FTP-Server anmelden, sind sie auf ihr spezifisches Verzeichnis beschränkt und können nicht in der Verzeichnisstruktur navigieren.

Schritte

  1. Wählen Sie den FTP-Computer aus, und installieren Sie den neuen FTP-Dienst für IIS. Folgen Sie den Anweisungen in Installation und Problembehandlung bei FTP.

  2. Erstellen Sie einen Stammordner, der für Ihre FTP-Site verwendet werden soll, z. B.: %*SystemDrive*%\inetpub\ftproot.

  3. Wenn es Anforderungen an FTP-Hochverfügbarkeit und/oder Lastenausgleich gibt, stellt Microsoft optional Lösungen wie Netzwerklastenausgleich oder Failovercluster bereit. DNS-Roundrobin könnte ausreichend sein.

  4. Erstellen Sie eine Site, die SSL-Verbindungen und die Standardauthentifizierung zulässt. Führen Sie die Schritte im Abschnitt Erstellen einer SSL-aktivierten Site aus.

  5. Aktivieren Sie die Funktion „Benutzerisolation“. Führen Sie die Schritte im Abschnitt Konfigurieren der Benutzerisolation für alle Verzeichnisse aus.

  6. Konfigurieren Sie die FTP-Firewalleinstellungen wie im entsprechenden Abschnitt unten beschrieben.

  7. Beenden Sie den Windows-Prozessaktivierungsdienst (WAS):

    • Geben Sie an der Eingabeaufforderung services.msc ein. Dadurch wird die Dienste-Konsole angezeigt.
      Screenshot of the Services console with Windows Process Activation Service selected.
    • Doppelklicken Sie auf Windows-Prozessaktivierungsdienst.
      Screenshot of the Windows Process Activation Service Properties with Startup type set to Disabled.
    • Stellen Sie im Dialogfeld „Eigenschaften des Windows-Prozessaktivierungsdiensts“ sicher, dass der Starttyp für diesen Dienst auf „Deaktiviert“ festgelegt ist. Klicken Sie auf Beenden und dann auf OK.

Erstellen einer SSL-aktivierten Site

In diesem Abschnitt erstellen Sie eine neue FTP-Site, die mit einem Ihrer Benutzerkonten geöffnet werden kann.

  1. Navigieren Sie zum IIS-Manager. Klicken Sie im Bereich „Verbindungen“ auf den Knoten „Sites“in der Struktur.

  2. Klicken Sie in der Struktur mit der rechten Maustaste auf den Knoten Sites und klicken Sie auf FTP-Site hinzufügen oder klicken Sie im Aktionsbereich auf FTP-Site hinzufügen.
    Screenshot of an emphasized Add F T P Site option after right-clicking Sites in the Connections pane.

  3. Wenn der Assistent „FTP-Site hinzufügen“ angezeigt wird:

    • Geben Sie „Meine neue FTP Site“ in das Textfeld für den FTP-Site-Namen ein, und navigieren Sie dann zu dem Stammordner, den Sie für Ihre FTP-Site erstellt haben (Beispiel: %*SystemDrive*%\inetpub\ftproot).

      Hinweis

      Wenn Sie sich dafür entscheiden, den Pfad zu Ihrem Inhaltsordner einzugeben, können Sie Umgebungsvariablen in Ihren Pfaden verwenden.

    • Klicken Sie auf Weiter.
      Screenshot of the Add F T P Site dialog with the specified Site Information.

  4. Auf der nächsten Seite des Assistenten:

    • Wählen Sie im Textfeld IP-Adresse eine IP-Adresse für Ihre FTP-Site aus oder akzeptieren Sie die Standardauswahl „Alle nicht zugewiesenen“. In diesem Beispiel wird die lokale Loopback-IP „127.0.0.1“ verwendet.
    • Geben Sie den TCP/IP-Port für die FTP-Site in das Textfeld Port ein. In diesem Beispiel wird der Standardport „21“ verwendet.
    • Stellen Sie sicher, dass das Textfeld Virtueller Host leer ist. Verwenden Sie keinen Hostnamen.
    • Stellen Sie sicher, dass die Dropdownliste Zertifikate auf das entsprechende Zertifikat festgelegt ist, das Sie verwenden möchten. In diesem Beispiel wird ein selbstsigniertes Zertifikat namens „Mein FTP-Zertifikat“ verwendet. Anweisungen finden Sie unter Erstellen eines selbstsignierten SSL-Zertifikats.
    • Stellen Sie sicher, dass die Option SSL zulassen ausgewählt ist.
    • Klicken Sie auf Weiter.
      Screenshot of the Add F T P Site dialog with the specified Binding and S S L Settings.
  5. Auf der nächsten Seite des Assistenten:

    • Wählen Sie Basic für die Authentifizierungs-Einstellungen aus.

    • Für die Einstellungen der Autorisierungs:

      • Wählen Sie „Alle Benutzer“ aus der Dropdownliste Zugriff zulassen aus.
      • Wählen Sie Lesen und Schreiben für die Option Berechtigungen aus.
    • Klicken Sie auf Fertig stellen, nachdem Sie diese Einstellungen vorgenommen haben.
      Screenshot of the Add F T P Site dialog with the specified Authentication and Authorization Information.

Zusammenfassung

Sie haben nun eine neue SSL-basierte FTP-Site unter Verwendung des neuen FTP-Dienstes erstellt. Überprüfen wir die Elemente, die Sie in dieser Prozedur abgeschlossen haben:

  • Sie haben eine neue FTP-Site namens „Meine neue FTP Site“ erstellt, wobei der Inhaltsstamm der Site unter %*SystemDrive*%\inetpub\ftproot zu finden ist.
  • Sie haben die FTP-Site an die IP-Adresse für Ihren Computer an Port 21 gebunden.
  • Sie haben sich entschieden, Secure Sockets Layer (SSL) für die FTP-Site zuzulassen, und Ihr Zertifikat ausgewählt.
  • Sie haben die Standardauthentifizierung aktiviert und eine Autorisierungsregel für alle Benutzerkonten für Lese- und Schreibzugriff erstellt.

Eine direkte Bearbeitung der XML-Konfigurationsdateien finden Sie unter Hinzufügen von SSL-basierten FTP-Veröffentlichungen durch Bearbeiten der IIS-Konfigurationsdateien.

Konfigurieren der Benutzerisolation für alle Verzeichnisse

Wenn Sie Benutzer für alle Verzeichnisse isolieren, sind alle FTP-Benutzersitzungen auf das physische oder virtuelle Verzeichnis mit demselben Namen des FTP-Benutzerkontos eingeschränkt. Zusätzlich werden alle erstellten globalen virtuellen Verzeichnisse ignoriert. In diesem Schritt konfigurieren Sie die Benutzerisolation für alle Verzeichnisse.

  1. Erstellen Sie einen Ordner unter %*SystemDrive*%\inetpub\ftproot\LocalUser\. Dieser Ordner enthält alle Verzeichnisse des lokalen Benutzerkontos. Sie können diesen Ordner auf Ihrem Dateifreigabeserver (NAS) erstellen. Wenn Sie Benutzerkonten bereitstellen, müssen Sie auch Lese- und Schreibzugriff auf die Inhaltsordner der Benutzer zuweisen.
  2. Klicken Sie im IIS-Manager auf den Knoten für die soeben erstellte FTP-Site. Die Symbole für alle FTP-Funktionen werden angezeigt.
  3. Doppelklicken Sie auf das Symbol der FTP-Benutzerisolation, um die FTP-Benutzerisolationsfunktion zu öffnen.
    Screenshot of the My New F T P Site Home pane with F T P User Isolation selected.
  4. Wenn die Seite mit der Funktion „FTP-Benutzerisolation“ angezeigt wird, wählen Sie das Benutzernamenverzeichnis (globale virtuelle Verzeichnisse deaktivieren), aus und klicken Sie dann im Aktionsbereich auf Anwenden.
    Screenshot of the F T P User Isolation pane with restricting users to the User name directory.

Zusammenfassung

Überprüfen wir nun die Einstellungen, die Sie in dieser Prozedur vorgenommen haben: Sie haben die FTP-Benutzerisolation mithilfe der Option Benutzernamenverzeichnis (globale virtuelle Verzeichnisse deaktivieren) konfiguriert. Bei Verwendung dieses Modus der Benutzerisolation sind alle FTP-Benutzersitzungen auf das virtuelle oder physische Verzeichnis mit demselben Namen des FTP-Benutzerkontos eingeschränkt, und alle globalen virtuellen Verzeichnisse, die erstellt werden, werden ignoriert.

Um Basisverzeichnisse für jeden Benutzer zu erstellen, müssen Sie zuerst ein virtuelles oder physisches Verzeichnis unter dem Stammordner des FTP-Servers erstellen, der nach Ihrer Domäne benannt ist oder bei lokalen Benutzerkonten als „LocalUser“ benannt ist. Als Nächstes müssen Sie ein virtuelles oder physisches Verzeichnis für jedes Benutzerkonto erstellen, das auf Ihre FTP-Website zugreifen wird. Die folgende Tabelle enthält die Syntax des Basisverzeichnisses für die Authentifizierungsanbieter, die mit dem FTP-Dienst bereitgestellt werden:

Typen von Benutzerkonten Syntax des physischen Basisverzeichnisses
Anonyme Benutzende %FtpRoot%\LocalUser\Public
Lokale Windows-Benutzerkonten (erfordert die Standardauthentifizierung) %FtpRoot%\LocalUser\%UserName%
Windows-Domänenkonten (erfordert die Standardauthentifizierung) %FtpRoot%\%UserDomain%\%UserName%
Benutzerdefinierte Authentifizierungsbenutzerkonten in IIS-Manager oder ASP.NET %FtpRoot%\LocalUser\%UserName%

Hinweis

In der obigen Tabelle ist %FtpRoot% das Stammverzeichnis für Ihre FTP-Site. Zum Beispiel: C:\Inetpub\Ftproot

Globale virtuelle Verzeichnisse werden ignoriert; FTP-Benutzer können auf keine der virtuellen Verzeichnisse, die auf der Stammebene Ihrer FTP-Site konfiguriert sind, zugreifen. Alle virtuellen Verzeichnisse müssen explizit unter dem physischen oder virtuellen Basisverzeichnispfad des Benutzers definiert werden.

Konfigurieren der FTP-Firewalleinstellungen

Konfigurieren des passiven Portbereichs für den FTP-Dienst

In diesem Abschnitt konfigurieren Sie den Portbereich auf Serverebene für passive Verbindungen mit dem FTP-Dienst. Führen Sie die folgenden Schritte durch:

  1. Navigieren Sie zum IIS-Manager. Klicken Sie im Bereich „Verbindungen“ auf den Knoten der Serverebene in der Struktur.
    Screenshot of MY SERVER selected in the Connections pane with the MY SERVER Home pane displayed.

  2. Doppelklicken Sie in der Feature-Liste auf das Symbol FTP-Firewallunterstützung.
    Screenshot of F T P Firewall Support selected in the MY SERVER Home pane.

  3. Geben Sie einen Wertebereich für den Datenkanal-Portbereich ein.
    Screenshot of the Data Channel Port Range set to a value of 49152 dash 65535 in the F T P Firewall Support pane.

  4. Klicken Sie nach der Eingabe des Portbereichs für den FTP-Dienst im Aktionsbereich auf Anwenden, um die Konfigurationseinstellungen zu speichern.

    Hinweis

    • Der gültige Bereich für Ports beträgt 1025-65535. (Ports 1–1024 sind für die Verwendung durch Systemdienste reserviert.)

    • Sie können einen speziellen Portbereich von „0–0“ eingeben, um den FTP-Server für die Verwendung des dynamischen Portbereichs von Windows TCP/IP zu konfigurieren.

    • Weitere Informationen finden Sie in den folgenden Microsoft Knowledge Base-Artikeln:

    • Dieser Portbereich muss den zulässigen Einstellungen für Ihren Firewallserver hinzugefügt werden.

  5. Geben Sie die IPv4-Adresse der externen Adresse für Ihren Firewallserver für die Einstellung Externe IP-Adresse der Firewall ein.
    Screenshot of the External I P Address of Firewall set to a value of 131 dot 107 dot 0 dot 100.

  6. Nachdem Sie die externe IPv4-Adresse für Ihren Firewallserver eingegeben haben, klicken Sie auf Anwenden im Aktionsbereich, um Ihre Konfigurationseinstellungen zu speichern.

Zusammenfassung

Überprüfen wir die Elemente, die Sie in dieser Prozedur abgeschlossen haben:

  1. Sie haben den passiven Portbereich für Ihren FTP-Dienst konfiguriert.
  2. Sie haben die externe IPv4-Adresse für eine bestimmte FTP-Site konfiguriert.

Informationen zum Konfigurieren der Windows Server 2008-Firewall finden Sie unter (optional) Schritt 3: „Konfigurieren der Windows-Firewall-Einstellungen“. Siehe auch Weitere Informationen zum Verwenden von Firewalls.

Beispiele für FTP-Servernamen

FTP ist ein häufig enthaltener Dienst, wenn Hoster Konten für ihre Kunden bereitstellen. Die oben aufgeführten Anweisungen aktivieren den FTP für IIS-Dienst für Kunden, aber der FTP-Servername, wenn er einfach auf dem Namen des Hostingunternehmens basiert, kann etwa wie folgt aussehen:

ftp.hostingcompany.com. Solch ein Name kann für alle Benutzer ausreichend klar sein. Wenn Kunden ihn zum Herstellen einer Verbindung mit ihrem FTP-Verzeichnis verwenden, gelangen sie in ihr Verzeichnis und können nur ihre Ordner sehen. Der FTP-Servername ist für Kunden jedoch möglicherweise nicht so ansprechend wie ein FTP-Servername, der auf ihrer reservierten Domäne basiert, wie z. B.:

  • ftp.customerdomain.com
  • customerdomain.com

Wenn der FTP-Servername des Kunden mit dem reservierten Domänennamen verknüpft ist, wird die FTP-Diensterfahrung persönlicher und ansprechender gestaltet. Funktionell ist es dasselbe wie im vorherigen Beispiel, aber diese Option vereinfacht die Domänenbenennung für den Kunden. Um für jeden Kunden einen eigenen FTP-Servernamen einzurichten, müssen Sie entsprechende DNS-Datensätze für die Kundendomäne erstellen. Wenn Sie einen benutzerdefinierten FTP-Servernamen für jeden Kunden bereitstellen, sollten Sie auch einen alternativen Servernamen angeben, um zu verhindern, dass der FTP-Dienst ausfällt, wenn die Domänennamen aktualisiert werden. Ein Beispiel für einen alternativen Namen, der zusammen mit dem benutzerdefinierten Namen angegeben werden kann, könnte wie folgt aussehen: ftp.benutzername.hostingcompany.com. In einem solchen Fall würden die Kunden zwei Servernamen erhalten und wären in der Lage, sich mit demselben Verzeichnis zu verbinden, indem sie einen der beiden Namen verwenden, zum Beispiel:

  • ftp.customerdomain.com (oder customerdomain.com)
  • ftp.username.hostingcompany.com

Verbinden von Visual Web Developer

Dieser Artikel hat sich bisher auf die Bereitstellung von FTP in einer freigegebenen Hostingumgebung konzentriert. In diesem Abschnitt wird beschrieben, wie Kunden Visual Web Developer 2008 (VWD) nutzen können, um ihre Webanwendungen mithilfe des vom Hoster bereitgestellten FTP-Diensts zu veröffentlichen. Im folgenden Beispiel wird Folgendes angenommen:

  • Das Hostingunternehmen hat ein Konto für einen Benutzer namens „ftpuser1“ bereitgestellt.
  • Das Hostingunternehmen hat den entsprechenden virtuellen Ordner „ftproot\LocalUser*ftpuser1*“ erstellt.

Um Webanwendungsinhalte mit VWD zu veröffentlichen, führt ftpuser1 die folgenden Schritte aus:

  1. Ftpuser1 öffnet die Website namens „WebSite1“ in Visual Web Developer 2008 (VWD).
    Screenshot of the H T M L code for Default dot a s p x in Visual Web Developer.

  2. Ftpuser1 wählt „Website kopieren“ im Menü „Website“ aus.
    Screenshot of opening the Website option in the toolbar and selecting Copy Web Site.

  3. Ftpuser1 klickt auf Verbinden.
    Screenshot before connecting the Web Site copy to the specified F T P server.

  4. Ftpuser1 gibt die folgenden Werte ein:

    • Den FTP-Servernamen, der vom Hostingunternehmen bereitgestellt wird. Im folgenden Beispiel ist die Loopback-IP-Adresse 127.0.0.1.
    • Port. Im folgenden Beispiel ist der Standardwert Port 21.
    • Option für passiven Modus.
    • Standardauthentifizierungsoption. Ftpuser1 deaktiviert anonyme Anmeldung.
    • Benutzername: ftpuser1.
    • Kennwort.
  5. Ftpuser1 klickt dann auf Öffnen.
    Screenshot of the Open Web Site dialog with the specified F T P Site information.

  6. Der Ordner „ftpuser1“ wird im Bereich „Remotewebsite“ angezeigt. Im folgenden Beispiel ist der Bereich leer, da ftpuser1 die Website zum ersten Mal veröffentlicht.
    Screenshot of an empty Remote Web Site pane after opening the F T P Web Site.

  7. Ftpuser1 veröffentlicht alle Inhaltselemente im Bereich „Quellwebsite“, indem er alle Dateien und Ordner auswählt und dann auf Synchronisieren klickt:

    • Ftpuser1 klickt auf den linken Bereich.
    • Ftpuser1 gibt STRG+A ein, um alle Dateien auszuwählen.
    • Ftpuser1 klickt auf Synchronisieren (zwischen den beiden Bereichen, dritte Schaltfläche von oben).
      Screenshot before synchronizing all selected files in the Source Web Site pane.
  8. Die Dateien und Ordner werden auf den FTP-Server hochgeladen und im virtuellen Verzeichnis des Benutzers gespeichert: ftpuser1. (Aufgrund der Einschränkung der Benutzerisolierung kennt der Benutzer die Inhalte anderer Benutzer auf demselben Server nicht).
    Screenshot after synchronization with copies of the synchronized files in the Remote Web site pane.

Zusammenfassung

Dieses Handbuch enthält die Informationen, die zum Installieren und Konfigurieren eines FTP für IIS-Diensts in einer freigegebenen Hostingumgebung erforderlich sind. Außerdem wird gezeigt, wie Kunden Visual Web Developer nutzen können, um ihre Inhalte in ihrem FTP-Siteverzeichnis zu veröffentlichen.