一.關於apche和php的介紹:php
Apache是世界使用排名第一的Web服務器軟件。它能夠運行在幾乎全部普遍使用的計算機平臺上,因爲其跨平臺和安全性被普遍使用,是最流行的Web服務器端軟件之一。web
PHP,是英文超級文本預處理語言Hypertext Preprocessor的縮寫。PHP 是一種 HTML 內嵌式的語言,是一種在服務器端執行的嵌入HTML文檔的腳本語言,語言的風格有相似於C語言,被普遍的運用。apache
此外,在wdOS系統下的安裝和在centOS系統下的安裝過程大體相同,其實wdOS就是一個基於CentOS版本精簡優化的Linux服務器系統 ,可選安裝帶web環境及wdcp管理系統或是純系統。我這裏源碼安裝所使用的就是wdOS的純系統,不帶web環境以及wdcp管理後臺。瀏覽器
最後說說編譯安裝順序的問題:應該要先安裝apache,而後再安裝php,由於php的編譯會用到apache的apxs模塊,若是先安裝php,再安裝apache,則須要從新編譯php。安全
二.安裝過程:服務器
第一步:安裝前準備工做app
首次安裝須要安裝apache以及php源碼編譯所須要的庫文件:curl
yum -y install libevent libevent-devel libxml2 libxml2-devel libmcrypt libmcrypt-devel libmcrypt libmcrypt-devel curl-devel libpng-devel libtool-ltdl-devel (這是php編譯所需的包)測試
建立存放源代碼的目錄: mkdir /usr/local/src優化
建立apache的安裝目錄: mkdir /usr/local/apache
建立php的安裝目錄: mkdir /usr/local/php
第二步:準備安裝
1.先下載apache源代碼到目錄/usr/local/src下:(我這裏下載的apache版本爲2.2.22)
wget -c http://apache.etoak.com/httpd/httpd-2.2.22.tar.gz
(網速不穩定的狀況下建議你在wget後面加個參數c)
下載完成以後開始解壓縮:(這裏給出部分截圖)
tar -zxvf httpd-2.2.22.tar.gz
進入解壓縮後的httpd-2.2.22這個目錄下,設定編譯時的參數:
./configure --prefix=/usr/local/apache ----將apache安裝在這個目錄下
--enable-vhost-alias ----支持虛擬主機的功能
--enable-rewrite -----容許重寫
--enable-info
開始進行編譯:make
編譯完進行安裝 :make install
在當前目錄下,複製apache的初始化文件到/etc/init.d目錄下,並命名爲httpd,修改其權限:
cp build/rpm/httpd.init /etc/init.d/httpd
設置Apache開機自啓動:(我這裏使用的是方法一)
方法一:輸入下列命令:
chconfig --add httpd
chkconfig -- level 345 httpd on
方法二:
編輯 vi /etc/init.d/httpd
找到 chkconfig:這句,添加3 4 5
找到description: 這句,添加Apache httpd
設置完以後你能夠輸入 chkconfig --list |grep httpd
檢查一下3,4,5是否爲on:
修改apache服務器的配置文件:
vi /usr/local/apache/conf/httpd.conf,找到ServerName那一行,去掉前面的註釋
爲了適應啓動腳本,咱們建立一些符號連接:
重啓一下apache服務器:
/etc/init.d/httpd start
第三步: 源碼安裝php5.3.10
一樣的,先把源代碼下載到/usr/local/src這個目錄下:(我這裏下載的是php版本爲5.3.10)
wget http://cn.php.net/get/php-5.3.10.tar.gz/from/this/mirror
下載完成進行解壓縮:tar zxvf php-5.3.10.tar.gz
壓縮完成後,進入到php-5.3.10 這個目錄下配置編譯時的參數:(注意:with 和enable前面是兩個- ,另外你能夠根據須要來添加所需的編譯參數)
./configure --prefix=/usr/local/php ----指定php的安裝目錄
--with-config-file-path=/usr/local/php/etc ----指定配置文件的路徑
--with-iconv-dir=/usr/local/libiconv
--with-libxml-dir=/usr
--enable-xml
--with-curl
--with-curlwrappers
--with-mhash
--with-mcrypt
--with-gd
--enable-gd-native-ttf
--with-xsl
--with-openssl
--with-ldap
--with-ldap-sasl
--with-xmlrpc
--without-pear
--with-apxs2=/usr/local/apache/bin/apxs --指定Apache服務器提供的apxs模塊支持程序的文件位置
若是沒有意外,你會看到 Thank you for using php 這樣的字樣
下面就能夠進行編譯了:make 成功的話你會看到build complete這樣的字樣
編譯完成後就能夠進行安裝了:make install
安裝完成後把/usr/local/src/php-5.3.10這個目錄下的php.ini-development複製到/usr/local/lib/這個目錄下,並重命名爲php.ini(php.ini文件爲php的初始化文件,我這裏不做設置)
(備註:php5.0版本以後文件的名字發生了改變,其中php.ini-production對應於php.ini-recommended;而php.ini-development對應於php.ini-dist 。php.ini-dist 適合開發程式使用(也就是測試使用), php.ini-recommended 擁有較高的安全性設定,適合上線當產品使用)
第四步: 整合apache和php
爲了讓Apache可以直接解析php,咱們還要進行一些配置 :
首先,進入apache的配置文件目錄vi /usr/local/apache/conf/httpd.conf 在以後添加:AddType application/x-httpd-php .php (在apache服務器中添加對php類型的網頁文件的識別 )
而後,在LoadMoudule下面手動添加這句:
LoadModule php5_module modules/libphp5.so
(LoadModule配置項能夠加載PHP程序對應的模塊,讓apache服務器支持PHP頁面解析功能。少了這句在測試的時候可能會提示下載這個php頁面)
最後就是在/usr/local/apache/htdocs這個目錄下,新建一個文件(我這裏命令爲test.php),在這個文件內寫入測試php的代碼
<?php phpinfo(); ?>
完成後,重啓apache服務器: service httpd restart
三.測試結果:
1.還沒安裝php5.3.10以前,針對apache服務器的測試:
在本地瀏覽器輸入http://(虛擬機的ip地址),我這裏就輸入http:// 192.168.1.102,回車就會看到這個測試頁面:
2.在apache整合php以後,從新在瀏覽器輸入http://192.168.1.102/test.php 你就能夠看到php的測試頁面