文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>如何架設 MySQL 資料庫系統?(配合Apache+PHP)

如何架設 MySQL 資料庫系統?(配合Apache+PHP)

时间:2007-04-06  来源:darrenshen

http://linux.tnc.edu.tw/techdoc/MySQL-HOWTO/MySQL-PHP-Apache-HowTo.htm  

如何架設 MySQL 資料庫系統?(配合Apache+PHP)

Copyright 2000 OLS3,本講義僅供教育人員參考,任何引用,請先取得作者的同意.

Email: [email protected]

網站: http://www.ols3-cgi.com 或 http://www.perl.ms 臥龍小三CGI天堂

或 http://perl.tnc.edu.tw/

前言:

MySQL 是一種: 跨平台,多使用者,多執行緒,支援SQL語言(結構化查詢語言),執行速度快,廣受全球網站大量採用的網路資料庫系統,最重要的是,在大部份情形下,使用 MySQL 是完全免費的!(MySQL自3.23.19之後已改為GPL版權宣告囉!)

MySQL 到底有多快呢? 這裡有一份測速比較表 (注意喔!在這裡,長條圖是越短越好喔!),您可以發現 MySQL 優異的表現!

整體而言,MySQL 免費,原始碼開放,入門容易,執行速度快,跨平台(NT也可以跑喔!),支援工具眾多等特性,十分適合中小學校用來開發各種校務行政系統! 學校不必再花費數十萬元,去購買一些費而不惠的資料庫!

MySQL 沒有所謂連線使用者限制,其它商用資料庫系統,一定數量以上的連線使用者數,可是要付出相當可觀的費用的!

您知道嗎? 像 Yahoo,Sina 等大公司,也是用 MySQL 哩! 大鯨魚都這樣聰明地挑選 MySQL 了,何況是我們這種小蝦米?!

本文將介紹,如何在 RedHat Linux 下,安裝 MySQL 資料庫系統,並結合 Apache / PHP。當然,其它 Linux 套件/Un*x/FreeBSD 等平台也大部份適用!

安裝 MySQL + Apache + PHP 的方式

有二種方式您可以選擇:

  1. 用 RPM 安裝
  2. 用原始碼包(Tarball)安裝,通常檔名是: xxxx-x.x.x.tar.gz

選擇的根據,和您目前所使用的 RedHat 版本有關!

如果您是使用 RedHat 6.1 + CLE 0.9,您可以選用第一種方式,這種安裝方式是最輕鬆,最方便快速的,但控制自由度卻最小.

如果您是使用 RedHat 6.0 + CLE 0.8,那麼您必須選用第二種方式,因為這個版本的 RedHat,所附的 PHP 模組並不支援 MySQL.

如果您是使用 RedHat 6.1 以上的英文版本,二種方式皆可行.

我的建議是,不管那一個版本,那一種平台,皆使用第二種方式,可以獲得最大的控制自由度.

當然,若您只是想要玩玩 MySQL + PHP 3,那麼,RedHat 6.1 + CLE 0.9 是不錯的選擇! 因為,大約只要十分鐘就可以架好系統,開始享受 MySQL + PHP 3 驚人的魅力!

仍在使用 RedHat 6.0 + CLE 0.8 的人,若欲求方便快速,應該可以考慮升級至 RedHat 6.1 + CLE 0.9 了!

若不想升級,您可選用第二種方式來安裝囉!

另外一點,PHP 自從 4.0 之後,改採用 Zend 引擎,速度快,效能好,是最佳的選擇! 若您覺得仍不夠快,Zend 引擎站台,還提供火箭加速器,讓您的 PHP + MySQL 一飛沖天!

本文最末,也會介紹如何加裝這顆加速器!

另外,還有人提到,為何不介紹 ASP + Access 或 ASP + MS SQL ??

我的看法是: 這些東西,在市面上,已經有太多書提及了,您自己看書即可.

