LAMP攻略: LAMP环境搭建,Linux下Apache,MySQL,PHP安装与配置
之前寫過一個red hat 9下的LAMP環(huán)境的配置,不過由于版本比較舊,很多不適用了。
所以決定寫一個新的LAMP環(huán)境搭建與配置教程。本配置是在
CentOS-5.3 下
httpd-2.2.11.tar.gz
MySQL-client-community-5.1.33-0.rhel5.i386.rpm
MySQL-devel-community-5.1.33-0.rhel5.i386.rpm
MySQL-server-community-5.1.33-0.rhel5.i386.rpm
php-5.2.9.tar.gz
以上軟件可以直接點擊到下載頁面下載。
這個配置也基本適用于相應的red hat as 5或fedora版本中的配置
/*********************************************
*
* 作 者: 我不是魚
* LAMP中文網(wǎng): http://www.lampchina.net
* PHP愛好者站: http://www.phpfans.net
* Email: deng5765@163.com
* 博 客:? http://www.lampchina.net/blog
*
*********************************************/
之前的一些配置教程中很多人都沒有成功,發(fā)現(xiàn)大多問題都是出在本身,雖然對著教程做,但也粗心大意。這個配置教程時我實踐可行的,如果不成功請重新認真檢查自己的步驟。
一般情況下,Linux默認安裝了Apache。如果已經(jīng)安裝Apache,那我們就先把它協(xié)卸載掉。
怎么知道是否已經(jīng)安裝呢?安裝系統(tǒng)是軟件都是通過rpm包安裝的,所以可以通過命令
rpm -qa | grep httpd
-qa是指列出所以安裝的軟件,加上grep httpd,是只列出包含httpd的所有軟件。
如果大家還不熟悉這個命令的話可以記記,下面以及以后的配置都會用到。
可以看到是已經(jīng)安裝了httpd-2.2.3-11.el5_1.centos.3 那我們就把它卸載掉
rpm -e httpd-2.2.3-11.el5_1.centos.3
如果出現(xiàn)這樣的錯誤
error: Failed dependencies: httpd >= 2.2.0 is needed by (installed) gnome-user-share-0.10-6.el5.i386
是有一定的依賴性。這里要先把gnome-user-share-0.10-6.el5.i386卸載掉,再卸載apache
rpm -e gnome-user-share-0.10-6.el5.i386
rpm -e httpd-2.2.3-11.el5_1.centos.3
好了,已經(jīng)把Apache卸載掉了。MySQL和PHP也可以用這個方法檢查和卸載。這里就不再作說明
安裝前提
GCC:我們編譯源碼時需要GCC編譯器,所以安裝前也先確認已經(jīng)安裝上了。怎么確認呢?和剛才方法一樣。
rpm -qa | grep ^gcc
可以看到我的機子已經(jīng)安裝上了。
libxml2:安裝php5需要libxml2。沒有裝libxml2可能會出現(xiàn)這樣的錯誤:
configure: error: xml2-config not found. Please check your libxml2 installation.
所以也要確認是否安裝上了。
rpm -qa | grep libxml
可以看到我這臺機已經(jīng)都裝上了。如果沒有安裝上的話,先安裝了再進行下面的操作。
安裝Apache
安裝所需要的軟件包我已經(jīng)下載到 /usr/local/src,查看里邊的文件有
ls /usr/local/src
好,我們先安裝apache。進入軟件包目錄
cd /usr/local/src
解壓apache
tar -zxvf httpd-2.2.11.tar.gz
進入解壓的目錄
cd httpd-2.2.11
并配置安裝
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-expires --enable-cache --enable-mem-cache
這里大略地說一下configure指令。--prefix是按照目錄。enable后面模塊選項。這里選擇一些常用的模塊,so是支持動態(tài)鏈接機制上加載DSO模塊。后面裝PHP時就會創(chuàng)建一個so的php模塊。rewrite就是常用到的重寫。expires是控制HTTP的"Expires:"和"Cache-Control:"頭內(nèi)容,PHP用header控制緩存時要用到。其他的就不都說了,具有可以參考Apache
http://www.lampchina.net/manu/ap ... nfigure.html#module
然后執(zhí)行
make
如果編譯出錯,可參考這篇文章 http://shenlan.blog.51cto.com/55742/458852
編譯源碼需要花一定時間,這個和機子的配置有很大關(guān)系,我新配還好,幾分鐘搞掂。如果配置低的話可能要相當相當?shù)臅r間,大家要夠耐心。
執(zhí)行
make install
安裝完成后我們啟動apache
/usr/local/httpd/bin/apachectl -k start
另外說一下,也可以通過 stop 或者 restart 停止或重啟apache
然后在瀏覽器打開 http://localhost
不出意外我們可以看到這個頁面,表示安裝成功了。
安裝MySQL
接下來我們安裝mysql
回到軟件包目錄
cd ../
MySQL都是rpm軟件包。rpm安裝要比源碼快很得多。
首先安裝mysql server。
rpm -ivh MySQL-server-community-5.1.32-0.rhel5.i386.rpm
再安裝mysql 客戶端
rpm -ivh MySQL-client-community-5.1.32-0.rhel5.i386.rpm
再安裝mysql的一些庫和頭文件,這些頭文件在安裝php并關(guān)聯(lián)mysql中是需要的。
否則會出現(xiàn)這樣的錯誤:
configure: error: Cannot find MySQL header files under ...
執(zhí)行
rpm -ivh MySQL-devel-community-5.1.32-0.rhel5.i386.rpm
安裝客戶端后我們就可以在命令行。這時的mysql密碼是空
mysql -v
查看版本。可以看到的確是我們安裝的5.1.32。
先退出mysql命令行,去安裝php。
quit
安裝PHP
接下來安裝php
解壓php
tar -zxvf php-5.2.9.tar.gz
進入php解壓目錄
cd php-5.2.9
配置
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/lib --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql --with-zlib --enable-mbstring --enable-xml
這里也大略說一下configure。--prefix是安裝目錄。--with-config-file-path是指定php配置文檔php.ini所在的目錄。--with-mysql,安裝mysql擴展。--with-zlib安裝zlib擴展,前提是linux已經(jīng)安裝了zlib,未安裝可以去掉這個選項。 安裝mbstring和xml擴展。這些都是常用的模塊。
執(zhí)行
make
執(zhí)行
make install
將php配置文檔復制到/usr/local/lib
cp php.ini-dist /usr/local/lib/php.ini
至此,PHP安裝完成。
配置Apache
現(xiàn)在配置apache關(guān)聯(lián)php,打開apache配置文檔
vi /usr/local/httpd/conf/httpd.conf
這里是用vi編輯器打開httpd.conf。vi不熟練的話,也可以打開文件夾中找到該文件,打開直接修改。
輸入
/LoadModule
回車,/LoadModule是向下查找 LoadModule。而 ?LoadModule 則是向上查找。
注意:查找下一個則是按 n 下面的一些查找會用到查找下一個的。
?
可以看到 LoadModule php5_module modules/libphp5.so。
這是我們安裝時設(shè)置好的,但也務必檢查一下。如圖
輸入
/DocumentRoot
回車,查找網(wǎng)站根目錄
可以看到我們的根目錄是
DocumentRoot "/usr/local/httpd/htdocs"
大家要知道這個根目錄,之后說的的根目錄就是指這個目錄。以后就可以在這里創(chuàng)建php文件。然后瀏覽
當然也可以修改根目錄的位置,這里我就修改。如果改也要把下面的這里也改成相應的。
<Directory "/usr/local/httpd/htdocs">
輸入
/AddType
回車查找
點擊 i 進入插入編輯模式,移動光標
在下面新增
AddType application/x-httpd-php .php
?
點擊 Esc 退出插入編輯模式
輸入 /DirectoryIndex
回車查找
在前面新增index.php,如圖
這樣打開一個目錄沒有指明那個文件是就默認打開index.php。更具體可以參考這里
http://www.lampchina.net/blog/2/article/16.html
點擊 Esc 退出插入編輯模式
輸入
:wq
回車。wq是保存退出的意思。
配置PHP
打開php配置文檔
vi /usr/local/lib/php.ini
修改php時區(qū)。php5默認是格林威治時間,不修改的話與中國時間相差8小時。
輸入
/timezone
回車查找
改成 date.timezone = PRC
其中PRC:People's Republic of China ×××,
更詳細解決方法請參考本論壇的
http://www.phpfans.net/bbs/viewthread.php?tid=60
顯示notice敬告提示
php5默認關(guān)閉notice敬告提示,如果不是做服務器,是在本地調(diào)試,建議打開notice敬告提示.
輸入
/error_reporting
回車查找
改成
error_reporting = E_ALL
輸入
:wq
回車,保存退出。
配置完成后我們重啟apache
/usr/local/httpd/bin/apachectl -k restart
如果出現(xiàn)類似的這樣的錯誤
httpd: Syntax error on line 53 of /usr/local/httpd/conf/httpd.conf: Cannot load /usr/local/httpd/modules/libphp5.so into server: /usr/local/httpd/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied
這個應該是selinux限制的
可以關(guān)閉selinux或者執(zhí)行
chcon–t texrel_shlib_t /usr/local/httpd/modules/libphp5.so
然后再重啟apache
配置完成后,我們測試一下
在網(wǎng)站根目錄創(chuàng)建一個phpinfo.php
vi /usr/local/httpd/htdocs/phpinfo.php
輸入
<?php
phpinfo();
?>
保存退出
:wq
然后在瀏覽器打開 http://localhost/phpinfo.php
不出意外可以看到以下頁面。如果提示不能打開或下載框,并且之前的配置上沒有錯誤。再重啟一次apache應該就能解決。
可以看到我們要安裝的模塊也已經(jīng)安裝上了。
另外,安裝的Apache并不是隨機器啟動而啟動的。我們可以將apache的啟動命令加到 /etc/rc.d/rc.local 中,就可以隨機啟動了
vi /etc/rc.d/rc.local
點擊 i 進入插入編輯模式。
在最后輸入
/usr/local/httpd/bin/apachectl -k start
點擊 Esc 退出插入編輯模式
輸入
:wq
回車,就可以保存了,這樣apache就可以隨機啟動了。如圖
至此,LAMP基本配置已經(jīng)完成。下一篇我們談談如果安裝gd庫:
轉(zhuǎn)載于:https://blog.51cto.com/shenlan/319282
總結(jié)
以上是生活随笔為你收集整理的LAMP攻略: LAMP环境搭建,Linux下Apache,MySQL,PHP安装与配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java ClassLoader
- 下一篇: Linux 远程开机(walk on l