摘要:[IIS 7] 如何使用指令在 IIS 上自動化建置網站
因為需要大量安裝佈署網站的需求,筆者查了 IIS 的指令來完成自動化設定。
注意!以下指令皆需要有管理者權限才可以執行
我們在 IIS7 上面的操作應該都可以用 APPCMD.exe 來完成
%windir%\System32\inetsrv\appcmd.exe |
網站建立需求
1. 網站名稱為 MyWebSite
2. 實體路徑為 C:\inetpub\MyTestWebSite
3. 網站版本.NET Framework 4.0
4. 開啟特定資料夾權限
5. 有 Windows 驗證功能
設定步驟
1. 設定資料夾權限
2. 建立應用程式集區
3. 建立網站
4. 開啟 Windows 驗證
※本文假設您家的 IIS 已經註冊.NET 4.0 了,這樣就不用執行以下指令
%WINDIR%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe /i |
1. 設定資料夾權限
我需要 IIS_IUSRS 及 IUSR,並且有修改的權限。使用下列指令
// 為資料夾加入 IIS_IUSRS 群組,有修改權限
cacls MyTestWebSite /T /E /G IIS_IUSRS:C
// 為資料夾加入 IUSR 成員,有修改權限
cacls MyTestWebSite /T /E /G IUSR:C
|
2. 建立 MyAppPool 應用程式集區 (.NET 4.0)
假設您有建立的需求的話執行以下步驟,不然就可以跳過啦
APPCMD ADD APPPOOL /name:MyAppPool /managedRuntimeVersion:"v4.0"
|
3. 建立 MyWebSite 網站
APPCMD ADD SITE /name:”MyWebSite” /bindings:http://*:8080 /physicalPath:"c:\inetpub\MyTestWebSite"
|
※筆者使用上述指令建立網站時,發現網站會套用預設的 Default AppPool,所以接著執行為網站設定 MyAppPool 集區的指令
APPCMD SET SITE /site.name:MyWebSite /[path='/'].applicationPool:MyAppPool
|
4. 開啟 Windows 驗證
因為筆者目前網站有這個功能,所以連 Windows 驗證也需要執行
// 先解除鎖定 Windows 驗證功能
APPCMD UNLOCK CONFIG “MyWebSite” /section:windowsAuthentication
// 開啟設定 (上面那行必須先執行,不然會出現下列訊息)
//"這個設定區段不能在這個設定區段不能這個路徑中使用。當區段在父層級被鎖定時就會發生這種情況..."
APPCMD SET CONFIG "MyWebSite" /section:windowsAuthentication /enabled:true
|
有沒有發現在 IIS 的驗證設定畫面中為什麼依然沒有出現 Windows 驗證的選項,這是因為需要先在控制台\程式集\程式和功能\開啟或關閉 Windows 功能視窗中打開 Windows 驗證選項
按下確定之後,重新開啟 IIS 應該就會看到選項出現了,而且也啟用功能
完成!
可以將這些指令寫在批次檔或安裝檔製作程式,就可以完成自動化安裝。但是離一鍵安裝功能還有一段路好走呢,至少在上述範例沒有打包成安裝檔。