[Windows Server]_Web Deploy 部署建置 && non Admin User操作 && 401錯誤bug解除 && 讓WS操作順手的教學
最近都在忙一個APP的Project,是什麼不能講
主要後端架構有用到Windows Server來做,因為Linux要搞會用得有些複雜
只好屈就於微軟的淫威之下
因為是運行web service,加上有個coop partner要一起弄
所以架設了三大功能
1.Web Deploy,方便VISUAL STUDIO直接單鍵發行專案
2.RDP
3.WebDav
2,3跟著教學做一切OK…
只是WebDeploy這個部分…好挫折阿
繁體中文的文獻都是利用Administrator來做示範(例如這篇:http://www.dotblogs.com.tw/terrychuang/archive/2011/11/11/56958.aspx),
並沒有非Admin之外的user,而且微軟官方以及其他文件有分幾個方法,我都做了
但部屬的時候還是送我401錯誤…
找了4個多小時才找到解法,特此翻成中文的做法
其實達成非admin user的web deploy有以下兩種做法
1.透過IIS管理員權限,以及管理服務委派(在安裝StandAlong 的 Web Deploy 3.0的時候請記得在安裝過程中使用完整安裝,要不然會找不到這個東西 參照http://serverfault.com/questions/128468/can-not-see-manage-service-delegations-in-iis-7)的方式去做,加上部屬授權。這個方式有點瑣碎,而且步驟較多…
幾個站台有分享作法(大家的作法大同小異):
http://www.microsoft.com/taiwan/technet/iis/learn/configure-the-web-deployment-handler.aspx
2.透過Web Platform Installer安裝”建議虛擬主機供應商使用的伺服器組態”的組件,加上一點簡單的設定
比較少人這麼做:
但我不確定這兩個做法是否作其中一種就能夠成功(2012/10/03 我重灌了SV,用第一種方法搭配文末改登錄檔,就可以順暢運行,所以如果用第二種方法不想裝一堆的人可以試試)
因為我是兩種都做(因為遇到401 bug..一直在繞圈圈)…後來把第一種的管理服務委派跟IIS管理員權限等設定全部撤除,只留下第二種”建議虛擬主機供應商使用的伺服器組態”的組件自動設定,還是能夠運作
不過第二種透過伺服器組態設定的方式,其實會幫你另外加很多雜七雜八的(PHP阿~MYSQL阿~…NODE.JS等等),如果不想要這樣的,可以選擇第一種
可是不管選擇哪一種,都很可能遇到都設定好了,確定權限ok了,一且都妥當了,但在VS發行的時候仍然送你
錯誤 1 Web 部署工作失敗。(無法連絡遠端代理程式 (URL http://[主機位置]/MSDEPLOYAGENTSERVICE)。請確定目標電腦上已安裝且已啟動遠端代理程式服務。)
確定網站名稱、使用者名稱和密碼正確無誤。如果無法解決問題,請連絡本機或伺服器系統管理員。
錯誤詳細資料:
無法連絡遠端代理程式 (URL http://[主機位置]/MSDEPLOYAGENTSERVICE)。請確定目標電腦上已安裝且已啟動遠端代理程式服務。
收到不支援的回應。回應標頭 ‘MSDeploy.Response’ 為 ”,但需要 ‘v1’。
遠端伺服器傳回一個錯誤: (401) 未經授權。 0 0 [發行名稱]
這時你怎麼搞都搞不定,很神奇的問題出在登錄檔身上
這篇提到是UAC政策有問題,沒有連動設定到所導致,結果小小的一個登錄檔就糾纏四小時…
到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System底下
如果沒有看到”LocalAccountTokenFilterPolicy”這個登錄值,請自己手動右鍵新增一個DWORD值,命名為”LocalAccountTokenFilterPolicy”
並且更改它的內容為1,OK之後重新啟動SERVER…
就能排除上面說的問題了~!!!
當然其中還有比較容易在實作漏掉的,例如驗證設定中的Windows驗證沒安裝以及啟用
還有創立的user沒有權限存取web資料夾等等…都可能會造成401,如果都確定做好一切了,但還是401…
那就嘗試最後改登錄檔的方式吧
之後要重弄伺服器的時候我再來更新這一篇,因為網路上面的作法太錯縱複雜
我幾乎全做了一輪,但不外乎是上面那兩個方式,一個手動委派設定一大堆,跟另外一個直接DL自動配置組件的
所以我也不能統整出一套完整的流程跟做法…
大家就看看連結,如果碰到401,先檢查完再看看情況做應對吧!
接著筆記順便分享一下幾個降低安全性提升便利性的的操作
變更密碼原則:http://jnote.posterous.com/windows-server-2008-27
關閉關機事件追蹤器:http://chenweichi.blogspot.tw/2011/10/blog-post_25.html
另外就是WS 2008上啟動ASP.NET 4的APP POOL
http://gccfeli.cn/2010/09/win7-or-windows-server-2008-enable-asp-net-4.html
Leave a comment
很抱歉,必須登入網站才能發佈留言。