作者:余海發(fā)
目前人員常使用的開發(fā)語言是php、asp和jsp。這三種語言各有所長,也各自擁有一大批忠實的開發(fā)者和使用者。對于使用php做的人員來說,很多人選擇了在windows下進(jìn)行開發(fā),而最終開發(fā)出的程序則運(yùn)行在unix類(如linux/freebsd)的操作系統(tǒng)上。開發(fā)環(huán)境和實施環(huán)境的不同,使得許多開發(fā)人員的系統(tǒng)知識稍顯欠缺。作為一個使用php進(jìn)行的人員而沒有用過linux,這種現(xiàn)象并不少見。更不要說具備一些簡單的linux系統(tǒng)知識,能夠自己安裝開發(fā)環(huán)境了。一個開發(fā)人員了解一些系統(tǒng)知識是很有必要的,對于開發(fā)也是很有幫助的。下面介紹一下如何構(gòu)架linux下的php+mysql開發(fā)環(huán)境。
在linux下開發(fā)web應(yīng)用,一定要有一個http server,這就是著名的apache。當(dāng)然數(shù)據(jù)庫是一定少不了的,linux支持多種數(shù)據(jù)庫,包括像oracle、db2等這樣大型的數(shù)據(jù)庫。不過與php最為相配、也是運(yùn)用最多的數(shù)據(jù)庫當(dāng)屬mysql了。另外php語言本身也是必不可少的。下面是它們相應(yīng)的網(wǎng)站:
apache http://www.apache.org
mysql http://www.mysql.com
php http://www.php.net
linux上的軟件通常有著很快的升級速度,這可能是開放源碼軟件的優(yōu)點之一吧。就apache而言,有1.3.x版本與2.x版本兩個分支。由于2.x是在1.3.x上進(jìn)行重寫,因此在結(jié)構(gòu)和功能上都有很大的改進(jìn)。關(guān)于apache 1.3.x的安裝介紹比較多,故本文選用了apache 2.x版本。同樣,也選用了支持apache 2.x版本的php版本。大家可以從其各自的網(wǎng)站上去下載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下構(gòu)建一個支持php+mysql的web服務(wù)器了。這也正是目前常用的web應(yīng)用環(huán)境。
我們把下載的三個軟件包放到/var/local目錄下(這是筆者個人的習(xí)慣),它們都是tar.gz包,可以用命令tar -xzpvf 包名,把它們在當(dāng)前目錄(/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
解包后可以開始進(jìn)入正式安裝。
安裝mysql
1.編譯
cd mysql-4.0.15/
../configure --prefix=/usr/local/mysql
make
make install
cd ..
2.增加用戶
adduser -s /bin/false mysql
3.初始化并設(shè)置目錄權(quán)限
/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.使之啟動時自動運(yùn)行
echo "/usr/local/mysql/bin/mysqld_safe &" >>/etc/rc.d/rc.local
6.啟動mysql
/usr/local//mysql/bin/mysqld_safe &
7.安全性設(shè)定
修改mysql的root密碼:
/usr/local/mysql/bin/mysqladmin -uroot password abcdefg
8.測試
[[email protected] 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 ..
現(xiàn)在已經(jīng)將apache 2.0.47安裝到 /usr/local/httpd目錄中,安裝好的apache支持可裝載模塊和標(biāo)準(zhǔn)的mpm prefork。如果安裝過程中沒有出現(xiàn)錯誤,便可以使用如下命令啟動apache服務(wù):
/usr/local/httpd/bin/apachectl start
如果啟動成功,將啟動命令加入rc.local,使之在系統(tǒng)啟動時自動運(yùn)行:
echo "/usr/local/httpd/bin/apachectl start &" >>/etc/rc.d/rc.local
停止apache服務(wù),并繼續(xù)安裝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模塊來進(jìn)行安裝,它僅是其中的一種安裝方式,更多的方法請參閱相關(guān)文檔。
php和apache安裝后的基本配置
1.apache的配置
apache的配置文件是/usr/local/httpd/conf/httpd.conf,編輯httpd.conf 文件,在文件結(jié)尾加上以下兩行:
loadmodule php4_module modules/libphp4.so
addtype application/x-httpd-php .php .php3
同時修改directoryindex為:
directoryindex index.html index.php index.php3
apache的配置內(nèi)容比較豐富,其它apache相關(guān)配置請參考apache的相關(guān)文檔。
2.php的配置
apache的配置文件是/usr/local/lib/php.ini,編輯php.ini文件來配置php的選項。特別注意的是,安裝完成后register_globals變量默認(rèn)設(shè)置為off,需要將它改成on。否則會出現(xiàn)php讀不到post的數(shù)據(jù)的現(xiàn)象。
register_globals=on
其它php的選項請參考相關(guān)文檔。
3.測試
可以寫一個簡單的php文件來測試安裝,文件包含下列一行:
<? phpinfo();?>
將其保存為/usr/local/httpd/htdocs/info.php,啟動apache,然后在瀏覽器中瀏覽。

圖1 php信息
如果看到如圖1的信息即表示成功了。以上安裝都是在red hat 9.0上進(jìn)行的。到此為止,已經(jīng)安裝好一個支持php+mysql的web環(huán)境。另外linux下有許多強(qiáng)大的編輯器可以用來寫php程序,比如vi、emacs等;此外還有一些圖形化的編輯器或是專用的編輯器,這就有待個人發(fā)掘了。當(dāng)真正轉(zhuǎn)到linux下進(jìn)行開發(fā)的時候,就會慢慢體會到它的強(qiáng)大和得心應(yīng)手。
本文與其它介紹apache安裝的文章不同,不是介紹apache 1.3.x,而是介紹了如何用red hat 9.0+apache 2.0+php 4.3+mysql 4.0來架構(gòu)環(huán)境,所選取的是目前最新版本的軟件,均從源代碼開始編譯,而不是下載二進(jìn)制文件來進(jìn)行安裝。
新聞熱點
疑難解答
圖片精選