共用方式為


使用 VWD 部署 FTP 和發佈指南

作者: Olive Oliver

IIS 的 FTP 服務是 Windows Web 平臺的重要元件。 它為 Windows 環境中的 FTP 提供健全且安全的解決方案。 共用裝載 環境管理員可以使用 FTP ,讓客戶上傳和同步處理其內容。 Microsoft Microsoft 和 FTP 的新功能為何? 介紹新的 FTP 功能。 重點如下:

  • 與 IIS 整合:

    • 以 .NET XML 為基礎的 *.config 格式為基礎的新組態存放區
    • 新增管理工具
  • 新因特網標準的安全性和支援:

    • 透過 SSL 的 FTP
    • 用於驗證的非 Windows 帳戶
    • UTF8 和 IPv6
  • 共用主機改善:

    • 將 FTP 系結新增至現有的網站,以裝載來自相同網站的 FTP 和 Web 內容
    • 虛擬主機名支援,讓您能夠在相同的IP位址上裝載多個FTP網站
    • 透過個別使用者虛擬目錄改善用戶隔離
  • 改善的記錄與支援性功能:

    • 增強式 FTP 記錄包含所有 FTP 相關流量、FTP 工作階段的唯一追蹤、FTP 子狀態,以及 FTP 記錄中的其他詳細數據欄位
    • 在本機登入 FTP 伺服器時的詳細錯誤回應
    • 使用 Windows 事件追蹤 (ETW) 時的詳細資訊,可提供疑難解答的其他資訊

下列影片提供 FTP 7.0 中數項功能的概觀和示範。

部署 FTP

FTP 是中的其中一個前端伺服器。

F T P 服務部署的圖表,涉及前端與後端伺服器之間的互動。

此映射醒目提示共用主控環境中 FTP 部署的幾個重要特性:

  1. FTP 服務可以共用用於遠端管理 (Web 管理 - WMSVC) 和 MS Deploy 服務的同一部電腦。
  2. FTP 計算機是 Web 伺服器數位伺服器所使用的的一部分,這表示此電腦上安裝的元件也應該位於 Web 伺服器數位伺服器上。 不過,由於 Web 伺服器陣列不會用來處理 FTP 要求,因此可以停止 FTP、Web 管理 (WMSVC) ,以及 MS Deploy 服務。
  3. FTP 電腦不是用來裝載 Web 應用程式。
  4. 因特網對向防火牆路由器會執行 FTP 流量的埠轉送至 FTP 伺服器。

部署組態

IIS 伺服器的 FTP 有數個功能,適合用於共用裝載案例。 下列指導方針會利用新的 FTP 用戶隔離功能。 此功能允許:

  • 系統管理員只能存取為使用者定義的實體或虛擬目錄。 這表示實作單一 FTP 月臺;此網站會包含每個用戶名稱的特定實體或虛擬目錄。
  • 系統管理員在用戶明確要求時,針對所有連線啟用 SSL 並使用單一憑證。
  • 用戶可檢視 FTP 網站,就像只是他們的網站一樣。 當他們登入 FTP 伺服器時,它們會受限於其特定目錄,而且將無法巡覽目錄樹狀目錄。

步驟

  1. 選取 FTP 計算機,並安裝適用於 IIS 服務的新 FTP。 請依照 中找到的指示進行。

  2. 建立要用於 FTP 網站的根資料夾,例如: %*SystemDrive*%\inetpub\ftproot

  3. 或者,如果有 FTP 高可用性和/或負載平衡需求,Microsoft 會提供網路負載平衡等解決方案,DNS 迴圈配置資源可能已足夠。

  4. 建立允許 SSL 連線和基本身份驗證的網站。 請遵循 建立 SSL 已啟用網站 一節中的步驟。

  5. 啟用用戶隔離功能。 請遵循設定 所有目錄的用戶隔離 一節中的步驟。

  6. 設定 FTP 防火牆設定,如下列 對應 章節所述。

  7. 停止 Windows Process Activation Service (WAS) :

    • 在命令提示字元中,輸入 services.msc 這會顯示 Services 控制台。
      [服務] 主控台的螢幕快照,其中已選取 [Windows 進程啟用服務]。
    • 按兩下 [Windows 行程啟用服務]。
      Windows 行程啟用服務屬性的螢幕快照,其中 [啟動類型] 設定為 [已停用]。
    • 在 [Windows 行程啟用服務屬性] 對話框中,確定此服務的 [啟動類型] 設定為 [已停用]。 按兩下 [停止],然後按兩下 [ 確定]。

