实验环境

使用Linux的系统为CentOS6.5 x64

安装Apache所需要的源码包有

httpd-2.4.16.tar.gz

apr-1.5.2.tar.gz

apr-util-1.5.4.tar.gz

下载地址:http://pan.baidu.com/s/1skcEHFB


实验配置

首先安装如下编译工具以及软件包


[root@CentOS-3 ~]# yum -y install gcc gcc-c++ make pcre-devel


编译安装apr和apr-util这两个包

[root@CentOS-3 ~]# mkdir /usr/local/apr    

[root@CentOS-3 ~]# mkdir /usr/local/apr-util

将这个两个包解压到对应的目录

[root@CentOS-3 ~]# tar xf /mnt/apr-1.5.2.tar.gz -C /usr/local/apr

[root@CentOS-3 ~]# tar xf /mnt/apr-util-1.5.4.tar.gz -C /usr/local/apr-util

[root@CentOS-3 ~]# cd /usr/local/apr/apr-1.5.2/    //切换至源码目录下


执行./configure 对软件定义模块

[root@CentOS-3 apr-1.5.2]# ./configure  --prefix=/usr/local/apr  //指定安装路径

[root@CentOS-3 apr-1.5.2]# make && make install  //编译并且安装


切换至apr-util源码目录

[root@CentOS-3 apr-1.5.2]# cd /usr/local/apr-util/apr-util-1.5.4/

[root@CentOS-3 apr-util-1.5.4]# ./configure \

> --prefix=/usr/local/apr-util \      //指定安装路径

> --with-apr=/usr/local/apr/bin/apr-1-config   //指定apr包所在路径

[root@CentOS-3 apr-util-1.5.4]# make && make install


创建Apahce目录

[root@CentOS-3 ~]# mkdir /usr/local/apache

[root@CentOS-3 ~]# tar xf /mnt/httpd-2.4.16.tar.gz -C /usr/local/apache/

//将源码包解压到对应目录下


[root@CentOS-3 ~]# cd /usr/local/apache/httpd-2.4.16/   //切换至对应目录


订制模块

[root@CentOS-3 httpd-2.4.16]# ./configure \

> --prefix=/usr/local/apache \         //指定安装目录

> --enable-so \                        //启用动态加载模块支持

> --enable-rewrite \                 //启用网页地址重写功能,用于网站优化目录迁移

> --enable-mods-shared=most \    //告诉编译器将所有标准模块都动态编译为DSO模块。

> --with-mpm=worker \            //让apache以worker方式运行

> --disable-cgid \            //禁止用一个外部 CGI 守护进程执行CGI脚本

> --disable-cgi \                //禁止编译 CGI 版本的 PHP

> --with-apr=/usr/local/apr \             //指定apr目录

> --with-apr-util=/usr/local/apr-util        //指定apr-util目录


[root@CentOS-3 httpd-2.4.16]# make && make install


创建一个软链接将apache加入$PATH路径中去

[root@CentOS-3 httpd-2.4.16]# ln -s /usr/local/apache/bin/* /usr/local/bin/


执行如下操作让apache支持service启动

[root@CentOS-3 ~]# cp /usr/local/apache/bin/apachectl /etc/init.d/httpd

编辑/etc/init.d/httpd,加入如下内容

# chkconfig: 2345 85 15 

# description: Apache is a World Wide Web server.

【Linux】编译安装Apache服务_httpd


[root@CentOS-3 ~]# chkconfig --add httpd


编辑Apache的配置文件:

[root@CentOS-3 ~]# vim /usr/local/apache/conf/httpd.conf


搜索Listen可以修改监听端口,默认监听TCP 80 端口

【Linux】编译安装Apache服务_apache_02


搜索DocumentRoot可以修改网页文件默认存放路径,默认存放在apahce安装目录下的htdocs目录中

【Linux】编译安装Apache服务_linux_03


搜索ServerName在如下位置添加一行,由于没有配置DNS无法解析域名写入主机名即可(不写也没关系,启动时候会报个错不影响正常运行):

【Linux】编译安装Apache服务_httpd_04


保存退出启动服务

[root@CentOS-3 ~]# service httpd start

使用netstat可以过滤80端口有没有正常监听

[root@CentOS-3 ~]# netstat -anpt | grep 80

tcp        0      0 :::80                       :::*                  LISTEN 31176/httpd



用真机去访问服务器测试Apache是否工作正常

[root@CentOS-3 ~]# service iptables stop  //关闭防火墙

[root@CentOS-3 ~]# setenforce 0          //关闭selinux


由于没配置DNS服务器直接输入IP地址即可访问

【Linux】编译安装Apache服务_httpd_05


【Linux】编译安装Apache服务_linux_06



Apache虚拟目录以及虚拟主机设置:http://sunjie123.blog.51cto.com/1263687/1735865