發新話題

[分享] 配合Apache+PHP何架設 MySQL 資料庫系統

配合Apache+PHP何架設 MySQL 資料庫系統

前言:
MySQL 是一種: 跨平台,多使用者,多執行緒,支援SQL語言(結構化查詢語言),執行速度快,廣受全球網站大量採用的網路資料庫系統,最重要的是,在大部份情形下,使用 MySQL 是完全免費的!(MySQL自3.23.19之後已改為GPL版權宣告囉!)
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 包
首先至 訪客無法瀏覽此圖片或連結,請先 註冊登入會員    下載 MySQL 的 tarball : mysql-3.23.24-beta.tar.gz,或至訪客無法瀏覽此圖片或連結,請先 註冊登入會員 .
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
訪客無法瀏覽此圖片或連結,請先 註冊登入會員 下載 PHP   4.0.2 版,檔名是: php-4.0.2.tar.gz
或至訪客無法瀏覽此圖片或連結,請先 註冊登入會員
訪客無法瀏覽此圖片或連結,請先 註冊登入會員    下載 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. 下載
訪客無法瀏覽此圖片或連結,請先 註冊登入會員    下載 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. 下載
訪客無法瀏覽此圖片或連結,請先 註冊登入會員 下載 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 語言
  • 如何做資料庫分析規劃
  • 如何去整合應用
安裝??
只不過是一小步而已,它在本質上,是一種無聊浪費時間的,又不得不做的工作.
至於,
我上面提到的,這一些再學習的目標,就有待各位繼續努力去追尋囉!
您可以參考:
訪客無法瀏覽此圖片或連結,請先 註冊登入會員
訪客無法瀏覽此圖片或連結,請先 註冊登入會員
訪客無法瀏覽此圖片或連結,請先 註冊登入會員
訪客無法瀏覽此圖片或連結,請先 註冊登入會員
訪客無法瀏覽此圖片或連結,請先 註冊登入會員
訪客無法瀏覽此圖片或連結,請先 註冊登入會員
訪客無法瀏覽此圖片或連結,請先 註冊登入會員
訪客無法瀏覽此圖片或連結,請先 註冊登入會員
買本書來看吧? 看書是最快的學習途徑!!
有問題的話,到程式研發組來討論討論吧?!

TOP

發新話題

本站所有圖文均屬網友發表,僅代表作者的觀點與本站無關,如有侵權請通知版主會盡快刪除。