我的觀察是: ASP+Access 真是遜斃了! Access 實在不適合拿來當作網路資料庫使用! 您不會希望您的資料庫老是出現 provider error 的訊息吧? 然後還要重新開機才能使用? :-Q

若您覺得什麼系統好用,您就去用,沒有任何仇恨微軟的情結,也無此必要.

套句廣告詞: 自己試試,最靠得住!

提倡 GPL / GNU / Open Soure,不一定就是反微軟,

我真正的想法是: 凡是能供使用者有多重選擇者,就是最好的方案,而不是僅此一家,別無它擇!

"您有很多種方式可以達成目的,選擇您認為最好的!"

 

OK,開始吧!

安裝方式一.

RedHat Linux 6.1 + CLE 0.9 下,使用 RPM 檔來安裝:

前面提到,這個方式是最輕鬆的,過程如下:

1. 下載以下套件:

其實這些檔案在 RedHat 6.1 + CLE 0.9 的光碟片中便有:

  • MySQL-3.22.32-1CLE.i386.rpm
  • MySQL-client-3.22.32-1CLE.i386.rpm
  • php-3.0.15-1CLE.i386.rpm
  • php-mysql-3.0.15-1CLE.i386.rpm
  • phpMyAdmin-2.0.5-2CLE.noarch.rpm

或至本中心下載.

2. 使用 rpm 指令來安裝

rpm -ivh MySQL*

rpm -ivh php*

3. 設定MySQL 中 root 的密碼 (注意! 此一 root 和 Linux 中的 root 並不是同一個)

mysqladmin -u root password '您要設定給 root 的密碼'

例如:

mysqladmin -u root password 'clinton38'

(嘿... 可不要真的選用這個密碼喔! 這只是舉例而已...)

4. 修改 /etc/httpd/conf 中 httpd.conf 的設定

LoadModule php3_module     modules/libphp3.so

AddModule mod_php3.c

之前的 # 去掉

並增加以下這二列:

AddType  application/x-httpd-php3  .php3

AddType  application/x-httpd-php3  .php

然後存檔.

5. 重新啟動 Apache

/etc/rc.d/init.d/httpd restart

6. 設定 phpMyAdmin

cd /home/httpd/html/phpMyAdmin

編輯 config.inc.php3,修改以下三行,變成:

$cfgServers[1]['adv_auth'] = true;

$cfgServers[1]['stduser'] = 'root';

$cfgServers[1]['stdpass'] = '您要設定給 root 的密碼';

7. 測試:

編寫一個測試用的程式: test.php3

內容如下:

<? phpinfo() ?>

將該檔放入 /home/httpd/html 中,然後於瀏覽器中觀看 http://貴校網址/test.php3

若看到以下畫面,那就是成功了!

接著用以下指令,連接至 MySQL,看看是否能正常連上?

mysql -u root -p mysql

然後輸入 root 的密碼,若出現:

表示連接正常!

按 exit 便可離開.

8. 管理

您可以連至 http://貴校網址/phpMyAdmin/,用 root 帳號密碼登入,開始進行資料庫的管理了!

畫面如下:

 

安裝方式二.

使用原始碼包來安裝:(推薦此方式)

共有以下四個大項:

  • 安裝 MySQL
  • 安裝 PHP + Apache
  • 安裝 phpMyAdmin
  • 安裝 ZendOptimizer

Let's go!

A. 安裝 MySQL

1. 下載 Tarball 包

首先至 http://www.mysql.com 下載 MySQL 的 tarball : mysql-3.23.24-beta.tar.gz,或至本中心FTP下載.

2. 解壓:

tar xvzf mysql*.gz

3. 進入原始目錄

cd mysql-3.23.24

4. 設定:

./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/var --with-charset=big5


(註: 3.23.35 之後的版本,不必加上 --with-charset=big5)

Note:

  • --prefix 是用來指定安裝的目錄位置
  • --localstatedir 是用來指定資料庫檔的存放目錄位置
  • --with-charset 是用來選用支援的語系

5. 編譯:

make

