萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> 建立Apache+PHP3+MySQL驅動動態網站

建立Apache+PHP3+MySQL驅動動態網站

  Apache是目前應用最廣的Web服務器,PHP3是一種類似ASP的腳本語言,目前的發展趨勢大有超過Perl之勢,而MySQL是一個輕量級的數據庫系統,特別是用於網站建設,這3個軟件均是自由軟件,是架設數據庫驅動的動態網站的最佳排檔。

  本文只介紹這3個軟件的安裝,有關PHP和MySQL的編程和使用請見其他資料。

  一、如何獲得軟件?

  獲得這3個軟件包的方法很多,目前大多數Linux分發都捆綁了這3個軟件包,如RedHat。本文介紹的安裝方法是基於從這些軟件的官方站點上下載獲得的軟件包進行的,針對RedHat Linux 6.1,也介紹它們的安裝和配置。

  這3個軟件的官方站點是:

  軟件 官方網站 當前版本 下載

  Apache http://www.apache.org/httpd.html 1.3.9 這裡

  PHP http://www.php.net/ 3.0.13 這裡

  MySQL http://www.mysql.com 3.22.29 這裡

  從上述網站上,你應該下在以下軟件包:

  軟件 文件名

  Apache apache_1.3.9.tar.tgz (apache源代碼包)

  PHP php-3.0.13.tar.gz (PHP3源代碼包)

  MySQL MySQL-3.22.29-1.i386.rpm (MySQL服務器)

  MySQL-client-3.22.29-1.i386.rpm (MySQL客戶實用程序)

  MySQL-devel-3.22.29-1.i386.rpm (MySQL包含文件和庫)

  MySQL-shared-3.22.29-1.i386.rpm (客戶程序共享庫)

  二、安裝MySQL

  首先檢查你的系統是否已經安裝了MySQL:

rpm -q MySQL
            rpm -q MySQL-client
            rpm -q MySQL-devel
            rpm -q MySQL-shared

  如果你的版本比3.22.29舊,而且你想升級MySQL到3.22.29版本,先用rpm -e刪除所有的MySQL包,並:

rpm -i MySQL-3.22.29-1.i386.rpm
            rpm -i MySQL-client-3.22.29-1.i386.rpm
            rpm -i MySQL-devel-3.22.29-1.i386.rpm
            rpm -i MySQL-shared-3.22.29-1.i386.rpm 

  或者直接升級到3.22.29版:

rpm -Uvh MySQL-3.22.29-1.i386.rpm
            rpm -Uvh MySQL-client-3.22.29-1.i386.rpm
            rpm -Uvh MySQL-devel-3.22.29-1.i386.rpm
            rpm -Uvh MySQL-shared-3.22.29-1.i386.rpm 

  安裝MySQL服務器時,安裝程序會提示你設置root口令,有關MySQL的安裝後期設置,請參閱。

  上述安裝將MySQL執行文件放在"/usr/bin"目錄下,包含文件放在"/usr/include/mysql"目錄下,庫文件放在"/usr/lib/mysql"目錄下。

  三、解壓縮apache和php並編譯和安裝

  如上所述下載apache和php源代碼軟件包,加入下載的文件放在目錄"/apps"下,進入"/apps"目錄,用ls檢查你有這兩個文件:

  apache_1.3.9.tar.gz

  php-3.0.13.tar.gz

  1、解壓縮apache並配置

  用下列命令解壓縮apache_1.3.9.tar.gz

  tar zxvf apache_1.3.9.tar.gz

  它講解壓縮的文件放在apache_1.3.9目錄下。然後配置apache:

  cd apache_1.3.9 ( 進入apache源代碼樹的目錄)

  ./configure --prefix=/www (假如你想安裝apache最終安裝在目錄"/www"下)

  2、解壓縮php3並配置和編譯

  cd .. (回到上級目錄)

  tar zxvf php-3.0.13.tar.gz (解壓縮到目錄"php-3.0.13")

  cd php-3.0.13  (進入php3的源代碼目錄)

  ./configure --with-mysql --with-apache=../apache_1.3.9

  make

  make install

  3、編譯和安裝apache

  cd ..

  ./configure --prefix=/www --activate-module=src/module/php3/libphp3.a

  make

  make install (將apache安裝到"/www"目錄下)

  上述這種方法是將php編譯進了apache目標代碼,所以其效率和性能上要比DSO方式略好。將php作為apache的一個模塊的方法,見後面的介紹。

  4、配置apache

  cd /www (到apache主目錄)

  cd conf  (進入配置文件目錄)

  編輯"httpf.conf"文件,將"AddType application/x-httpd-php3 .php3"一行的注釋去掉,這樣對於以".php3"為後最後綴的文件將作為php腳本文件處理。

  5、啟動apache

  關掉正在運行的httpd(有時在系統啟動時啟動的),重新啟動新的httpd:

  cd /www/bin./apachectl start

  用ps aux命令檢查httpd已經正確啟動。

  6、測試

  lynx localhost

  如果你能看到頁面顯示,說明你已正確設置和啟動了httpd。

  7、測試php

  cd /www/htdocs (進入默認網頁存放目錄)

  創建一個ex.php3文件,內容如下:

