現在的Web網站已經不再是僅向瀏覽者或使用者提供靜態網頁內容的瀏覽,而是要求能夠和使用者進行動態資訊交流的動態Web網站,所以,搭建Web網站平台不僅要支援簡單的HTML網頁瀏覽,更重要的是使Web網站能和使用者實現一種動態互動式操作。這就要求Web伺服器在提供標準的HTML網頁瀏覽之外提供一種能和使用者交流的技術。這種技術不但要能夠收集和反饋使用者資訊,還要支援資料庫操作(把資訊存入資料庫和從資料庫中檢索資訊)。
目錄
幾種現有技術對比
軟體的獲得
MySQL資料庫伺服器的安裝及其設定
Apache和PHP的安裝與配置
搭建快速開發平台
幾種現有技術對比
目前,最為流行而且應用最為廣泛的動態Web網站技術主要有ASP、JSP和PHP三種。這三種技術都是在現有的Web伺服器中嵌入了一種程式設計語言來實現動態Web網站,它們都能和標準的HTML網頁很好地整合。下面就這三種技術分別加以介紹。
ASP:全名為Active Server Pages,是由微軟公司推出的一個Web伺服器端的開發環境,利用它可以產生和執行動態、互動的、高效能的Web服務應用程式。它和微軟的IIS伺服器緊密結合,可以利用Windows作業系統中的眾多特性。ASP採用VBScript或者JScript指令碼語言作為開發語言,開發人員比較容易上手。ASP.NET則是微軟最新推出的一種技術,是在原有ASP技術基礎上進行的重大革新,它正在逐步取代ASP。ASP僅能在微軟的作業系統下使用,使用時要支付軟體費用。
JSP:全名為Java Server Page,是Sun公司推出的新一代網站開發語言,它幾乎可以使用Java語言的所有特性。JSP可以在Servlet和JavaBean的支援下,開發功能強大的Web網站。JSP完全基於Java語言,能夠實現跨平台,可以在各種主流作業系統下使用。JSP比較適合開發大型網站,對開發人員要求比較高(一般要熟悉Java程式設計語言)。
PHP:是一種跨平台的伺服器端的嵌入式指令碼語言,它大量的借鑒C、Java和Perl語言的文法,並加入了PHP自己的特性,使Web開發人員能夠快速地寫出動態網頁面。PHP支援所有主流資料庫。它是完全免費的,使用時不需要支付任何費用。
本文將要討論的是基於Linux的完全免費的PHP技術的實現方法。我們將搭建一個支援資料庫的完全免費的動態網站開發平台。
軟體的獲得
在整個配置過程中,我們使用的軟體都是完全免費的開放原始碼軟體,可以從互連網上免費下載。我們將使用MySQL搭建免費的資料庫伺服器,使用Apache和PHP構建動態網站,使用Samba伺服器實現網站程式的快速開發。
從MySQL官方網站 http://www.mysql.com/ 下載MySQL的原始碼打包檔案(尾碼名為tar.gz),當前最新版本為4.0.14。
從Apache官方網站 http://www.apache.org下載Apache的原始碼打包檔案(尾碼名為tar.gz),當前最新版本為1.3.28和2.0.47,本文主要介紹1.3.28版本。
從PHP官方網站 http://www.php.net下載PHP的原始碼打包檔案(尾碼名為tar.gz),當前最新版本為4.3.2。
MySQL資料庫伺服器的安裝及其設定
在進行編譯和安裝之前,必須確認當前的Linux作業系統當中至少安裝了一種C語言編譯器,如cc或gcc。如果沒有安裝,請安裝後繼續下面的步驟。
我們假設所有軟體的下載目錄為root使用者的宿主目錄,即“/root”目錄。
1. 解壓縮包
用以下命令進行解壓縮包操作:
[root@localhost root]# tar zxvf mysql-4.0.14.tar.gz |
解壓縮完成後會產生一個“mysql-4.0.14”的原始碼目錄。
2. 軟體配置、編譯和安裝
切換到原始碼目錄,進行軟體安裝前的配置、編譯和安裝,命令為:
[root@localhost root]# cd mysql-4.0.14 [root@localhost mysql-4.0.14]# groupadd mysql [root@localhost mysql-4.0.14]# useradd -g mysql mysql [root@localhost mysql-4.0.14]# ./configure - -prefix=/usr/local/mysql [root@localhost mysql-4.0.14]# make [root@localhost mysql-4.0.14]# make install [root@localhost mysql-4.0.14]# scripts/mysql_install_db [root@localhost mysql-4.0.14]# chown -R root /usr/local/mysql [root@localhost mysql-4.0.14]# chown -R mysql /usr/local/mysql/var [root@localhost mysql-4.0.14]# chgrp -R mysql /usr/local/mysql [root@localhost mysql-4.0.14]# cp support-files/my-medium.cnf /etc/my.cnf |
用如下命令啟動MySQL資料庫(如果作業系統預設安裝的有MySQL資料庫,請確認其沒有啟動):
[root@localhost mysql-4.0.14]# /usr/local/mysql/bin/safe_mysqld --user=mysql & |
將上面的啟動命令追加到檔案“/etc/rc.d/rc.local”的尾部,使作業系統啟動時就自動啟動MySQL資料庫伺服器。
3. MySQL伺服器的初始設定
新安裝的MySQL伺服器沒有作相關的使用權限設定,必須手工設定。在命令列中使用如下命令:
[root@localhost root]# /usr/local/mysql/bin/mysql |
進入MySQL用戶端工具的操作介面,接著執行如下的操作:
mysql>drop database test; mysql>use mysql; mysql>delete from user where user=''; mysql>delete from user where host='%'; mysql>delete from db; |
現在MySQL資料庫將只允許原生MySQL管理員root使用者(和作業系統的root使用者不同)串連,用如下命令為root使用者指定密碼:
[root@localhost root]# cd / usr/local/mysql/bin/ [root@localhost bin]# ./mysqladmin -u root@localhost password '123456' |
上面命令中“123456”為root使用者密碼,請根據實際情況變動。
4. 建立資料庫及其使用權限設定
用如下命令建立資料庫“mydb”,並進行使用權限設定:
[root@localhost bin]# ./mysql -u root -p mysql>create database mydb; mysql>grant all privileges on mydb.* to mydb@localhost identified by 'mydb'; mysql>exit [root@localhost bin]# ./mysqladmin -u root@localhost -p flush-privileges; |
上述命令建立了“mydb”資料庫,並且把它的所有許可權賦予“mydb”使用者,密碼為“mydb”,只能從本機登入資料庫。
Apache和PHP的安裝與配置
Apache和PHP的繼承安裝時,有兩種模式:
1. 解壓縮包
用以下命令進行解壓縮包操作:
[root@localhost root]# tar zxvf apache_1.3.28.tar.gz [root@localhost root]# tar zxvf php-4.3.2.tar.gz |
解壓縮完成後會產生“apache_1.3.28”和“php-4.3.2”兩個原始碼目錄。
2. 軟體配置、編譯和安裝
切換到原始碼目錄,進行軟體的配置、編譯和安裝,命令為:
[root@localhost root]# cd apache_1.3.28 [root@localhost apache_1.3.28]#./configure - -prefix=/usr/local/apache \ --enable-module=so [root@localhost apache_1.3.28]# make [root@localhost apache_1.3.28]# make install [root@localhost apache_1.3.28]# cd ../ php-4.3.2 [root@localhost php-4.3.2]#./configure --enable-track-vars \ --with-mysql=/usr/local/mysql --with-apxs=/usr/local/apache/bin/apxs [root@localhost php-4.3.2]# make [root@localhost php-4.3.2]# make install [root@localhost php-4.3.2]# cp php.ini-dist /usr/local/lib/php.ini |
3. Apache和PHP的基本配置和測試
編輯Apache的設定檔“/usr/local/apache/conf/httpd.conf”,添加下面一行內容:
AddType application/x-httpd-php.php |
並且將“DirectoryIndex index.html”一行修改為:
DirectoryIndex index.html index.htm index.php |
編輯PHP設定檔“/usr/local/lib/php.ini”,將“register_globals = Off”一行內容改為:
用如下命令啟動Apache(並且加入到檔案“/etc/rc.d/rc.local”中):
[root@localhost root]# /usr/local/apache/bin/apachectl start |
在目錄“/usr/local/apache/htdocs/”下建立test.php檔案,內容如下:
在瀏覽器中輸入地址“http://your_ip/test.php”(your_ip為伺服器的IP地址),即可看到PHP的基本配置資訊,並且有MySQL資料庫的相關支援資訊。若未看到,則配置有問題,需要檢查以上步驟。
搭建快速開發平台
為了充分利用Windows平台下豐富的應用軟體,我們將在Linux中使用Samba伺服器和Windows主機通訊。網頁和相關的PHP程式檔案在Windows下開發後直接儲存在Linux伺服器上,無需使用FTP等其它工具上傳。
首先,確認當前的Linux作業系統安裝了Samba軟體包,若沒有安裝請安裝後繼續下面的步驟。
編輯Samba的設定檔“/etc/samba/smb.conf”,在尾部添加如下內容:
[homepage] path = /usr/local/apache/htdocs valid users = php public = no writable = yes printable = no create mask = 0765 |
使用如下命令添加系統使用者和Samba使用者:
[root@localhost root]#adduser php [root@localhost root]#smbadduser php:php (需要輸入Samba密碼,在Windows中登入Samba伺服器時使用) |
用如下命令啟動Samba伺服器:
[root@localhost root]# /etc/rc.d/init.d/smb start |
使用如下命令使Samba伺服器每次開機自動啟動:
[root@localhost root]# chkconfig --level 3 smb on |
在Windows用戶端(建議使用Windows NT/2000)使用伺服器的IP地址“搜尋電腦”。找到後,雙擊電腦表徵圖,在彈出對話方塊的使用者欄輸入“php”,密碼框中輸入使用“smbadduser”命令設定的Samba密碼。接著,會看到Samba伺服器共用出來的目錄“homepage”,在表徵圖上點滑鼠右鍵,選擇“映射網路磁碟機”,即可映射為本地的一個邏輯盤符。接下來的所有網頁和程式都可以通過磁碟符直接儲存在Linux伺服器上。