Note:

  • 之後,您會看到一堆編譯過程的訊息,大可不必理會!
  • 但要注意是否有 error 訊息產生!
  • 吃杯茶去吧!

6. 安裝:

make install

7. 開啟預設資料庫/表格:

scripts/mysql_install_db

8. 增加一位叫 mysql 的使用者帳號

adduser mysql

9. 改變 /usr/local/mysql 的擁有者為 mysql

chown -R mysql.mysql /usr/local/mysql

10. 啟動 MySQL

/usr/local/mysql/bin/safe_mysqld --user=mysql &

11. 設定 root 的密碼

mysqladmin -u root password '您要設定給root的密碼'

例如:

mysqladmin -u root password 'raso'

12. 設定一開機便啟動 MySQL

/usr/local/mysql/bin/safe_mysqld --user=mysql &

加入 /etc/rc.d/rc.local 檔末即可.

B. 安裝 PHP + Apache

1. 取得 PHP 及 Apache

至 http://www.php.net 下載 PHP 4.0.2 版,檔名是: php-4.0.2.tar.gz

或至本中心下載

http://www.apache.org 下載 Apache 1.3.12 版,檔名是: apache_1.3.12.tar.gz

或至本中心下載.

2. 解壓

tar xvzf php-4.0.2.tar.gz

tar xvzf apache_1.3.12.tar.gz

3. 先設定 Apache

cd apache_1.3.12

./configure --prefix=/usr/local/apache

Note:

  • --prefix 是指定安裝的目錄位置

4. 設定並安裝 PHP4

cd ..

cd php-4.0.2

./configure --with-mysql --with-apache=../apache_1.3.12 --enable-track-vars

make

make install

若編譯過程有誤(通常是編譯 ext/gd 出現 error),

則可重新設定為:

./configure --with-mysql --with-apache=../apache_1.3.12 --enable-track-vars --without-gd

再 make 及 make install 一次.

Note:

  • --with-mysql 是指要讓 PHP 支援 MySQL
  • --with-apache 是指定 Apache 的原始檔案路徑,如此,在編譯的過程,才抓得到 Apache 的 source 及 include 檔
  • --enable-track-vars 是指 PHP 會自動去抓取 POST / GET / Cookie 的變數值,設計師只要用表單中的變數名,即可抓到傳遞值,不需要任何特殊的處理.
  • --without-gd 是指不要支援 GD 繪圖函式庫.

5. 設定並安裝 Apache

cd ..

cd apache_1.3.12

./configure --prefix=/usr/local/apache --activate-module=src/modules/php4/libphp4.a

make

make install

cd ..

cd php-4.0.2

cp php.ini-dist  /usr/local/lib/php.ini

Note:

  • src/modules/php4/libphp4.a 一開始雖不存在,但在編譯的過程自動會產生!

6. 修改 /usr/local/apache/conf 中的 httpd.conf

加入以下幾列:

AddType application/x-httpd-php .php

AddType application/x-httpd-php .php3

AddType application/x-httpd-php .phtml

Note:

  • 這樣一來,PHP 程式的副檔名,用 .php 或 .php3 或 .phtml 皆可!

修改 DirectoryIndex 變成:

DirectoryIndex index.html index.php index.php3 index.phtml index.shtml

Note:

  • 預設首頁檔名,增加了 index.php index.php3 index.phtml

7. 將原有的網頁搬家

