2009年3月7日 星期六

建立Apache Http Serve開發環境

安裝版本下載位置:

Apache Http Server 2.2.11
http://httpd.apache.org/download.cgi
PHP 5.2.9(zip 解壓縮版)
http://www.php.net/downloads.php
mySql 5.1.32
http://dev.mysql.com/downloads

(X)phpMyAdmin 3.1.3(zip 解壓縮版)
(X)http://www.phpmyadmin.net/home_page/downloads.php

phpMyAdmin 不是很好用,更改效率慢 改用
MySQL Administrator (在mysql網站 download GUI Tool )


部署:


安裝和配置:

在Vista下安裝,先將UAC關閉(修改UAC 需要重新開機)。




安裝 Apache Http Server
1.Network Domain、Server Name填localhost
2.安裝選Custom ,安裝位置改到D:\root\webTool\Apache2.2
3.在安裝過程中.選擇不會自動註冊服務(port 8080那一個,port可以在之後的設定修改)
4.進入Command Line(命令提示字元),在執行 打cmd按下enter(vista 如下圖)


在Command Line下輸入


C:\Users\Rice>d:
D:\>cd d:\root\webTool\Apache2.2\bin
d:\root\webTool\Apache2.2\bin>httpd -k install


配置 PHP
1.將 PHP文件解壓縮到 D:\root\webTool\PHP5.2.9
2.在.\PHP5.2.9 資料夾下複制一份php.ini-recommended改名成php.ini
3.修改php.ini

;extension=php_mysql.dll 去掉;
→ extension=php_mysql.dll
extension_dir = "./" 改成php底下的ext資料夾
extension_dir = "D:/root/webTool/php5.2.9/ext/"


在ext底下有目前版本php所提供可用的DLL,大部份都是沒有被啟動,如果要使用,只需要把php.ini裡對應到extension前面的分號拿掉,再重起Apache Http Server


4.把php所在的目錄加到系統環境變數path的後面



Apach Http Server上配置PHP
打開httpd.conf (在Apache安裝目錄下conf資料夾中:D:\root\webTool\Apache2.2\conf)
修改httpd.conf













原始結果
DocumentRoot "D:/root/webTool/Apache2.2/htdocs"#設定網頁起始的位置
DocumentRoot "D:/root/wwwroot"

#在LoadModule的位置新增下面二行
LoadModule php5_module "D:/root/webTool/php5.2.9/php5apache2_2.dll"
PHPIniDir "D:/root/webTool/php5.2.9"
DirectoryIndex index.htmlDirectoryIndex index.php index.html

#找到AddType application/x-gzip .gz .tgz 新增下面二行
AddType application/x-httpd-php .php
AddType application/x-httpd-php .html
Listen 8080#這為設定port 原先可能為8080 : 80為http預設port
Listen 80
在conf資料夾下有一個original資料夾(D:\root\webTool\Apache2.2\conf\original),裡面有原始的設定檔,如果httpd.conf被改到爛掉,可以重新copy一分回來

安裝mySql
安裝時選Custom,改變安裝目錄到D:\root\webTool\mysql
安裝完成後,會問你要不要到官網註冊(可以跳過)。然後會問你是否 Configure the MySQL Server now,選中並繼續,然後根據提示,設定 ,以及 root 管理員的密碼。


安裝phpMyAdmin
這是一套用php寫出來管理mySql的GUI
下載並解壓縮程式,搬移至 Web 網站目錄下manager資料夾,修改為phpmyadmin313
複製主目錄下的 config.sample.inc.php 檔,並更名為 config.inc.php。
修改config.inc.php
$cfg['Servers'][$i]['auth_type'] = 'cookie';
給予 $cfg['blowfish_secret'] 一個任意亂數值,最長可為 46 個字元。此亂數值將用以使用在 blowfish 演算法,對密碼進行加密,例如:$cfg['blowfish_secret'] = 'cooki';
phpMyAdmin 執行時會先載入 libraries/config.default.php 檔,接著再重設 config.inc.php 檔中設定的變數。


可能遇到的問題

使用 cookie 登錄時,需將密碼經編碼後儲存,需使用 mcrypt 函式,若 php 不支援此函式登錄後,畫面下方會出現此錯誤訊息:『無法讀取mcrypt模組,<br />請檢查 PHP 設定』。欲解決此問題,請開啟 php.ini 檔案,將 extension=php_mcrypt.dll 前方的註解移除 (亦即啟動 php_mcrypt.dll),另外請將 php 目錄下的 libmcrypt.dll 檔案複製到 apache2.2\bin



找不到 PHP 內的 mbstring 編碼模組, 沒有這個模組, phpMyAdmin 無法準確地分割雙字元文字, 而可能產生問題.
修改php.ini檔案extension=php_mbstring.dll前方的註解移除

設定檔案現在需要密碼 (passphrase) (blowfish_secret).

修改config.inc.php檔案
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['blowfish_secret'] = 'cookie'

建立資料庫時出現”Missing parameters “errors
libraries/config.default.php 檔裡面修改$cfg['PmaAbsoluteUri'] = ‘’
→ $cfg['PmaAbsoluteUri'] = 'http://localhost/phpMyAdmin313'
(在phpMyAdmin3.1.3版本$cfg['PmaAbsoluteUri'] 是放在config.default.php 有一些版本是在config.inc.php)
另外,在這我沒有設定,維持原本設定空值.還是能正常執行。

增加其它附加功能



第一步新增Database 和 Table
在.\phpMyAdmin313\scripts下有二個SQL檔案create_tables.sql、upgrade_tables_mysql_4_1_2+.sql
執行 create_tables.sql
執行 upgrade_tables_mysql_4_1_2+.sql
可以透過phpMyAdmin 執行.sql裡面的內容

第二步修改.\phpMyadmin313\config.inc.php
打開下面的設定(後面的值,代表資料庫的名子和表格的名子)

$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
$cfg['Servers'][$i]['relation'] = 'pma_relation';
$cfg['Servers'][$i]['table_info'] = 'pma_table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma_column_info';
$cfg['Servers'][$i]['history'] = 'pma_history';
$cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';


Ref:
http://hi.baidu.com/dzlx/blog/item/1fd882517f850f2342a75bea.html
http://www.xiaohui.com/dev/server/20070922-install-apache-mysql-php-on-vista.htm
http://www.plays.com.tw/vbulletin/archive/index.php/t-382.html

沒有留言:

張貼留言