$myvar="Hello,World!";
            echo $myvar;
            phpinfo();
            ?>

  運行些列命令,檢查輸出是否是"Hello,World"和當前php的設置:

  lynx localhost/ex.php3

  如果是,說明你的apache已經可以處理php腳本文件了。恭喜你!

  8、測試MySQL數據庫

  按照上面的方法安裝MySQL後,建立一個mydb.dump文件,包含入下內容:

CREATE TABLE employees (  id tinyint(4) DEFAULT '0' NOT NULL
            AUTO_INCREMENT,  first varchar(20),  last varchar(20),
            address varchar(255),  position varchar(50),  PRIMARY KEY (id),
            UNIQUE id (id));
            INSERT INTO employees VALUES (1,'Bob','Smith',
            '128 Here St, Cityname','Marketing Manager');
            INSERT INTO employees VALUES (2,'John','Roberts','45 There St ,
            Townville','Telephonist');
            INSERT INTO employees VALUES (3,'Brad','Johnson','1/34 Nowhere Blvd,
            Snowston','Doorman');

  然後用這個SQL腳本在MySQL中創建一個數據庫mydb,在shell下打入下列命令:

  mysql -u root -pyourpasswd mydb

  這裡,如果你在案裝MySQL後設置了root用戶的口令,yourpasswd換成你的口令,如果沒有為root設置口令,則去掉-p選項。

  創建後上述數據庫後,創建一個php3腳本文件,如test.php3,其內容如下:

$db = mysql_connect("localhost", "root");
            mysql_select_db("mydb",$db);
            $result = mysql_query("SELECT * FROM employees",$db);
            printf("First Name: %s
            n", mysql_result($result,0,"first"));
            printf("Last Name: %s
            n", mysql_result($result,0,"last"));
            printf("Address: %s
            n", mysql_result($result,0,"address"));
            printf("Position: %s
            n", mysql_result($result,0,"position"));
            ?>

  如果root設置了口令,則在上面的$db = mysql_connect("localhost", "root");中加入口令:

  $db = mysql_connect("localhost", "root","yourpasswd");

  然後測試test.php3:

  lynx localhost/test.php3

  其顯示的結果應該是:

First Name: Bob
            Last Name: Smith
            Address: 128 Here St, Cityname
            Position: Marketing Manager

  如果是,說明你的php3已經能夠處理MySQL數據庫了,再次恭喜你!!

  三、將php3編譯成apache的一個模塊

  上面的方法是將php3編譯進了apache的二進制代碼中,其優點是配置簡單,效率高,但一個更靈活的方法是將php3作為apache的一個DSO(Dynamic Shared Object)模塊,詳見apache文檔。下面就介紹如何將php3編譯為apache的一個模塊。

  1、配置apache

  進入apache源代碼目錄,運行下列命令,(假定將httpd安裝在"/web"目錄下)

  cd apache_1.3.9

  ./comfigure --prefix=/www --enable-shared=max

  make (編譯apache)

  make install (將apache安裝在/web目錄下)

  2、配置php3並編譯和安裝

  假定你已將apache目錄下(請記住該目錄),進入php3的源代碼目錄進行配置和編譯:

cd php-3.0.13
            ./configure --with-ap
						
copyright © 萬盛學電腦網 all rights reserved