設定 Web 部署處理程式
由信仰 A
本指南提供在託管伺服器上設定 Web 部署處理程式的步驟基本概觀,並測試使用者是否可以將應用程式部署至網站。 此安裝程式將使用本文件中的資訊,將 Web 部署工具安裝到新的伺服器,並設定建議的設定。
必要條件
本指南需要下列必要條件:
- .NET Framework 2.0 SP1 或更新版本
- Web 部署工具 1.0 或 1.1
- 已安裝 Web 管理服務的 IIS 7 或更新版本 (WMSvc)
注意:如果您尚未安裝 Web 部署工具,請參閱 安裝 Web 部署工具。
瞭解 Web 部署處理程式
處理程式會與 Windows Server 2008 上隨附 IIS 7.0 的 Web 管理服務 (WMSVC) 和 Windows 2008 R2 上的 IIS 7.5 整合。
首先,您必須為使用者建立帳戶(IIS 管理員使用者或 Windows 帳戶)。 如需建立 IIS 管理員使用者帳戶的詳細資訊,請參閱在 IIS 中設定遠端 管理員 和功能委派。
其次,用戶必須使用WMSVC獲得連線到其網站的授權。 您可以使用 IIS 管理員中的 IIS 管理員許可權 功能,將遠端連線到其網站的許可權授與使用者。
第三,用戶也必須獲得授權,才能使用 Web 部署工具執行部署。 您可以使用 IIS 管理員中的管理服務委派 功能來建立委派規則,讓用戶能夠對其網站執行部署,而不允許其他人執行部署。
下圖說明如何在將部署要求路由傳送至處理程式,並針對處理程式本身的規則進行授權之前,先連線至 WMSVC 並授權使用者。 本快速入門將協助您設定必要的規則,讓使用者使用內容部署 IIS 應用程式、設定檔案許可權和部署資料庫。
第 1 部分 - 設定 WMSVC 和 IIS 管理員許可權
- 在您的 Windows Server 2008 伺服器上安裝 IIS 和 Web 管理服務。
- 設定 WMSVC 以允許遠端連線。
a. 開啟 [IIS 管理員]。
b. 選取 [伺服器] 節點。
c. 在 [ 伺服器的功能檢視 ] 中 ,按兩下 [管理服務 ] 圖示。
d. 確定已選取 [ 啟用遠端連線 ] 複選框。 如果未選取複選框並呈現灰色,請使用 [ 動作] 窗格來停止 WMSvc 服務。 這可讓您選取複選框。
e. 在右側 的 [動作] 窗格中,按兩下 [ 開始]。 [ 啟用遠端連線 ] 複選框將會選取並呈現灰色。 - 提供 WMSvc 執行所在的帳戶(例如本地服務)客戶目錄的完整控制許可權。
- 為使用者建立網站之後,允許使用者存取其網站。
a. 開啟 [IIS 管理員]。 b. 選取使用者將從遠端管理的網站。
c. 在 [功能檢視] 中 ,按兩下 [IIS 管理員許可權 ] 圖示。 d. 在 [ IIS 管理員許可權] 頁面上的 [動作] 窗格中,按兩下 [ 允許使用者]。
e. 在 [ 允許使用者] 對話框中,選取使用者類型 (Windows 或 IIS 管理員),然後按兩下 [ 選取 ] 以選擇使用者帳戶。
f. 按兩下 [ 確定 ] 以關閉 [ 允許使用者] 對話框。
如需 IIS 管理員使用者帳戶的詳細資訊,請參閱允許 IIS 管理員使用者帳戶 連線 至網站或應用程式 (IIS 7)。
第 2 部分 – 建立 Web 部署使用者的委派規則
- 如果您尚未這麼做,請下載 Web 部署工具,並將其安裝在網頁伺服器上。
- 為您想要允許用戶擁有的 Web Deploy 功能(提供者)建立委派規則。 允許使用者將應用程式和內容部署至他或她的網站:
a. 開啟 [IIS 管理員]。
b. 選取 [伺服器] 節點。
c. 在 [伺服器的功能檢視 ] 中,按兩下 [管理服務委派 ] 圖示。
d. 在右側 的 [動作] 窗格中,按兩下 [ 新增規則...
e. 選取 [ 使用內容 部署應用程式] 規則範本。 此範本會建立規則,允許任何 WMSVC 授權的使用者使用 Web Deploy contentPath 和 iisApp 提供者,將應用程式部署至其用戶範圍。
f. 按兩下 [ 確定 ] 以開啟範本。
.g 按一下 [確定] 以建立規則。
h. 在 [ 將使用者新增至規則 ] 對話框中,輸入星號 \。 這可讓每個使用者將應用程式部署至其用戶範圍。
注意:如果您想要執行僅限系統管理員的同步處理,請移至 [管理服務委派 ] 頁面。 在 [動作] 窗格中,按兩下 [編輯功能] 設定,然後選取 [允許系統管理員略過規則]。
將資料夾標示為應用程式規則
若要允許每個使用者在其網站內建立應用程式:
a. 按兩下 [ 新增規則... b]。 選取 [ 將資料夾標示為應用程式 ] 規則範本。 此範本可讓所有 WMSVC 授權的使用者使用 Web Deploy createApp 提供者在其使用者範圍內建立應用程式。 應用程式會繼承父系的所有設定,包括應用程式集區。 c. 按兩下 [ 確定 ] 以開啟範本。
d. 在 [RunAs] 區段中,選取 [識別類型] 的 [SpecificUser],然後按兩下 [設定...] 按鈕,以指定將執行這項作業的用戶帳戶。 為了讓此規則能夠運作,規則必須以有權寫入 applicationHost.config 檔案的使用者身分執行。 建議您建立不在 管理員 istrators 群組中的帳戶(例如“CreateAppUser”),並只授與最低必要許可權。 若要這樣做:- 建立用戶帳戶。
- 將讀取權限授與
%windir%\system32\inetsrv\config
。 - 將修改權限授與
%windir%\system32\inetsrv\config\applicationHost.config
。
在 [ 將使用者新增至規則 ] 對話框中,輸入星號 \。 這可讓每個使用者在其網站內建立應用程式。
部署資料庫規則
- 允許使用者將資料庫部署至其網站:
a. 按兩下 [ 新增規則... b]。 選取 [ 部署資料庫 ] 規則範本。 此範本可讓任何 WMSVC 授權的使用者(如第 1 部分所述)將資料庫部署至 SQL 資料庫伺服器。 c. 按兩下 [ 確定 ] 以開啟範本。
d. 新增要授權的路徑,例如 Server=Server1,以允許任何人使用其 SQL 認證或 Server=Server1 部署至此伺服器;Database={userName}_db1限制為符合其用戶名稱的特定資料庫。
e. 按一下 [確定] 以建立規則。 - 在 [ 將使用者新增至規則 ] 對話框中,輸入星號 \。 這可讓每個用戶將資料庫部署至其網站。
設定許可權規則
- 若要允許每個使用者將應用程式和內容部署到他或她的網站:
a. 按兩下 [ 選取規則範本... b]。 選取 [ 設定權限 ] 規則範本。 此範本可讓任何 WMSVC 授權的使用者在檔案系統上設定 ACL。 c. 按兩下 [ 確定 ] 以開啟範本。
d. 按一下 [確定] 以建立規則。 - 在 [ 將使用者新增至規則 ] 對話框中,輸入星號 \。 這可讓每個使用者在其網站內部署應用程式和內容。
選擇性地啟用 WMSvc 的追蹤
如果您想要啟用 WMSvc 的追蹤,請參閱 設定 Web 管理服務追蹤。 追蹤記錄會儲存在 中 %systemdrive%\inetpub\logs\wmsvc\tracinglogfiles\w3svc1
。
第 3 部分 - 測試使用者的網站 連線
- 在已安裝 IIS 遠端管理員的用戶端電腦上下載並安裝 Web 部署工具,或使用本地伺服器。 建議您先測試本地伺服器,以找出網路、防火牆或 Proxy 設定可能造成的任何問題。
- 使用您為使用者建立的認證,測試連線到用戶的網站:
a. 開啟 [IIS 管理員]。
b. 以滑鼠右鍵按兩下 [起始頁] 節點。
c. 選取 連線 至網站...(注意:不要選取 連線 至伺服器)
d. 在 [ 伺服器名稱] 文本框中,輸入 localhost。
e. 在 [ 網站名稱] 文字框中,輸入您為遠端管理啟用的用戶網站名稱。
f. 按一下 [下一步] 。
.g 在 [ 用戶名稱] 文字框中,輸入您為網站授權的使用者。
h. 在 [ 密碼] 文字框中,輸入用戶的密碼。
i. 按 [下一步] 完成連線。 如果您使用不受信任或自我簽署的憑證,系統可能會提示您信任憑證。 IIS 管理員的右下角會顯示新的連線狀態(例如 localhost 8172 作為 SampleUser)。 - 建立快速應用程式套件,以確認授權規則是否正常運作:
a. 在右側的 [ 動作] 窗格中,按兩下 [ 匯出應用程式...
b. 這會啟動 [ 導出應用程式 精靈],按兩下一 步 】 透過所有畫面接受預設值並建立套件。 - 現在您已建立套件,請確認您可以安裝它:
a. 在 [動作] 窗格中,按兩下 [匯入應用程式...
b. 按一下 [下一步] 。 c. 在 [ 參數 ] 頁面上,將應用程式名稱變更為網站中不存在的專案,以確認使用者可以建立應用程式。
d. 完成精靈。 - 最後,您應該下載應用程式套件,將應用程式安裝至此網站,以確認資料庫和其他選項是否正常運作。
疑難排解
部署期間可能會發生一些常見問題:
用戶嘗試連線到網站時收到 401 個未經授權的錯誤。
- 原因(s):此錯誤來自 WMSVC,通常是使用者名稱/密碼的錯誤,或因為使用者無法存取網站。
- 解決方案(s):驗證使用者名稱/密碼,以及使用者是否有權存取網站。
使用者嘗試匯入或匯出應用程式時收到伺服器錯誤。
原因(s):此錯誤來自 Web 部署處理程式,而且通常是部署規則的問題。 由於使用者已成功連線,所以不是WMSVC的問題。 部署規則可能會有錯字,執行部署的使用者可能無法獲得授權,或者 runAs 身分識別可能沒有存取權。
解決方案(s):在 開啟追蹤記錄
%systemdrive%\inetpub\logs\wmsvc\tracinglogfiles\w3svc1
,並查看哪些規則無法授權。- 尋找包含失敗的記錄,例如「詳細數據:找不到可授權使用者 』server1\siteowner'、提供者 'appPoolConfig'、作業 'Read'、路徑 'DefaultAppPool'」 的規則。 在此情況下,提供者 appPoolConfig 未獲得授權,且使用者嘗試新增他們不允許新增的提供者。
- 另一個常見的錯誤是,用來建立應用程式的 RunAs 使用者沒有適當的設定存取權。 在此情況下,Procmon 是用來判斷拒絕存取錯誤可能來自何處的實用工具。
摘要
本指南說明如何設定 WMSVC 和部署處理程式,以允許使用者管理其 Web 應用程式,並說明使用 IIS 管理員建立及安裝套件的步驟,以確認委派規則是否正常運作。