建立已啟用 SSL 的網站

在本節中,您將建立可使用任何用戶帳戶開啟的新 FTP 網站。

  1. 移至 [IIS 管理員]。 在 [連線] 窗格中,按兩下樹狀結構中的 [月臺] 節點。

  2. 以滑鼠右鍵按兩下樹狀目錄中的 [月臺] 節點,然後按下 [ 新增 FTP 月臺],或按兩下 [動作] 窗格中的 [ 新增 FTP 網站 ]。
    在 [連線] 窗格中以滑鼠右鍵按兩下 [網站] 之後,強調 [新增 F T P 月臺] 選項的螢幕快照。

  3. 當 [新增 FTP 月臺精靈] 出現時:

    • 在 [ FTP 網站名稱 ] 文本框中輸入 [我的新 FTP 網站],然後流覽至您為 FTP 網站建立的根資料夾, (範例: %*SystemDrive*%\inetpub\ftproot) 。

      注意

      如果您選擇輸入內容資料夾的路徑,您可以在路徑中使用環境變數。

    • 按一下 [下一步]。
      [新增 F T P 網站] 對話框的螢幕快照,其中包含指定的網站資訊。

  4. 在精靈的下一頁:

    • 在 [IP 位址] 文本框中選擇 FTP 網站的 IP 位址 ,或選擇接受預設選取 [所有未指派]。此範例使用本機回送IP“127.0.0.1”。
    • 在 [埠] 文本框中輸入 FTP 網站的 TCP/IP 連接埠 。 此範例使用預設埠 “21”。
    • 確定 [ 虛擬主機 ] 文本框是空白的。 請勿使用主機名。
    • 請確定 [ 憑證 ] 下拉式清單已設定為您想要使用的適當憑證。 此範例使用稱為「我的 FTP 憑證」的自我簽署憑證。如需指示,請參閱 建立自我簽署 SSL 憑證
    • 確定已選取 [ 允許 SSL ] 選項。
    • 按一下 [下一步]。
      [新增 F T P 網站] 對話框的螢幕快照,其中包含指定的系結和 S S L 設定。
  5. 在精靈的下一頁:

    • 針對 [驗證設定] 選取 [基本]。

    • 針對 [授權 ] 設定:

      • [允許存取] 下拉式清單中選擇 [所有使用者]。
      • 針對 [許可權] 選項選取 [讀取] 和 [寫入]。
    • 當您完成這些專案時,請按兩下 [ 完成]。
      [新增 F T P 網站] 對話框的螢幕快照,其中包含指定的驗證和授權資訊。

摘要

您現在已使用新的 FTP 服務建立新的 SSL 型 FTP 網站。 檢閱您在此程式中完成的專案:

  • 您已建立名為 「My New FTP Site」 的新 FTP 網站,將網站的內容根目錄放在 %*SystemDrive*%\inetpub\ftproot
  • 您將 FTP 月台系結至埠 21 上電腦的 IP 位址。
  • 您選擇允許 FTP 網站的安全套接字層 (SSL) ,並選取您的憑證。
  • 您已啟用基本身份驗證,並針對所有用戶帳戶建立授權規則,以進行讀取和寫入存取。

如需 XML 組態檔的直接編輯,請參閱編輯 新增 SSL 型 FTP 發佈,方法是編輯 IIS 組態檔來新增 SSL 型 FTP 發佈

設定所有目錄的用戶隔離

隔離所有目錄的使用者時,所有 FTP 用戶工作階段都會限製為具有相同 FTP 使用者帳戶名稱的實體或虛擬目錄。 此外,將會忽略所有建立的全域虛擬目錄。 在此步驟中,您將為所有目錄設定用戶隔離。

  1. 在建立資料夾 %*SystemDrive*%\inetpub\ftproot\LocalUser\。 此資料夾將包含所有本機用戶帳戶目錄。 您可以在檔案共享伺服器上建立此資料夾, (NAS) 。 當您布建用戶帳戶時,也必須將讀取和寫入許可權指派給使用者的內容資料夾。
  2. 在 IIS 管理員中,按兩下您剛才建立之 FTP 網站的節點。 這會顯示所有 FTP 功能的圖示。
  3. 按兩下 FTP 使用者隔離圖示以開啟 FTP 使用者隔離功能。
    [我的新 F T P 網站首頁] 窗格的螢幕快照,其中已選取 F T P 用戶隔離。
  4. 顯示 [FTP 使用者隔離] 功能頁面時,請選取 [使用者名稱目錄] (停用全域虛擬目錄) ,然後按兩下 [動作] 窗格中的 [ 套用 ]。
    [F T P 使用者隔離] 窗格的螢幕快照,其中將使用者限制為 [用戶名稱] 目錄。

