CentOS6--Http2.4安装
1 Http2.4新特性
1.1 MPM支持运行DSO机制:以模块形式按需加载;
1.2 支持event MPM;
1.3 支持异步读写;
1.4 支持每模块及每个目录分别使用各自的日志级别;
1.5 每请求配置:
1.6 增强版的表达式分析器;
1.7 支持毫秒级的keepalive timeout;
1.8 基于FQDN的虚拟主机不再需要NameVirtualHost命令;
1.9 支持用户自定义变量;
新模块:
1、 mod_proxy_fcgi
2、 mod_ratelimit
3、 mod_remoteip
修改了一些配置机制:
不再支持使用Order,Deny,Allow来做基于IP的访问控制;
2 安装httpd-2.4
2.1 CentOS 6:
httpd依赖于apr-1.4+,apr-uti-1.4+l,[apr-icon]
apr:apache portable runtime
CentOS 6:
apr1.3.9,apr-util-1.3.9
2.2 编译步骤:
1.4+版的apr和apr-util
前提:安装开发环境,安装pcre-devel
3 检查apr版本:rpm -qa apr*
CentOS6--Http2.4安装
4 安装开发环境:
yum groupinstall "Development Tools" "Server Platform Development" -y
CentOS6--Http2.4安装_第1张图片
5 下载安装源码包并解压
6 :https://archive.apache.org/dist/apr/
CentOS6--Http2.4安装
CentOS6--Http2.4安装_第2张图片
复制文件到用户目录下:cp apr-1.5.0.tar.bz2 apr-util-1.5.3.tar.bz2 /root
CentOS6--Http2.4安装
解压到当前目录:tar -xf apr-1.5.0.tar.bz2
切到到解压后的目录:cd apr-1.5.0
7 编译安装apr(避免以之前安装的httpd2.2目录重复)
指定安装目录:./configure --prefix=/usr/local/apr
CentOS6--Http2.4安装_第3张图片
make && make install
CentOS6--Http2.4安装_第4张图片
8 编译安装apr-util
解压文件:tar -xf apr-util-1.5.3.tar.bz2
切换至解压目录:cd apr-util-1.5.3
编译:./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
CentOS6--Http2.4安装_第5张图片
安装:make && make install
CentOS6--Http2.4安装_第6张图片
9 安装httpd2.4
9.1 安装依赖包pcre-devel: yum -y install pcre-devel
CentOS6--Http2.4安装_第7张图片
9.2 下载解压httpd2.4.10安装包
https://archive.apache.org/dist/httpd/
解压文件:tar xf httpd-2.4.10.tar.bz2
切换至安装目录:cd httpd-2.4.10
9.3 新建安装用户组:groupadd -r apache
CentOS6--Http2.4安装
9.4 新新安装用户:useradd -r apache
CentOS6--Http2.4安装
9.5 编译:./configure --prefix=/usr/local/apache --sysconf=/etc/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork

9.6 安装:make && make install

10 启动服务:
10.1 检查80端口是否被 nginx等应用使用
ss -tnl
注释点用80端口的服务
vim /etc/httpd/conf/httpd.conf
service httpd stop
CentOS6--Http2.4安装_第8张图片
CentOS6--Http2.4安装
10.2 启动方法一:/usr/local/apache/bin/apachectl
CentOS6--Http2.4安装
10.3 启动方法后:修改配置文件指定
vim /etc/profile.d/httpd.sh
export PATH=/usr/local/apache/bin:$PATH
CentOS6--Http2.4安装
重读配置文件:. /etc/profile.d/httpd.sh
检查新路径是否生效:echo $PATH
CentOS6--Http2.4安装
启动服务:apachectl restart
10.4 测试访问:
CentOS6--Http2.4安装_第9张图片
11 配置:/etc/httpd24/httpd.conf
11.1 CentOS 7文件:
配置文件:
主配置文件:/etc/httpd/conf/httpd.conf
模块配置文件:/etc/httpd/conf.modules.d/.conf
辅助配置文件:/etc/httpd/conf.d/
.conf

mpm:以DSO机制提供,配置文件00-mpm.conf

        服务控制:systemctl {start|stop|restart|status|relaod} httpd.service

11.2 配置:
11.2.1 切换使用MPM
11.2.1.1 LoadModule mpm_NAME_module modules/mod_mpm_NAME.so
NAME:prefork,event,worker
修改‘Main' server的DocumentRoot
基于IP的访问控制法则
允许所有主机访问:Require all granted
拒绝所有主机访问:Require all deny

11.2.2 控制特定IP访问:
Require ip IPADDR:授权指定来源地址的主机访问
Require not ip IPADDR:拒绝指定来源地址的主机访问

IPADDR:
    IP:172.16.100.2
    Network/mask:172.16.0.0/255.255.0.0
    Network/Lenght:172.16.0.0/16
    Net:172.16 

11.2.3 控制特定主机(HOSTNAME)访问

Require host HOSTNAME
Require not host HOSTNAME

HOSTNAME:
FQDN:特定主机
DOMAIN:指定域内的所有主机
11.2.4 虚拟主机:
12 设置访问授权(默认拒绝所有主机访问)
修改DocumentRoot: vim /etc/httpd/conf/httpd.conf
原:#DocumentRoot "/var/www/html"
改为:DocumentRoot "/www/htdocs"
创建新目录:mkdir /www/htdocs -pv
创建自定义首页:vim /www/htdocs/index.html
去掉默认欢迎页:
cd /etc/httpd
mv /etc/httpd/conf.d/welcome.conf /etc/httpd/conf.d/welcome.conf.bak
重启服务:systemctl restart httpd
测试访问网页:默认为拒绝
CentOS6--Http2.4安装_第10张图片
 做显示授权,访问页面:
vim /etc/httpd/conf/httpd.conf
原: CentOS6--Http2.4安装_第11张图片
改为:
注释不必要的权限项:(选择性修改)
CentOS6--Http2.4安装_第12张图片

 修改selinux为禁用:
vim /etc/sysconfig/selinux
CentOS6--Http2.4安装_第13张图片
重启服务器:reboot/init 6
关闭防火墙:systemctl stop firewalld
重启apache:systemctl start httpd.service
 测试登录:
CentOS6--Http2.4安装_第14张图片
13 设置指定主机访问网页
vim /etc/httpd/conf/httpd.conf

Require not ip 10.206.35.84
Require all granted

CentOS6--Http2.4安装_第15张图片
测试访问:
CentOS6--Http2.4安装_第16张图片
14 ssl
15 服务脚本(用于编译安装的HTTPD)
15.1 停止httpd服务:apachectl stop
15.2 切换至启动服务目录:cd /etc/rc.d/init.d/
15.3 复制现在启动程序:cp httpd httpd24
15.4 修改自定义的程序:vim httpd24:
apachectl=/usr/local/apache/bin/apachectl
httpd=/usr/local/apache/bin/httpd
pidfile=${PIDFILE-/var/run/httpd/httpd24.pid}
lockfile=${LOCKFILE-/var/lock/subsys/httpd24}
CentOS6--Http2.4安装
15.5 加入服务列表:chkconfig --add httpd24
15.6 查看启动权限:chkconfig --list httpd24
CentOS6--Http2.4安装
15.7 添加启动权限:chkconfig httpd24 on
15.8 启动服务:service httpd restart
15.9 测试网页:
CentOS6--Http2.4安装_第17张图片