2012年5月30日 星期三

使用非管理員權限來部署 ASP.NET 應用程式

系統交付給客戶後,系統是有保固時間的。當程式有 bug,就需要更新程式。如果程式更新都要請客戶自己部署,那之後就要讓客戶使用起來方便。
而要請使用管理員權限來部署 ASP.NET 應用程式,就很可能被質疑,如果客戶程度夠的話。

因此需要一個可以使用非管理員權限來部署 ASP.NET 應用程式的方式。

目前使用 IIS 7.

建立更新帳號

只需要一般帳號即可。以下以 smartDeployer 為例

image

安裝/設定 IIS

如果沒有安裝 IIS,就照著下圖做。如果已經安裝了,就要看看哪些功能未被勾選。

image

image

 

image

image

Web Management Server 是一定要裝的。上圖少勾選了。Windows Authentication 不用裝(上圖有誤) 。

image

安裝 .NET Framework 4.0

記得安裝  .net framework 4.0 及  sp1。如果需要的話

安裝 Web Deploy tool V2.1

我們靠的就是 Web Deploy Tool,目前的版本是 2.1。記得在要部署的伺服器上,要完整安裝。

image

設定 Web Management Service

clip_image002

Web Management Server 必須靠 Basic 驗證。故需要啟用。

clip_image003

clip_image005

檢查 Enable remote connections (1)是否已經勾選(應已勾選)。若沒有勾選,請先按右方的「Stop」(2)鍵後,勾選「Enable remote connections」 ,再 Start(3)鍵。

clip_image007

授權

我們要授權 smartDeployer 可以在 Default Web Site 更新

clip_image009

clip_image010

最後按 Setup

clip_image011

防火牆

記得打開防火牆,port  8172

以上就完成了網頁伺服器的設定

部署

使用 Visual Studio 2010 打包後的 指令不能用。經明察暗訪後,需修改指令如下

"C:\Program Files (x86)\IIS\Microsoft Web Deploy V3\\msdeploy.exe" -source:package='Package.zip' -dest:auto,computerName='https://serverNameOrIp:8172/MSDeploy.axd?site=Default%20Web%20Site',userName='domainUser',password='password',authtype='Basic',includeAcls='False' -verb:sync -disableLink:AppPoolExtension -disableLink:ContentExtension -disableLink:CertificateExtension -setParamFile:"Parameters.xml"  -whatif  -allowUntrusted:true

參考

Configuring a Web Server for Web Deploy Publishing (Web Deploy Handler)

1 則留言:

匿名 提到...

想請問一下那如何取消smartDeployer的授權呢?

Share with Facebook