開始前先了解
本篇使用 Windows Server 2022 與內建 IIS, 示範純 HTML 靜態網站. 需要系統管理員權限, 不需額外購買軟體.
示範 IP 192.168.50.30 是測試位址, 請換成自己的伺服器位址. HTTP 示範不傳送帳密, 不等於已完成 HTTPS, PHP 或資料庫環境.
本系列使用 Windows Server 2022 Datacenter 繁體中文真實操作畫面. 帳號, 網路設定, 磁碟與示範數值請換成自己的環境; 選項名稱可能因版本與語言不同而異.
01安裝 Web 伺服器與管理工具
以系統管理員開啟 Windows PowerShell, 安裝 Web-Server 角色及管理工具. 等待命令完成後核對 Success 與 RestartNeeded.
若角色已安裝, 再查 InstallState 應為 Installed. 未顯示成功前先處理錯誤, 不直接進入下一步.
Install-WindowsFeature Web-Server -IncludeManagementTools
Get-WindowsFeature Web-Server | Format-Table DisplayName,InstallState
放大圖片
02開啟 IIS 管理員
從"伺服器管理員"的"工具"開啟"Internet Information Services (IIS) 管理員", 或執行 inetmgr.
展開左側伺服器與"站台". 安裝角色與網站可從外部開啟是兩件事, 後面還要核對路徑, 繫結與防火牆.
放大圖片
03準備網站資料夾與首頁
建立 C:\Sites\FirstSite, 放入 index.html. 只放要公開的靜態內容, 不要把備份, 密碼檔或整個磁碟根目錄設成網站.
首頁範例只顯示 First IIS Website. 網站執行身分需要讀取權限, 不需要 Everyone 完全控制. 專用應用程式集區與最小讀取權限能讓用途更清楚.
本次另授予 FirstSite 集區讀取與執行權限, 也保留資料夾原有的 Users 群組繼承權限. 匿名驗證預設使用 IUSR, 請一併核對實際匿名身分的存取. 若您已收緊資料夾權限, 不能只授權集區就推定匿名首頁能讀取.
New-Item C:\Sites\FirstSite -ItemType Directory -Force
'<h1>First IIS Website</h1><p>Static page is ready.</p>' |
Set-Content C:\Sites\FirstSite\index.html -Encoding UTF8
放大圖片
04新增網站與確認預設文件
在"站台"新增 FirstSite, 實體路徑選剛建立的資料夾, HTTP 連接埠使用 80. 若 Default Web Site 已占用相同繫結, 先確認它沒有正式用途再停止, 不直接覆蓋.
選 FirstSite 查看"預設文件", 確認 index.html 存在. 網站名稱是管理用標籤, 不會自動替你建立 DNS 或網域.
放大圖片
05從本機與另一個來源驗證
先在主機請求 http://127.0.0.1/ 查看預期首頁, 再依需要允許 HTTP 80 的來源. 此示範僅允許測試網段, 並已從另一台測試電腦取得相同內容.
正式對外提供網站時, 還要核對主機以外的防火牆與服務方案. 不要為了連線失敗直接關閉整個 Windows 防火牆.
(Invoke-WebRequest http://127.0.0.1/ -UseBasicParsing).StatusCode
(Invoke-WebRequest http://127.0.0.1/ -UseBasicParsing).Content
放大圖片
完成後如何確認
本機與獨立來源都能讀到 First IIS Website, HTTP 狀態為 200. 後續可設定第二個網站或查看存取記錄.
常見問題
頁面能開啟, 就可以直接使用登入表單嗎?
本篇只有 HTTP 靜態範例. 正式登入, 付款或傳送個人資料前, 請先完成適用憑證與 HTTPS 設定.