如何架設 MySQL 資料庫系統?(配合Apache+PHP)
时间:2007-04-06 来源:darrenshen
如何架設 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 的方式
有二種方式您可以選擇:
- 用 RPM 安裝
- 用原始碼包(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://phpwizard.net/
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])