一、实验目的

  1. 掌握缓存DNS服务、主DNS服务器的搭建

    二、实验内容

  2. 搭建一台缓存DNS服务器。
    2. 搭建一台主DNS服务器。

    三、实验环境

  3. 缓存DNS服务器centos6对应主机ip为10.10.64.226
    2. 主DNS服务器centos7对应主机ip为10.10.64.225

    四、实验分析与设计思路

  4. 网络拓扑图
    2. 实验思路
    HTTP服务配置 - 图1

    五、实验准备

  5. 设置环境为同一网段,连接公网,DHCP获取ip
    2. 关闭所有主机防火墙
    3. 测试网络连通性

    六、httpd基本操作

  6. 端口、主机名配置
    ① 端口可以有多个,但前后要保持一致
    HTTP服务配置 - 图2
    HTTP服务配置 - 图3
    HTTP服务配置 - 图4
    ② 主机名只能有一个
    HTTP服务配置 - 图5
    2. 网站根路径配置
    HTTP服务配置 - 图6
    3. 主页面配置
    HTTP服务配置 - 图7
    4. 日志配置
    HTTP服务配置 - 图8
    5. 路径别名
    HTTP服务配置 - 图9

    七、httpd站点访问控制

  7. options选项
    l Indexes 是设定是否允许在目录下面没有index.html 的时候显示目录
    l FollowSymLinks 决定是否可以通过符号连接跨越DocumentRoot
    HTTP服务配置 - 图10
    l Indexes效果对比
    HTTP服务配置 - 图11
Indexes
开启 HTTP服务配置 - 图12
关闭 HTTP服务配置 - 图13

l FollowSymLinks效果对比
HTTP服务配置 - 图14

