[研究]用 PowerShell 安裝 IIS 和 CGI (Windows Server 2019)
2025-03-21
1. 開啟 PowerShell(以系統管理員身份執行)
按 Win + X,選擇 Windows PowerShell (Admin) 或 Windows Terminal (Admin)。
2. 安裝 IIS 及 CGI
Install-WindowsFeature -Name Web-Server, Web-CGI -IncludeManagementTools
- 安裝 IIS(Web Server)
- 安裝 CGI(Common Gateway Interface)
- 包含 管理工具(IIS Manager)
3. 確認安裝狀態
Get-WindowsFeature -Name Web-Server, Web-CGI
如果 Installed 欄位顯示 True,表示安裝成功。
4. 啟動 IIS 服務
Start-Service W3SVC
Get-Service -Name W3SVC
IIS 預設會開啟 80 端口,您可以透過 http://localhost/ 測試。
5. 允許防火牆規則(如果需要開放外部訪問)
如果此伺服器要被其他裝置訪問,請開啟 HTTP 和 HTTPS 連線:
New-NetFirewallRule -DisplayName "IIS HTTP" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow
New-NetFirewallRule -DisplayName "IIS HTTPS" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow
安裝完成後,您可以在 IIS 管理員 (inetmgr) 中檢視與管理 CGI 設定。
********************************************************************************
實際測試
PS C:\> Install-WindowsFeature -Name Web-Server, Web-CGI -IncludeManagementTools
Success Restart Needed Exit Code Feature Result
------- -------------- --------- --------------
True No Success {應用程式開發, CGI, 一般 HTTP 功能, 預設文...
PS C:\> Get-WindowsFeature -Name Web-Server, Web-CGI
Display Name Name Install State
------------ ---- -------------
[X] 網頁伺服器 (IIS) Web-Server Installed
[X] CGI Web-CGI Installed
PS C:\> Start-Service W3SVC
PS C:\> Get-Service -Name W3SVC
Status Name DisplayName
------ ---- -----------
Running W3SVC World Wide Web Publishing 服務
PS C:\> New-NetFirewallRule -DisplayName "IIS HTTP" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow
Name : {c890fe1d-7041-4e3d-9855-4e97204d4ebc}
DisplayName : IIS HTTP
Description :
DisplayGroup :
Group :
Enabled : True
Profile : Any
Platform : {}
Direction : Inbound
Action : Allow
EdgeTraversalPolicy : Block
LooseSourceMapping : False
LocalOnlyMapping : False
Owner :
PrimaryStatus : OK
Status : 已從存放區成功剖析規則。 (65536)
EnforcementStatus : NotApplicable
PolicyStoreSource : PersistentStore
PolicyStoreSourceType : Local
PS C:\> New-NetFirewallRule -DisplayName "IIS HTTPS" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow
Name : {34876d5a-c3de-4033-9646-b77687d756f0}
DisplayName : IIS HTTPS
Description :
DisplayGroup :
Group :
Enabled : True
Profile : Any
Platform : {}
Direction : Inbound
Action : Allow
EdgeTraversalPolicy : Block
LooseSourceMapping : False
LocalOnlyMapping : False
Owner :
PrimaryStatus : OK
Status : 已從存放區成功剖析規則。 (65536)
EnforcementStatus : NotApplicable
PolicyStoreSource : PersistentStore
PolicyStoreSourceType : Local
PS C:\>
|
(完)



沒有留言:
張貼留言