使用Windows IIS 架設 Wordpress


公司需要一個 CMS 平台,主管叫我評估一下要自己寫還是用現成的工具
那我當然是用現成的囉(攤手)

事前評估

主要考量的點還是公司沒幾個工程師(好啦其實就只有我一個),不太可能自己開發,所以決定用 Wordpress 頂著用,搞不好一個不小心還可以把購物系統一起架在上面

我最初的規劃其實想要用 docker 架站
但礙於公司遲遲不幫我生出一台 Linux Server,最後只好委屈點,跟公司其他服務共用一台主機了。

安裝

1. 準備 PHP 環境

下載頁:PHP

下載&安裝

選 Windows 版,然後就選最新穩定版就對了
下載完成後解壓縮至自已喜歡的地方,我放C:\php
放好之後別忘了:

  1. 將該目錄加到環境變數內
  2. 開放 IIS 對該資料夾的讀寫權限

設定

接著開始設定,資料夾根目錄內有兩個檔案
分別是php.ini-development&php.ini-production,挑一個複製出來,重新命名成php.ini,他會成為你正式的設定檔。
要異動的設定有下面幾個:

網路上很多教學都寫說設定檔要寫成extension=php_openssl.dll但新版的 PHP 不用這樣寫了,直接取消註解就好。

以上大概就完成 PHP 的設定了 :D

2. 安裝 MySQL

下載頁:Download MySQL Installer

mysql 我不太熟悉,所以選擇直接用官方提供的 wizard 安裝
解壓縮後就照著安裝步驟走,除了以下事情要注意之外都用預設值就好,這樣就可以順利完成安裝了

設定

如果上面都照我說的走,那你應該有 MySQL Workbench 這套 GUI 工具可以使用,就用它來完成後續的設定吧

  1. 開一顆 DB : 上方工具列選Create a new schema,然後命名為wordpress,Charset 設成utf8後存檔
  2. 建立使用者 : 左方工具選Users and Privileges,下方Add Account選下去,然後把帳號密碼設一設

    Authentication Type 記得要選Standard

  3. 給予權限 : 接續剛剛建立使用者的部分,切換分頁到AdministrativeRoles把該給的權限給一給,然後最後一個分頁SchemaPrivileges把剛剛開好的 DB 開放給他使用

以上即為 mysql 設定

3. 安裝 Wordpress

下載頁:Taiwan 正體中文— WordPress

一樣,下載,解壓縮到喜歡的位置,我是直接放在C:\inetpub\wwwroot\wordpress這樣比較省事,不用再設定一次 IIS 的資料夾權限

設定

跟剛剛安裝 PHP 很類似,於 Wordpress 根目錄內有個wp-config-sample.php檔,把它複製一個改名為wp-config.php,他即為你正式的設定檔
而要異動的設定如下:

4. IIS 設定

iis 除了把站點開起來之外還有以下事情要設定:

Default Document

新增index.php做為站點的預設入口

Handler Mappings

進入後於右上角選擇Add Module Mapping...,然後照下圖設定吧

FastCgiModule 如果選不到的話,要去 Windows 新增功能,分類在 網頁伺服器(IIS) / 網頁伺服器 / 應用程式開發 / CGI

以上完成設定後就可以用 IIS 跑 PHP 應用程式了,此時即可啟用該站點
並開啟瀏覽器前往http://localhost/wp-admin/install.php,順利的話就會看到歡迎畫面了

到此完成安裝。

後續問題

外掛安裝失敗

於安裝完成後,遇到一個問題是每次要安裝外掛他都顯示

No working transports found

上網估狗了一下發現似乎是 curl 無法使用
解法如下:

  1. php 設定: 請回頭檢查 php extension 的 curl 跟 openssl 有沒有開
  2. 複製 lib 檔: 將 php 中 libeay32.dll,ssleay32.dll,php_curl.dll,libssh2.dll 複製到 windows/system32
  3. 安裝curl:
    • 下載Win32 CAB
    • 解壓縮,然後把目錄加到環境變數
Hi 喜歡這篇文章的話 可以按個讚或請我喝杯咖啡
Buy me a coffeeBuy me a coffee