在 IIS 8.0 或更新版本上安裝及設定 Web Deploy

Jim van de Erve

摘要

在本逐步解說中,我們將說明在 IIS 8.0 或更新版本上安裝及設定 Web Deploy 的步驟,以進行系統管理員或非系統管理員部署。 這表示用戶端使用 Web Deploy 將網站內容發佈至伺服器所需的步驟,即使客戶端沒有伺服器的系統管理員認證也一樣。

Windows 8.0 和 8.1 不會隨附遠端連線所需的 Web 管理服務。 如需詳細資訊,請參閱 無法在 Windows 8.0 或 8.1 上設定遠端發佈。

安裝 Web Deploy

您可以使用 Web Deploy MSI 來安裝 Web Deploy。

使用 Web Deploy 安裝程式安裝 Web Deploy

您可以使用 MSI 安裝程式直接安裝 Web Deploy。 針對新手使用者,通常不建議直接使用 MSI,因為建議或必要的相依產品可能需要個別安裝。 使用 MSI 而非 Web PI 在伺服器上安裝 Web Deploy 時,下列限制可能會造成問題:

  • MSI 不會安裝 SQL 共用管理物件 (SMO),這是 SQL Server 資料庫部署的必要專案。 您可以使用 Web PI 來安裝此元件,以啟用 SQL Server 資料庫部署。
  • 如果未安裝 Web 管理服務,MSI 將不會安裝 Web 管理服務處理程式元件。 非系統管理員部署需要處理程式元件。 應該先安裝 Windows 元件 IIS,包括管理服務,才能安裝處理程式元件。
  • 使用 Web Deploy MSI 直接安裝 Web Deploy 時,除非已安裝 PowerShell v2 或更新版本,否則不會針對非系統管理員部署設定 Web 管理服務。

使用 Web Deploy 安裝程式,Web Deploy 可以安裝在 Windows 2012 Server 或更新版本,或 Windows 8.0 或更新版本。

若要從.msi檔案安裝 Web Deploy:

  1. 移至 [Web Deploy 下載] 頁面。
  2. 在 [Web Deploy 下載] 頁面上,移至 [下載 Web Deploy ] 區段,針對您想要的語言,選取 [x86 ] 或 [x64]。
  3. 執行 Web Deploy .msi,然後移至安裝程式精靈,選取您想要在 [自定義安裝] 頁面中的功能。Microsoft Web Deploy 三點五設定對話框的螢幕快照。[自訂設定] 頁面隨即顯示。[I I S 管理員 U I 模組] 已醒目提示。

為委派的非 管理員 istrator 部署設定月臺

安裝 Web Deploy 之後,所有伺服器層級的組態都會針對非系統管理員發佈完成;不過,月臺層級需要額外的設定。 您可以使用PowerShell或 IIS 管理員來完成此月臺設定,如下所述。

無法在 Windows 8.0 或 8.1 上設定遠端發佈

您無法針對 Windows 8.0 或 8.1 上裝載於 IIS 中的網站,使用 Web Deploy 設定遠端發佈。 原因是 Windows 的用戶端 SKU 未隨附遠端連線所需的 Web 管理服務。 因此,在 Windows 8.0 或 8.1 上,IIS 管理員許可權圖示和設定設定遠端發佈所需的 Web 部署選項無法在 IIS 管理員中使用。

當您使用 [新增角色及功能精靈] 在 Windows Server 2012 或更新版本上安裝管理服務角色時,會安裝並啟用 Web 管理服務。 IIS 管理員許可權圖示適用於 IIS 管理員管理區域中的網站,而 [設定 Web 部署發佈] 部署選項可在 IIS 管理員中網站的 [部署] 選單中取得。 利用這些功能,Web 管理服務可讓您使用 Web Deploy 從遠端電腦設定發佈至 Web 伺服器。

使用 PowerShell 為非 管理員 istrator 設定 Web Deploy

  1. 使用 Web Deploy PowerShell 腳本,為新的或現有的非系統管理員使用者建立新網站或設定現有網站的許可權。 如需詳細資訊,請參閱 自動化 Web Deploy 安裝程式Web Deploy PowerShell Cmdlet 的 PowerShell 腳本。

使用 IIS 管理員設定非 管理員 istrator 的 Web Deploy

