目前Web開發人員常使用的開發語言是PHP、ASP和jsp。這三種語言各有所長,也各自擁有一大批忠實的開發者和使用者。對於使用PHP做Web開發的人員來說,很多人選擇了在Windows下進行開發,而最終開發出的程序則運行在Unix類(如Linux/FreeBSD)的操作系統上。開發環境和實施環境的不同,使得許多開發人員的系統知識稍顯欠缺。作為一個使用PHP進行Web開發的人員而沒有用過Linux,這種現象並不少見。更不要說具備一些簡單的Linux系統知識,能夠自己安裝開發環境了。一個開發人員了解一些系統知識是很有必要的,對於開發也是很有幫助的。下面介紹一下如何構架Linux下的PHP+mysql開發環境。 在Linux下開發Web應用,一定要有一個HTTP Server,這就是著名的Apache。當然數據庫是一定少不了的,Linux支持多種數據庫,包括像Oracle、DB2等這樣大型的數據庫。不過與PHP最為相配、也是運用最多的數據庫當屬MySQL了。另外PHP語言本身也是必不可少的。下面是它們相應的網站: Apache http://www.apache.org MySQL http://www.mysql.com PHP http://www.php.net Linux上的軟件通常有著很快的升級速度,這可能是開放源碼軟件的優點之一吧。就Apache而言,有1.3.X版本與2.X版本兩個分支。由於2.X是在1.3.X上進行重寫,因此在結構和功能上都有很大的改進。關於Apache 1.3.X的安裝介紹比較多,故本文選用了Apache 2.X版本。同樣,也選用了支持Apache 2.X版本的PHP版本。大家可以從其各自的網站上去下載Apache、MySQL、PHP的最新版本。以下是2003年9月16日下載到的軟件包: mysql-4.0.15.tar.gz php-4.3.3.tar.gz httpd-2.0.47.tar.gz 有了這三個軟件包,就可以開始在Linux下構建一個支持PHP+MySQL的Web服務器了。這也正是目前常用的Web應用環境。 我們把下載的三個軟件包放到/var/local目錄下(這是筆者個人的習慣),它們都是tar.gz包,可以用命令tar -xzpvf 包名,把它們在當前目錄(/var/local/)中解開: cd /var/local tar -xzpvf mysql-4.0.15.tar.gz tar -xzpvf php-4.3.3.tar.gz tar -xzpvf httpd-2.0.47.tar.gz 解包後可以開始進入正式安裝。
安裝MySQL 1.編譯 cd mysql-4.0.15/ ../configure --prefix=/usr/local/mysql make make install cd ..
2.增加用戶 adduser -s /bin/false mysql
3.初始化並設置目錄權限 /usr/local/mysql/bin/mysql_install_db chown -R root /usr/local/mysql/ chown -R mysql /usr/local/mysql/var chgrp -R mysql /usr/local/mysql/
4.加入庫 echo /usr/local/mysql/lib/mysql/lib >>/etc/ld.so.conf ldconfig
5.使之啟動時自動運行 echo "/usr/local/mysql/bin/mysqld_safe &" >>/etc/rc.d/rc.local
6.啟動MySQL /usr/local//mysql/bin/mysqld_safe &
7.安全性設定 修改MySQL的root密碼: /usr/local/mysql/bin/mysqladmin -uroot passWord abcdefg
8.測試 [root@terry bin]# /usr/local/mysql/bin/mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 to server version: 4.0.15 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> use mysql; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> delete from user where user=''; (刪除所有用戶名為空的用戶,可以提高安全性) Query OK, 2 rows affected (0.00 sec) mysql> quit Bye
安裝Apache cd httpd-2.0.47/ ../configure --prefix=/usr/local/httpd --enable-so make make install cd .. 現在已經將Apache 2.0.47安裝到 /usr/local/httpd目錄中,安裝好的Apache支持可裝載模塊和標准的MPM prefork。如果安裝過程中沒有出現錯誤,便可以使用如下命令啟動Apache服務: /usr/local/httpd/bin/apachectl start 如果啟動成功,將啟動命令加入rc.local,使之在系統啟動時自動運行: echo "/usr/local/httpd/bin/apachectl start &" >>/etc/rc.d/rc.local 停止Apache服務,並繼續安裝PHP: /usr/local/httpd/bin/apachectl stop
安裝PHP cd php-4.3.3 ../configure --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql make make install cp php.ini-dist /usr/local/lib/php.ini 這種安裝方式是將PHP作為Apache的SAPI模塊來進行安裝,它僅是其中的一種安裝方式,更多的方法請參閱相關文檔。
PHP和Apache安裝後的基本配置 1.Apache的配置 Apache的配置文件是/usr/local/httpd/conf/httpd.conf,編輯httpd.conf 文件,在文件結尾加上以下兩行: LoadModule php4_module modules/libphp4.so AddType application/x-httpd-php .php .php3 同時修改DirectoryIndex為: DirectoryIndex index.Html index.php index.php3 Apache的配置內容比較豐富,其它Apache相關配置請參考Apache的相關文檔。
2.PHP的配置 Apache的配置文件是/usr/local/lib/php.ini,編輯php.ini文件來配置PHP的選項。特別注意的是,安裝完成後register_globals變量默認設置為Off,需要將它改成On。否則會出現PHP讀不到post的數據的現象。 register_globals=On 其它PHP的選項請參考相關文檔。
3.測試 可以寫一個簡單的PHP文件來測試安裝,文件包含下列一行: 將其保存為/usr/local/httpd/htdocs/info.php,啟動Apache,然後在浏覽器中浏覽。 圖1 PHP信息 如果看到如圖1的信息即表示成功了。以上安裝都是在Red Hat 9.0上進行的。到此為止,已經安裝好一個支持PHP+MySQL的Web環境。另外Linux下有許多強大的編輯器可以用來寫PHP程序,比如vi、emacs等;此外還有一些圖形化的編輯器或是Web開發專用的編輯器,這就有待個人發掘了。當真正轉到Linux下進行開發的時候,就會慢慢體會到它的強大和得心應手。 本文與其它介紹Apache安裝的文章不同,不是介紹Apache 1.3.x,而是介紹了如何用Red Hat 9.0+Apache 2.0+PHP 4.3+MySQL 4.0來架構Web開發環境,所選取的是目前最新版本的軟件,均從源代碼開始編譯,而不是下載二進制文件來進行安裝。