一.关于apche和php的介绍:
Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。
PHP,是英文超级文本预处理语言Hypertext Preprocessor的缩写。PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛的运用。
此外,在wdOS系统下的安装和在centOS系统下的安装过程大致相同,其实wdOS就是一个基于CentOS版本精简优化的Linux服务器系统 ,可选安装带web环境及wdcp管理系统或是纯系统。我这里源码安装所使用的就是wdOS的纯系统,不带web环境以及wdcp管理后台。
最后说说编译安装顺序的问题:应该要先安装apache,然后再安装php,因为php的编译会用到apache的apxs模块,如果先安装php,再安装apache,则需要重新编译php。
二.安装过程:
第一步:安装前准备工作
首次安装需要安装apache以及php源码编译所需要的库文件:
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的测试页面