下列步驟會使用 IIS 管理員 UI,為現有使用者設定在現有網站上發佈。

  1. 啟動 IIS 管理員 (開啟 伺服器管理員,按兩下 [工具],然後開啟 [IIS 管理員]。

  2. 展開 [月臺] 節點,然後按兩下網站。

  3. 在站臺主窗格的 [ 管理 ] 區域中,按兩下 [IIS 管理員許可權]。 因特網資訊 I S 管理員的螢幕快照。[站臺] 節點會顯示在左窗格中。已選取 [I I S 管理員] 圖示。

  4. 在 [ 動作] 窗格中,按兩下 [ 允許使用者]。 [I S 管理員許可權] 窗格的螢幕快照。[動作] 窗格會顯示在右側。[允許使用者] 按鈕位於 [動作] 窗格中。

  5. 在 [ 允許使用者...] 對話框中,選取 [Windows ],按兩下 [ 選取]。[允許使用者] 對話框的螢幕快照。已選取 Windows。

  6. 在 [ 選取使用者或群組 ] 對話框中,於 [輸入要選取的物件名稱] 中,輸入具有網域發佈許可權之非系統管理員 Windows 使用者的名稱。 按兩下 [ 檢查名稱],然後在驗證名稱之後,按兩下 [ 確定]。[選取使用者或群組] 對話框的螢幕快照。[輸入要選取的物件名稱] 方塊位於 [選取物件類型] 和 [從這個位置] 方塊底下。

  7. 在 [ 允許使用者...] 對話框中,按兩下 [ 確定]。[允許使用者] 對話框的螢幕快照。已選取 Windows。在 Windows 方塊中,有文字 C O N T O S O 反斜杠 john doe。您可以在底部找到 [O K] 按鈕。

  8. 確認已在 [IIS 管理員許可權] 窗格中輸入具有網域的名稱。[I S 管理員許可權] 窗格的螢幕快照。在 [名稱] 下方是文字 C O N T O S O 反斜杠 john doe。在 [路徑] 底下是 [默認網站]。

  9. 以滑鼠右鍵按下您要設定的網站,指向 [ 部署],然後按兩下 [ 設定Web部署發佈...]。下列 UI 隨即出現:

    注意:如果未在網站的功能表中顯示 [部署] 命令,請關閉再重新開啟 IIS 管理員。

    [設定 Web 部署發佈] 對話框的螢幕快照。在 [選取要授與發佈許可權的使用者] 下方,是文字 C O N T O S O 反斜杠 john doe。

  10. 單擊 [選取使用者以提供發佈許可權] 的向下箭號 ,然後選取您為 [IIS 管理員許可權] 輸入的使用者。[設定 Web 部署發佈] 窗格的螢幕快照。在 [選取要授與發佈許可權的使用者] 下,醒目提示文字 C O N T O S O 反斜杠 john doe。

  11. 按一下 [設定]

    下列記錄行隨即出現:

  • 針對 『Non 管理員 User』 啟用發行
  • 授與 『Non 管理員 User』 的完整控制權C:\inetpub\wwwroot\test
  • 已成功建立的配置檔案 C:\Users\janedoe\Desktop\CONTOSO\_johndoe\_Default Web Site.PublishSettings

非系統管理員 Windows 使用者 (Non 管理員 User) 現在可以發佈至網站。

[設定 Web 部署發佈] 對話框的螢幕快照。在 [選取要授與發佈許可權的使用者] 下方,是文字 C O N T O S O 反斜杠 john doe。顯示 [設定] 按鈕。

安裝和設定用於 管理員 istrator 部署的 Web Deploy

需求:

使用上述其中一個程式安裝 Web Deploy。

針對常見問題進行疑難解答:

  • 如果您要升級現有的 Web Deploy 安裝,請務必在系統管理命令提示字元執行下列命令來重新啟動處理程式和代理程式服務:

  • net stop msdepsvc & net start msdepsvc

  • net stop wmsvc 和 net start wmsvc

  • 請確定您的防火牆允許連線到您正在使用的服務。 根據預設,Web 部署代理程式服務 (MsDepSvc) 會接聽埠 80,而 Web 管理服務 (WmSvc,也稱為 “handler”) 預設會在埠 8172 上接聽。

  • 您必須使用內建的 管理員 istrator 帳戶,或從已新增至 管理員 istrators 群組的網域帳戶執行 MsDepSvc。 不是內建帳戶的本機系統管理員將無法與 MsDepSvc 搭配使用。

  • 檢查 .NET 4.0 是否尚未向 IIS 註冊:

    徵兆:已安裝 .NET 4.0,但 IIS 中沒有 .NET 4.0 應用程式集區或處理程序對應。 發佈應用程式之後,您無法流覽至使用 .NET 4.0 的應用程式(例如,以 WebMatrix 網站範本應用程式為基礎的應用程式)。

    原因:您的計算機在安裝 IIS 之前已安裝 .NET 4.0。

    解決方案:執行下列命令以向 IIS 註冊 .NET 4.0: %systemdrive%\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -iru