/ 中存储网

Apache 2.4.x服务器的安装和配置

2013-12-03 10:53:02 来源:kejihao

说明:本文为虚拟机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端口。