摘要

檢閱您在此程式中完成的專案:您已使用 [使用者名稱目錄] (停用全域虛擬目錄) 選項來 設定 FTP 用戶隔離。 使用此使用者隔離模式時,所有 FTP 使用者工作階段都會限製為具有相同 FTP 使用者帳戶名稱的虛擬或實體目錄,而且將會忽略任何已建立的全域虛擬目錄。

若要為每個使用者建立主目錄,您必須先在 FTP 伺服器的根資料夾下建立虛擬或實體目錄,該資料夾會以您的網域命名,或針對本機用戶帳戶命名為 LocalUser。 接下來,您必須為每個將存取 FTP 網站的使用者帳戶建立虛擬或實體目錄。 下表列出 FTP 服務隨附之驗證提供者的主目錄語法:

用戶帳戶類型 實體主目錄語法
匿名使用者 %FtpRoot%\LocalUser\Public
本機 Windows 使用者帳戶 (需要基本身份驗證) %FtpRoot%\LocalUser\%UserName%
Windows 網域帳戶 (需要基本身份驗證) %FtpRoot%\%UserDomain%\%UserName%
IIS 管理員或 ASP.NET 自定義驗證用戶帳戶 %FtpRoot%\LocalUser\%UserName%

注意

在上表中,%FtpRoot% 是您 FTP 網站的根目錄;例如, C:\Inetpub\Ftproot

全域虛擬目錄會被忽略;任何 FTP 使用者都無法存取在 FTP 網站根層級設定的虛擬目錄。 所有虛擬目錄都必須明確定義在用戶的實體或虛擬主目錄路徑下。

設定 FTP 防火牆設定

設定 FTP 服務的被動埠範圍

在本節中,您會為FTP服務的被動連線設定伺服器層級埠範圍。 使用下列步驟:

  1. 移至 [IIS 管理員]。 在 [連線] 窗格中,按兩下樹狀結構中的伺服器層級節點。
    [連線] 窗格中已選取 [我的伺服器] 的螢幕快照,其中顯示 [我的伺服器首頁] 窗格。

  2. 在功能清單中,按兩下 [FTP 防火牆支援] 圖示。
    在 [MY SERVER 首頁] 窗格中選取 [F T P 防火牆支援] 的螢幕快照。

  3. 輸入適用於 [資料通道連接埠範圍] 的值範圍。
    [F T P 防火牆支援] 窗格中,數據通道埠範圍設定為 49152 虛線 65535 的螢幕快照。

  4. 輸入 FTP 服務的埠範圍之後,請按兩下 [動作] 窗格中的 [ 套用 ] 以儲存組態設定。

    注意

    • 埠的有效範圍是 1025-65535。 (埠 1-1024 保留供系統服務使用。)

    • 您可以輸入 「0-0」 的特殊埠範圍,將 FTP 伺服器設定為使用 Windows TCP/IP 動態埠範圍。

    • 如需詳細資訊,請參閱下列 Microsoft 知識庫文章:

    • 此埠範圍必須新增至防火牆伺服器的允許設定。

  5. 針對防火牆伺服器輸入防火牆伺服器外部 IP位址設定的 IPv4位址。
    設定為 131 點 107 點 0 點 100 之防火牆外部 I P 位址的螢幕快照。

  6. 輸入防火牆伺服器的外部 IPv4 位址之後,請按兩下 [動作] 窗格中的 [ 套用 ] 以儲存組態設定。

摘要

檢閱您在此程式中完成的專案:

  1. 您已設定 FTP 服務的被動埠範圍。
  2. 您已針對特定 FTP 網站設定外部 IPv4 位址。

For information about how to configure the Windows Server 2008 Firewall, see (Optional) Step 3: "Configure Windows Firewall Settings. 另請參閱 有關使用防火牆的詳細資訊

FTP 伺服器名稱範例