cp -Rf /home/httpd/html/* /usr/local/apache/htdocs

cp -Rf /home/httpd/cgi-bin /usr/local/apache

或者您自行把網頁放入 /usr/local/apache/htdocs 中

把 cgi-bin 的檔案放入 /usr/local/apache/cgi-bin 中

8. 先殺原有的 Apache

/etc/rc.d/init.d/httpd stop

把原有的開機啟動 Apache 拿掉

linuxconf --> Control --> Control service activity -->httpd 設為 disable

cd /etc/rc.d/rc3.d

rm S85httpd

或者您考慮把舊有的 Apache 移除??!! (rpm -e apache)

9. 啟動新的 Apache

/usr/local/apache/bin/apachectl start

10. 設定開機自動載入新的 Apache

/usr/local/apache/bin/apachectl start

放入 /etc/rc.d/rc.local 檔末即可

C. 安裝 phpMyAdmin

1. 下載

至 http://phpwizard.net/ 下載 phpMyAdmin 2.1.0 或至本中心下載

檔名是:

phpMyAdmin_2.1.0.tar.gz (解開之後,副檔名全為 php3 者)

phpMyAdmin_2.1.0php.tar.gz(解開之後,副檔名全為 php 者)

不管是選用那一個都可以,因為前面在 httpd.conf 中,我們已把 php3 及 php 的 type 都加入了.

2. cp phpMyAdmin_2.1.0.tar.gz /usr/local/apache/htdocs

3. 解壓

tar xvzf phpMyAdmin_2.1.0.tar.gz

(或 tar xvzf phpMyAdmin_2.1.0php.tar.gz)

4. 設定

cd /usr/local/apache/htdocs/phpMyAdmin

編輯 config.inc.php3 (或 config.inc.php)

修改以下三行,變成:

$cfgServers[1]['adv_auth'] = true;

$cfgServers[1]['stduser'] = 'root';

$cfgServers[1]['stdpass'] = '您要設定給 root 的密碼(MySQL中的root)';

若您想使用中文介面

可把

require("english.inc.php3");

改成:

require("chinese_big5.inc.php3");

英文介面

 

中文介面

5. 測試

方法皆同如前面所提

 

D. 給 PHP4/Zend 加一顆火箭加速器(ZendOptimizer)吧!

1. 下載

至 http://www.zend.org 下載 ZendOptimizer-0.99-php4.0.2-Linux-glibc2.1.tar.gz

或至本中心下載

2. 解壓

tar xvzf Zend*

3. 設定

cd ZendOptimizer-0.99-php4.0.2-Linux-glibc2.1

mkdir -p /usr/local/Zend/lib

cp ZendOptimizer.so /usr/local/Zend/lib

將以下二列加入 /usr/local/lib/php.ini 檔末中

zend_optimizer.optimization_level=15

zend_extension="/usr/local/Zend/lib/ZendOptimizer.so"

4. 重新啟動 Apache

/usr/local/apache/bin/apachectl restart

5. 測試

http://貴校網址/test.php3

(test.php3 的內容同前文所提)

若出現畫面含有以下圖形,就表示成功了!

結語:

到此為止,貴校主機中已有以下系統結構:

MySQL 3.23.24 + Apache 1.3.12 + PHP 4.0.2 + ZendOptimizer 0.99

接下來,您還要學習:

  • 如何管理這些系統
  • 如何使用 SQL 語言
  • 如何使用 PHP 語言
  • 如何做資料庫分析規劃
  • 如何去整合應用

安裝??

只不過是一小步而已,它在本質上,是一種無聊浪費時間的,又不得不做的工作.

至於,

我上面提到的,這一些再學習的目標,就有待各位繼續努力去追尋囉!

您可以參考:

http://www.php.net

http://www.zend.org

http://www.apache.org

http://phpwizard.net/

http://www.mysql.com

http://linux.tnc.edu.tw/MySQL/Manual_chapter/manual_toc.html

http://perl.tnc.edu.tw/manual/php3big5/

http://perl.tnc.edu.tw/manual/zend/

買本書來看吧? 看書是最快的學習途徑!!

有問題的話,到程式研發組來討論討論吧?!

網址如下所示:

http://perl.tnc.edu.tw/

希望本文對台南縣各中小學能有所幫助....
OLS3 ([email protected])

相关阅读 更多 +
排行榜 更多 +
找茬脑洞的世界安卓版

找茬脑洞的世界安卓版

休闲益智 下载
滑板英雄跑酷2手游

滑板英雄跑酷2手游

休闲益智 下载
披萨对对看下载

披萨对对看下载

休闲益智 下载