OpenID 架站Windows篇

OpenID 架站Windows篇
OpenID是只要輸入一次帳號密碼,就能直接通行各種需要認證動作的網路服務。在本期電腦王雜誌〈達人之路:自己架OpenID漫遊認證〉當中,介紹了如何自己架設一個支援OpenID的網站。不過由於篇幅的限制,雜誌上只刊出了Linux平台的架設步驟,Windows的部份則在這裡補完。 架設Windows版本MySQL Database Server

在Windows平台安裝MySQL,必須注意在「Setup Type」選擇「Complete」安裝方式。檔案安裝到硬碟後,選擇「Configure the MySQL Server now」繼續設定。

接下來選擇「Standard Configuration」標準設定方式,執行方式為「Install As Windows Service」,並勾選「Launch the MySQL Server automatically」設成開機後自動執行,這樣開機後就會自動執行MySQL,服務的啟動與停止也可以透過系統管理工具的「服務」管理程式控制。最後勾選「Modify Secruity Setting」選項,設定root密碼,並取消勾選「Enable root access from remote machines」選項,限制root不能從遠端主機存取資料庫。

許多Windows使用者都會安裝防毒軟體,記得不要對MySQL程式進行管控,否則會無法執行。一旦MySQL沒有執行,在設定MySQL的階段就會因為要連線至MySQL,而產生標題為「Connection Error」的訊息無法繼續。

Windows版本的MySQL服務啟動執行的預設指令是:

“C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt” –defaults-file=”C:\Program Files\MySQL\MySQL Server 5.0\my.ini”

這也是MySQL系統安裝的預設目錄,所以請由MySQL提供的基本設定檔案擇一進行細部修改,變更檔案名稱為my.ini複製到這個路徑。

OpenID 架站Windows篇
▲選擇「Complete」安裝方式。

OpenID 架站Windows篇
▲選擇「Configure the MySQL Server now」進行設定。

OpenID 架站Windows篇
▲選擇「Standard Configuration」設定方式。

OpenID 架站Windows篇
▲設定為「Service」的運作方式,開機後自動執行。

OpenID 架站Windows篇
▲設定「root」密碼,限制root不能從遠端連線存取。

OpenID 架站Windows篇
▲無法連線至MySQL的錯誤訊息。

安裝Windows版本OpenSSL程式
下載網址:http://www.slproweb.com/download/Win32OpenSSL-0_9_8g.exe

編譯好的OpenSSL Binary檔案並未放在OpenSSL的官網上,但可以從官網裡的一個頁面下找到:http://www.openssl.org/related/binaries.html

執行檔下載後就跟一般程式安裝的方式一樣,在同意版權說明後,一直按「下一步」到執行完畢即可。Windows版本OpenSSL程式主要的工作就是在製作伺服器數位憑證,這部份的程序與Linux平台的處理方式相同,差異只在於需要在DOS模式下進入C:\OpenSSL目錄執行下面這三行指令:

openssl genrsa -out server.key 1024
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 10000 -signkey server.key -in server.csr -out server.crt

以前某個版本的OpenSSL,在執行openssl指令過程當中,筆者曾經遇到過以下錯誤訊息:

Unable to load config info from /usr/local/ssl/openssl.cnf

這時請建立C:\usr\local\ssl目錄,並將C:\OpenSSL\openssl.cnf檔案複製過去即可解決。

架設Windows版本Apache Web Server
下載網址:http://apache.ntu.edu.tw/httpd/binaries/win32/apache_2.2.9-win32-x86-openssl-0.9.8h-r2.msi

在安裝Apache時,請在安裝過程中的「Server Information」設定頁面輸入Network Domain、Server Name與Administrator’s Email Address,接下來的「Setup Type」一樣選擇「Typical」方式進行安裝即可,接下來的安裝程序,就跟一般程式沒有兩樣。

部份安裝步驟詳細說明與注意重點:
一、安裝前避免軟體佔用Port 80。
在安裝Apache前,需要先確定Port 80通訊埠尚未被使用才行,以skype這套軟體為例,若執行Apache安裝程式前已經執行,會因為Port 80已經被skype佔用,導致Apache安裝失敗,所以必須先將skype結束執行再安裝Apache。

二、Server相關資料填寫說明。
Network Domain
申請的Domain Name,如liferec.com,其他如www.liferec.com、forum.liferec.com…等其實都是網站管理員由申請的Domain Name延伸設定出來的。

Server Name
WWW Server所在的Domain Name,一般都是在申請的Domain Name前加上「www.」。

Administrator’s Email Address
網站管理人員的email。

三、OpenSSL完成的憑證檔案放置路徑
將以openssl產生的server.key、server.csr與server.crt複製到「C:\Program Files\Apache Software Foundation\Apache2.2\conf」目錄,接下來需要設定httpd.conf與http-ssl.conf檔案,請參考雜誌上Linux版本的設定方式。

OpenID 架站Windows篇
▲填入Server各項資料,設定為「Service」的運作方式。

OpenID 架站Windows篇
▲選擇以「Typical」方式進行安裝。

OpenID 架站Windows篇
▲Port 80被佔用無法啟動Apache的錯誤訊息。

安裝Windows版本PHP scripting language
下載網址:http://tw2.php.net/get/php-5.2.6-Win32.zip/from/tw.php.net/mirror

PHP安裝方式主要有二種,一種是有視窗介面的安裝程式;一種是打包好的完整程式檔案,需要手動安裝設定。筆者的習慣是使用第二種手動方式,這樣比較容易掌控安裝狀況,遇到問題才容易解決。

檔案下載後並未限制一定要解壓縮至那個目錄,只要後續對應的目錄設定正確即可,筆者習慣上會安裝在以下目錄:「C:\Program Files\PHP」。

接著,將PHP目錄下的libmysql.dll檔案複製到Windows系統預設安裝目錄(C:\Windows)。PHP目錄下的php.ini-dist檔案也同樣複製過去,但需要更名為php.ini。再來是修改php.ini檔案內容,設定載入模組路徑與載入常用模組。

找出以下字串

extension_dir = “./”

修改為

extension_dir = “C:\Program Files\PHP\ext”

將以下幾行字串,將最前面的「;」去除。

;extension=php_curl.dll
;extension=php_gd2.dll
;extension=php_gmp.dll
;extension=php_mysql.dll
;extension=php_mysqli.dll

修改Apache的httpd.conf設定檔案內容,這個檔案的預設目錄在:「C:\Program Files\Apache Software Foundation\Apache2.2\conf」。

找出以下字串:

<ifmodule>
DirectoryIndex index.html
</ifmodule>

修改為:

<ifmodule>
DirectoryIndex index.html index.htm index.php
</ifmodule>

如果設定檔裡沒有以下兩行設定,就自行加入:

LoadModule php5_module “C:\Program Files\PHP\php5apache2_2.dll”
AddType application/x-httpd-php .php .phps .php3 .php4 .php5

要注意,php5apache2.dll是for Apache2.0.X版本使用的,而php5apache2_2.dll是for Apache2.2.X版本使用的。

PC!ADV
作者

使用 Facebook 留言
發表回應
謹慎發言,尊重彼此。按此展開留言規則