當主機服務提供者為其客戶布建帳戶時,FTP 通常是包含的服務。 上述指示會為客戶啟用 IIS 服務的 FTP,但如果只是根據主控公司名稱,FTP 伺服器名稱可能如下所示:

ftp.hostingcompany.comSuch 名稱可能已足夠清楚供所有使用者使用;當客戶使用它來連線到其 FTP 目錄時,他們將會進入其目錄,而且只能看到其資料夾。 但 FTP 伺服器名稱可能不如根據客戶的保留網域吸引客戶使用 FTP 伺服器名稱,例如:

  • ftp.customerdomain.com
  • customerdomain.com

如果客戶有與其保留功能變數名稱相關聯的 FTP 伺服器名稱,FTP 服務體驗將會更個人化且更具吸引力。 在功能上,它與上一個範例相同,但此選項可簡化客戶的網域命名。 若要為每個客戶設定自定義 FTP 伺服器名稱,您必須為客戶網域建立適當的 DNS 記錄。 這需要額外的布建步驟。如果您為每個客戶提供自定義的 FTP 伺服器名稱,您可能也會想要提供替代伺服器名稱,以防止更新功能變數名稱時發生 FTP 服務中斷。 要連同自定義名稱一起提供的另一個名稱範例如下:ftp.username.hostingcompany.com。在這種情況下,客戶會收到兩個伺服器名稱,而且可以使用任一名稱連線到相同的目錄;例如:

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

從 Visual Web Developer 連線

本文到目前為止著重於如何在共用裝載環境中部署 FTP。 本節說明客戶如何使用主機服務提供者提供的 FTP 服務,利用 Visual Web Developer 2008 (VWD) 來發佈其 Web 應用程式。 下列範例假設:

  • 主控公司已將帳戶布建給名為 「ftpuser1」 的使用者。
  • 主控公司已建立對應的虛擬資料夾 「ftproot\LocalUser*ftpuser1*」。。

若要使用 VWD 發佈 Web 應用程式內容,ftpuser1 會執行下列步驟:

  1. Ftpuser1 會在 Visual Web Developer 2008 (VWD) 中開啟名為 “WebSite1” 的網站。
    Visual Web 開發人員中預設點 p x 之 H T M L 程式代碼的螢幕快照。

  2. Ftpuser1 會從 [網站] 功能選取 [複製網站]。
    在工具列開啟 [網站] 選項並選取 [複製網站] 的螢幕快照。

  3. Ftpuser1 按兩下 [ 連線]。
    將網站複本連線到指定的 F T P 伺服器之前,螢幕快照。

  4. Ftpuser1 輸入下列值:

    • 主控公司提供的 FTP 伺服器名稱。 在下列範例中,回送IP位址是127.0.0.1。
    • 連接埠。 在下列範例中,預設值為埠 21。
    • 被動模式選項。
    • 基本身份驗證選項。 Ftpuser1 取消選取匿名登入。
    • 用戶名稱:ftpuser1。
    • Password。
  5. Ftpuser1 然後按兩下 [ 開啟]。
    [開啟網站] 對話框的螢幕快照,其中包含指定的 F T P 網站資訊。

  6. Ftpuser1 的資料夾會出現在 [遠端網站] 窗格中。 在下列範例中,窗格是空的,因為 ftpuser1 第一次發佈網站。
    開啟 F T P 網站之後,空白遠端網站窗格的螢幕快照。

  7. Ftpuser1 藉由選取所有檔案和資料夾,然後按兩下 [ 同步處理],發佈 [來源網站] 窗格中的所有內容專案:

    • Ftpuser1 單擊左窗格。
    • Ftpuser1 輸入 Ctrl+A,以選取所有檔案。
    • Ftpuser1 單擊位於兩個窗格之間的同步 處理 (, 第三個按鈕位於頂端) 。
      同步處理 [來源網站] 窗格中所有選取檔案之前的螢幕快照。
  8. 檔案和資料夾會上傳至 FTP 伺服器,並儲存在使用者的虛擬目錄中:ftpuser1。 (使用者不會察覺同一部伺服器上的其他用戶內容,因為使用者隔離限制。)
    同步處理與遠端網站窗格中同步處理檔案複本之後的螢幕快照。

結論

本指南提供在共用裝載環境中安裝和設定 IIS 服務所需的資訊。 它也會顯示客戶如何利用 Visual Web Developer 將其內容發佈至其 FTP 網站目錄。