Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 伺服器技術 >> 關於伺服器

Windows Server 2003 建置 PHP + MySQL + IIS 安全平台圖文全攻略

編輯:關於伺服器

平台選型對比

平台優點缺點適用場景
Windows + IIS圖形化管理、上手快、整合 AD/NTFS 權限漏洞多、穩定性較弱、授權成本中小企業、.NET 混合環境、團隊缺 Linux 技能
Linux/BSD + Apache/Nginx穩定、安全、效能高、零授權費學習曲線陡、運維人才貴大型互聯網、高併發、成熟運維團隊

第一部分:基礎環境建置

1. 安裝 IIS 6.0(應用程式伺服器角色)

  1. 管理工具 → 管理您的伺服器 → 新增/移除角色
  2. 選「應用程式伺服器 (IIS, ASP.NET)」→ 下一步
  3. 取消勾選 FrontPage Server Extensions(安全考量)
  4. 勾選「啟用 ASP.NET」→ 完成安裝
  5. 驗證:管理工具出現「IIS 管理員」

2. 下載與安裝 MySQL 6.0.8 / PHP(最新版 = 較少已知漏洞)

  • MySQL:mysql-6.0.8-win32.msi → 典型安裝 → 設定 root 密碼、啟用嚴格模式
  • PHP:下載 ZIP 非安裝版(php-5.x-Win32.zip) → 解壓至 D:\php

第二部分:PHP 核心配置

1. 選擇 php.ini

D:\php\php.ini-recommended → 重命名為 php.ini → 複製至 C:\Windows。官方優化版,預設安全性較高。

2. 複製擴充庫

D:\php\libmysql.dll → C:\Windows\System32(PHP 連 MySQL 必備)

3. 編輯 php.ini 關鍵參數

參數設定值說明
extension_dirD:/php/ext擴充模組目錄,必須為絕對路徑
extension=php_mysql.dll啟用(移除前分號)MySQL 驅動
extension=php_gd2.dll啟用圖形處理(驗證碼、水印、縮圖)
extension=php_mcrypt.dll啟用phpMyAdmin 必備
session.save_pathD:/php/sessiondata建立目錄並給 IIS 執行身分寫入權限
upload_tmp_dirD:/php/uploadtemp同上
display_errorsOff生產環境關閉錯誤顯示
log_errorsOn錯誤寫入日誌
error_logD:/php/logs/php_errors.log自定義錯誤日誌路徑

第三部分:IIS 對應 PHP 執行

  1. IIS 管理員 → 網站 → 屬性 → 主目錄 → 設定 → 對應
  2. 新增:副檔名 .php、執行檔 D:\php\php5isapi.dll(ISAPI 模式)、動詞 GET,POST,HEAD、勾選「檢查檔案存在」
  3. 文件 → 新增 index.php 至預設文件頂端

第四部分:安全加固清單

  • MySQL:DELETE FROM mysql.user WHERE User=''; 刪除匿名帳號,RENAME USER root TO 'dbadmin'; 重命名 root、強密碼、限制連線來源
  • PHP:disable_functions = exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source
  • IIS:移除預設網站、禁用目錄瀏覽、啟用父路徑僅限必要虛擬目錄、URLScan 3.1 規則防 SQL 注入/XSS
  • NTFS:網站目錄僅給 IIS_IUSRS/NETWORK SERVICE 讀取/執行,上傳目錄單獨給寫入
  • 防火牆:僅開放 TCP 80/443(HTTP/HTTPS)、3306 僅限內網應用伺服器存取
  • 修補:WSUS/自動更新確保 OS/IIS/MySQL/PHP 全部最新

驗證測試

<?php
phpinfo(); // 確認 MySQL、GD、mcrypt 模組載入
$link = mysql_connect('localhost', 'dbadmin', 'strongpass');
if ($link) echo "MySQL 連線成功";
mysql_close($link);
?>
Copyright © Windows教程網 All Rights Reserved