FollowSymLinks
开启 HTTP服务配置 - 图15
关闭 HTTP服务配置 - 图16
  1. 来源地址访问控制
    l 所有人都不可以,除了……
    Order allow,deny
    Allow from
    l 所有人都可以,除了……
    Order deny,allow
    Deny from
    HTTP服务配置 - 图17
    3. 账号访问控制
    HTTP服务配置 - 图18
    HTTP服务配置 - 图19

    八、Linux虚拟主机配置

  2. 基于ip虚拟主机
    HTTP服务配置 - 图20
    2. 基于端口虚拟主机
    3. 基于主机名虚拟主机
    HTTP服务配置 - 图21

    九、网站优化与测试

  3. mod_deflate模块压缩页面
    HTTP服务配置 - 图22
    2. https配置
    ① 自建CA
    HTTP服务配置 - 图23
    HTTP服务配置 - 图24
    HTTP服务配置 - 图25
    HTTP服务配置 - 图26
    ② 进行CA签名,获得证书
    HTTP服务配置 - 图27
    HTTP服务配置 - 图28
    HTTP服务配置 - 图29
    HTTP服务配置 - 图30
    HTTP服务配置 - 图31
    HTTP服务配置 - 图32
    HTTP服务配置 - 图33
    ③ 配置ssl
    HTTP服务配置 - 图34
    HTTP服务配置 - 图35
    HTTP服务配置 - 图36
    HTTP服务配置 - 图37
    HTTP服务配置 - 图38
    HTTP服务配置 - 图39
    HTTP服务配置 - 图40
    HTTP服务配置 - 图41
    HTTP服务配置 - 图42
    HTTP服务配置 - 图43
    ④ 抓包工具模拟颁发证书
    HTTP服务配置 - 图44
    HTTP服务配置 - 图45
    3. httpd的日志滚动(切割)工具
    ① 编译安装cronolog
    HTTP服务配置 - 图46
    ② 虚拟主机配置日志文件
    HTTP服务配置 - 图47
    ③ 启动服务查看日志
    HTTP服务配置 - 图48
    ④ 更改日期,模拟第二天访问
    HTTP服务配置 - 图49
    4. 使用第三方的图形工具AWStats来进行日志分析
    ① 解压并查看相关配置文件信息
    HTTP服务配置 - 图50
    HTTP服务配置 - 图51
    HTTP服务配置 - 图52
    ② 添加执行权限
    HTTP服务配置 - 图53
    ③ 执行预配置脚本
    HTTP服务配置 - 图54
    HTTP服务配置 - 图55
    HTTP服务配置 - 图56
    ④ 修改配置文件
    http://localhost/awstats/awstats.pl?config=log.com
    HTTP服务配置 - 图57
    HTTP服务配置 - 图58
    HTTP服务配置 - 图59
    ⑤ 执行日志统计分析
    HTTP服务配置 - 图60
    ⑥ 浏览器访问分析工具
    HTTP服务配置 - 图61
    ⑦ 编写周期性计划任务,每5分钟读取刷新一次日志
    HTTP服务配置 - 图62
    HTTP服务配置 - 图63
    在IE中打开:http://192.168.1.124/awstats/awstats.pl?config=jzyuan.cn 报error:
    You don’t have permission to access /awstats/awstats.pl on this server.

    Options None
    AllowOverride None
    Order allow,deny
    Allow from all


    5. httpd的压力测试工具
    ① 命令格式ab [opithon] URL(-n:总请求数 -c:模拟并发数 -k:以持久连接模式测试)
    HTTP服务配置 - 图64
    ② 测试自建服务器
    HTTP服务配置 - 图65
    6. Status页面
    ① status页面作用:便于分析httpd服务器的进程状况、负载状况,方便管理员进行web服务器的管理和监控。
    ② status页面定义方式:使用location容器进行定义,可以在中心主机,也可以在虚拟主机中进行定义。
    HTTP服务配置 - 图66
    HTTP服务配置 - 图67
    7. 页面缓存
    ① 查看expires模块是否开启
    HTTP服务配置 - 图68
    ② 缓存定义在 容器中(作用范围是全局)
    HTTP服务配置 - 图69
    ③ 访问站点,查看缓存信息
    HTTP服务配置 - 图70
    ④ 访问图片,查看缓存信息
    HTTP服务配置 - 图71
    ⑤ 加入gif图片,查看缓存信息
    HTTP服务配置 - 图72
    8. 配置防盗链
    ① 查看rewrite模块是否开启
    HTTP服务配置 - 图73
    ② 编写规则
    HTTP服务配置 - 图74
    ③ 访问测试
    HTTP服务配置 - 图75
    HTTP服务配置 - 图76
    9. 隐藏版本号
    ① 默认显示详细信息,存在安全隐患
    HTTP服务配置 - 图77
    ② 配置文件,隐藏版本号
    l 语法:ServerTokens Major| Minor| Minimal| ProductOnly| Full (默认为Full)
    l 放在最外面,是全局设置
    HTTP服务配置 - 图78
    HTTP服务配置 - 图79

    十、Httpd2.4新特性

  4. Httpd2.4安装
    ① Centos7自带httpd2.4
    ② Centso6需要源代码编译安装
    l 安装httpd的依赖库程序和安装环境、编译工具
    yum -y install pcre-devel openssl-devel perl gcc gcc-c++
    l 编译1.4或以上版本的apr和apr-utils(编译到指定位置,防止和原版本的apr冲突)
    ./configure —prefix=/usr/local/apr && make && make install
    ./configure —prefix=/usr/local/apr-util —with-apr=/usr/local/apr/ && make && make install
    ./configure —prefix=/usr/local/apache —sysconf=/etc/httpd24 —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 && make && make install
    l 需要自行创建httpd的程序用户
    useradd -r httpd rm -rf /etc/httpd
    l 相关配置文件路径
    HTTP服务配置 - 图80
    l 相关程序路径
    HTTP服务配置 - 图81
    l 脚本启停文件需自己编写,可从httpd服务指令文件拷贝进行自定义修改即可
    HTTP服务配置 - 图82
    HTTP服务配置 - 图83
    HTTP服务配置 - 图84
    l 自定义环境变量,全局使用相关指令
    HTTP服务配置 - 图85
    HTTP服务配置 - 图86
    HTTP服务配置 - 图87
    l 查看主页
    HTTP服务配置 - 图88
    HTTP服务配置 - 图89
    HTTP服务配置 - 图90
    2. 基本操作
    ① 更改MPM模型
    l MPM是apache的多道处理模块,用于定义apache对客户端请求的处理方式.在linux中apache常用的三种MPM模型分别是prefork、worker和event。默认prefork
    HTTP服务配置 - 图91
    l 改为event后查看进程信息
    HTTP服务配置 - 图92HTTP服务配置 - 图93
    3. 访问控制
    l 必须出现在Directory容器中
允许 拒绝
所有 Require all granted Require all denied
指定IP或网段 Require ip xxx.xxx.xxx.xxx/xx Require not ip xxx.xxx.xxx.xxx/xx
特定主机 Require host HOSTNAME Require not host HOSTNAME


HTTP服务配置 - 图94
4. 虚拟主机
l 虚拟主机不再需要控制主配置文件的NameVirtualHost开关,
l 但需要额外注意包含关系 HTTP服务配置 - 图95
① 创建虚拟主机配置文件
HTTP服务配置 - 图96
② 编辑虚拟主机配置文件
HTTP服务配置 - 图97
HTTP服务配置 - 图98