说明:本文为虚拟机CentOS-6.2-i386-minimal上编译安装Apache 2.4.1+PHP 5.3.10实验后整理而写,不出意外,你可以直接copy命令到putty上执行就能安装好。
本文不再赘述MySQL的安装,以及PHP GD的安装。一、准备工作:
1、安装基础包:yum -y install gcc gcc-c++ make ncurses-devel autoconf cmake crontabs
2、安装libiconv、zlib、libxml2、pcre、libmcrypt、mhash等库文件,及GD库,请参考参考http://www.flashgou.com/show/25 (建FTP或者wget下载编译安装,或者yum安装都可以)
3、安装perl:yum install perl,当然你也可以自己编译,不过编译后路径不同。yum的方式,将会安装到/usr/bin/perl (请记下此路径,稍后用到)
4、规划文件目录:
1)、web目录:/var/www/webroot
2)、日志目录:/var/www/logs
3)、缓存及临时文件(相当于tmp目录):/var/www/logs/cache
4)、服务目录:/usr/local/webroot (包含Apache、PHP、MySQL)
5)、FTP目录:/var/www
6)、库目录:/usr/local/webroot/lib
这是本文约定的目录,每个人的喜好都不同,所以你也应该有自己的目录规划及服务器分区,比如web目录应该在/home下,软件应该都安装在/usr/local下。
二、安装Apache
1、下载相关文件
两个网站:http://apr.apache.org/download.cgi及http://httpd.apache.org/
如果找不到下载地址,就(注意wget是否安装):
wget http://labs.renren.com/apache-mirror//apr/apr-1.4.6.tar.gz
wget http://labs.renren.com/apache-mirror//apr/apr-util-1.4.1.tar.gz
wget http://mirror.bjtu.edu.cn/apache//httpd/httpd-2.4.1.tar.gz
我是将文件全部下载完后用ftp传到/var/www下的。所以你得看懂为什么会出现mv /var/www/x.tar.gz /root/这样的操作,或许你自各下到了/usr/src下,那很显然比我要高明。
2、安装apr-1.4.6.tar.gz
mv /var/www/apr-1.4.6.tar.gz /root/
tar zxvf apr-1.4.6.tar.gz
cd apr-1.4.6
./configure --prefix=/usr/local/webroot/lib/apr-httpd/
make && make install
3、安装apr-util-1.4.1.tar.gz
mv /var/www/apr-util-1.4.1.tar.gz /root/tar zxvf apr-util-1.4.1.tar.gz
cd apr-util-1.4.1
./configure --prefix=/usr/local/webroot/lib/apr-util-httpd/
--with-apr=/usr/local/webroot/lib/apr-httpd
make && make install
4、安装Apache
mv /var/www/httpd-2.4.1.tar.gz /root/tar zxvf httpd-2.4.1.tar.gz
cd httpd-2.4.1
./configure
--prefix=/usr/local/webroot/apache2
--enable-rewrite
--enable-so
--with-mpm=prefork
--enable-mods-shared=all
--with-pcre=/usr/local/webroot/lib/pcre
--with-apr=/usr/local/webroot/lib/apr-httpd
--with-apr-util=/usr/local/webroot/lib/apr-util-httpd
关于编译参数,你还可以添加更多,诸如“--enable-cache --enable-file-cache --enable-disk-cache --enable-mem-cache”等。对于我不懂的知识,我不会教也不敢教。不过上面的参数,将支持伪静态、gzip压缩了。
三、安装PHP
还是请参考http://www.flashgou.com/show/25
本文并不包含MySQL及GD库,因此将会少很多参数,仅包含Apache部分。
先vi /usr/local/webroot/apache2/bin/apxs第一行,使得:
#!/usr/bin/perl -w
如果是编译安装perl,则自己指定路径位置。然后:
mv /var/www/php-5.3.10.tar.gz /root/
tar xzvf php-5.3.10.tar.gz
cd php-5.3.10
./configure
--prefix=/usr/local/webroot/php
--with-config-file-path=/usr/local/webroot/
--with-apxs2=/usr/local/webroot/apache2/bin/apxs
--enable-mbstring
--with-libxml-dir=/usr/local/webroot/lib/libxml2
--with-iconv-dir=/usr/local/webroot/lib/libiconv
--with-zlib-dir=/usr/local/webroot/lib/zlib
--with-mcrypt
cp php.ini-production /usr/local/webroot/php.ini
与Nginx不同之处只有两处:需要安装perl及php编译参数加 --with-apxs2=/usr/local/webroot/apache2/bin/apxs如果出现以下错误,说明没有安装perl:
以下为引用内容: 1. Perl is not installed
2. apxs was not found. Try to pass the path using --with-apxs2=/path/to/apxs
3. Apache was not built using --enable-so (the apxs usage page is displayed)
四、配置PHP并启动
vi /usr/local/webroot/apache2/conf/httpd.conf,输入/index.html,在其后添加index.php及mime类型:
<IfModule dir_module>
DirectoryIndex index.html index.php
AddType application/x-httpd-php .php
</IfModule>
再搜索DocumentRoot,修改为:DocumentRoot "/var/www/webroot"
<Directory "/var/www/webroot">
保存后启动Apache:/usr/local/webroot/apache2/bin/apachectl start
/usr/local/webroot/apache2/bin/apachectl stop
/usr/local/webroot/apache2/bin/apachectl restart
这样就安装成功了,你可以上传phpinfo()到/var/www/webroot下访问查看各种php环境信息。
注:编译安装的Apache不需要关闭SELinux,iptables记得开放80端口。