Windows Server 2012 安裝 IIS PHP MySQL

今天下載了 Windows Server 2012 試用版來玩玩。
第一個感想:不知道怎麼關機…
以下隨性的紀錄一下過程與問題。

安裝 IIS,PHP 與 MySQL
IIS 就從 Server Manager 去新增 Role 就可以了,PHP 跟 MySQL 則是去下載 Web Platform Installer (WebPI) 來安裝。

WebPI 這東西很像 Linux 上的套件管理系統,可以幫你安裝許多東西,還順便弄些初始設定。

MySQL安裝好後,預設是 listen 0.0.0.0 的。所以如果只是本機用,二話不說先去改成 127.0.0.1。
去 Program Files 裡找到 MySQL 的資料夾,修改 my.ini ,加入 bind-address=127.0.0.1 然後重啟服務就可以了。

PHP 的部份沒遇到什麼特殊的問題,基本上直接就可以使用。

接著將一個使用 CodeIgniter 的網站放上去測試看看,第一步先設定 url rewrite:

  • 打開IIS Manager
  • 選擇要編輯的站台
  • 點選 URL Rewrite
  • 點選 Add Rules
  • 點選 Blank rule
  • Name: 隨意取個名字
  • Pattern: 輸入 ^(.*)$
  • 點開 Conditions
  • 新增 rule,選擇 Is Not a File
  • 新增 rule,選擇 Is Not a Directory
  • 最後到底下的 Action,Rewrite URL 填入 index.php

這樣子就設定好了,正常運作。
參考: http://quitedestroyer.blogspot.tw/2012/05/codeigniter-url-rewriting-on-iis-7.html

若是需要上傳檔案,對資料夾要有寫入權限。
安全性比較要求的站可以針對 IIS 來設定權限。
懶一點的就將上傳資料夾直接開放所有權限給 Users 群組即可。

當 php 連往 localhost 的資料庫時,會有延遲。
在我的環境大約是延遲了一秒鐘,簡直慢到想直接放棄…
最後查到這個是普遍問題,在 Server 2012 以及 Windows 8 都會發生。
最佳解法就是在 php 連接資料庫時,不要用 “localhost”,而是改用 127.0.0.1 去連線。
參考: http://forums.iis.net/t/1200661.aspx