Linux-应用基础教程--CH19-Apache进阶.ppt
-
资源ID:26545032
资源大小:129.50KB
全文页数:33页
- 资源格式: PPT
下载积分:20金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
Linux-应用基础教程--CH19-Apache进阶.ppt
本章内容要点n虚拟主机n认证和授权n日志管理本章学习目标 n掌握基于IP和域名的虚拟主机配置n掌握认证和授权的配置n掌握Apache的日志配置n学会配置虚拟主机的分离日志及其日志滚动虚拟主机虚拟主机虚拟主机简介n在一台Web服务器上,通过多个独立的IP地址、域名或端口号提供不同的Web站点q基于IP地址的虚拟主机n每个网站拥有不同的 IP 地址n通过访问服务器上不同的IP地址访问不同的网站q基于域名的虚拟主机n所有的虚拟主机可以共享同一个IP地址n使用不同的域名来访问不同的网站q基于端口的虚拟主机n所有的虚拟主机可以共享同一个IP地址n各虚拟主机之间通过不同的端口号进行区分虚拟主机注意事项n可以在一台主机上混合配置不同方式的虚拟主机n在一台主机上配置基于IP的虚拟主机时q既可以安装配置多个网络接口q也可以为一个网络接口绑定多个 IP 地址n无论哪一种虚拟主机,都应该配置域名解析q只有基于IP的虚拟主机可以使用IP地址和域名访问q基于域名的虚拟主机只能使用域名访问虚拟主机配置指令nVirtualHost 容器内使用的指令qServerName:用于指定虚拟主机的名称和端口号qServerAdmin:用于指定虚拟主机的管理员E-mail地址qDocumentRoot:用于指定虚拟主机的根文档目录qErrorLog:用于指定虚拟主机的错误日志存放路径qCustomLog:用于指定虚拟主机的访问日志存放路径q使用 、 等容器设置访问控制等nVirtualHost 容器之外使用的指令qNameVirtualHost :用于为一个和多个基于域名的虚基于域名的虚拟主机拟主机指定一个IP地址和端口nIP地址可以使用*表示本机配置的所有IP地址n省略端口部分表示80端口主服务器配置与虚拟主机配置的关系n覆盖性qVirtualHost 容器中的指令会覆盖主服务器范围内同同名名的配置指令q主服务器(Main Server)范围内的配置指令(在所有 容器之外的指令,包括主配置文件使用Include包含的配置文件中的指令) 仅在它们没有被VirtualHost 容器的配置覆盖时才起作用n继承性q每个虚拟主机都会从主服务器配置继承相关的配置q例如:虚拟主机会继承主服务器的DirectoryIndex使用单独的虚拟主机配置文件n配置虚拟主机时可以在主配置文件中进行n为了方便维护虚拟主机的配置,通常为某个虚拟主机或某组虚拟主机使用单独的配置文件n修改主配置文件 /etc/htpd/conf/httpd.confNameVirtualHost *:80Include vhosts.d/*.confn创建存放虚拟主机配置文件的目录# mkdir /etc/httpd/vhosts.d配置基于IP的虚拟主机n基于IP的虚拟主机的配置步骤q在一台主机上配置多个IP地址并配置域名解析q创建文档目录和测试主页q修改配置文件添加虚拟主机配置q重新启动 Apache,分别使用IP和域名进行访问测试n基于IP的虚拟主机的配置举例参考教材中的操作步骤配置基于域名的虚拟主机n基于域名的虚拟主机的配置步骤q配置虚拟主机的域名解析q创建文档目录和测试主页q修改配置文件添加虚拟主机配置q重新启动 Apache,使用域名进行访问测试n基于域名的虚拟主机的配置举例参考教材中的操作步骤默认服务器(default server)n当配置了基于域名的虚拟主机后, Apache将配置文件中第一个第一个基于域名的虚拟主机配置视为默认服务器(虚拟主机)n对本机不存在的虚拟主机的访问定向到默认虚拟主机n当配置了基于域名的虚拟主机后,若还希望访问主服务器(文档目录为 /var/www/html),则应该为之添加一个基于域名的虚拟主机配置n可以通过 httpd -S 命令查看默认服务器认证和授权认证和授权认证和授权简介nApache的认证和授权(基于用户的访问控制)q认证和授权是 Apache 允许指定用户使用用户名和口令访问特定资源的一种方式q认证认证(Authentication)是指任何识别用户身份的过程q授权授权(Authorization)是允许特定用户访问特定区域或信息的过程q认证和授权也称弱验证q认证和授权的配置指令既可以出现在主(或其包含的)配置文件的或容器中,也可以出现在./htaccess文件中两种认证基本认证基本认证摘要认证摘要认证Apache 模块mod_auth_basicmod_auth_digest证书管理程序 htpasswdhtdigest浏览器支持所有浏览器均支持绝大多数浏览器均支持特点可用于任何认证领域只用于指定的认证领域在网络中传输明文口令,不安全在网络中传输MD5口令,更安全认证和授权的证书存储和相关模块n通常通常使用纯文本文件存储认证口令证书使用纯文本文件存储认证口令证书n为了加快检索可以使用DBM数据库n为了与其他应用集成可以使用关系数据库或LDAP存储认证认证授权授权纯文本文件纯文本文件mod_authn_filemod_authz_user mod_authz_groupfileDBM 数据库数据库mod_authn_dbmmod_authz_dbm关系数据库关系数据库mod_authn_dbdLDAPmod_authnz_ldap认证相关指令n定义受保护领域的名称qAuthName n定义使用的认证方式qAuthType Basic或或Digestn指定认证组文件的位置qAuthGroupFile n指定认证口令文件的位置qAuthUserFile n指定摘需要认证的 URI(仅用于摘要认证)qAuthDigestDomain URI URI 授权n当使用认证指令配置了认证之后,还需要使用Require指令为指定的用户或组进行授权nRequire指令的三种使用格式q授权给指定的一个或多个用户Require user 用户名用户名 用户名用户名 q授权给指定的一个或多个组Require group 组名组名 组名组名 q授权给认证口令文件中的所有用户Require valid-user 管理基本认证的口令文件htpasswd 命令n添加一个认证用户的同时创建认证口令文件# htpasswd -cm n向现存的口令文件中添加用户或修改已存在的用户的口令# htpasswd -m n从认证口令文件中删除用户及其口令# htpasswd -D -m 参数可以生成MD5算法的加密口令-b 参数用于在命令行上直接指定用户名及其口令,而非交互模式管理摘要认证的口令文件htdigest 命令n添加一个认证用户的同时创建认证口令文件# htdigest -c n向现存的口令文件中添加用户或修改已存在的用户的口令# htdigest 没有提供从认证口令文件中删除指定用户及没有提供从认证口令文件中删除指定用户及其口令的功能,需要直接编辑认证口令文件其口令的功能,需要直接编辑认证口令文件管理认证组文件nApache 支持认证组文件nApache 没有提供创建认证组文件的命令n认证组文件只是一个文本文件,可以使用任何文本编辑器创建并修改n认证组文件中每一行的格式 组名组名:用户名用户名 用户名用户名 在认证组文件中指定的用户名,必须先使用 htpasswd 或 htdigest 命令添加到认证口令文件中认证证书的权限n认证证书包扩认证口令文件和/或认证组文件n基于安全因素的考虑q认证证书不应该存放在 DocumentRoot 指令指定的目录或其子目录下q建议存放在 /etc/httpd/passwd 子目录或与虚拟主机根文档目录同级别的conf或passwd子目录下n确保执行Apache守护进程的用户(CentOS默认为 apache)能读取认证证书q确保 apache 用户能进入存放认证证书的目录q确保 apache 用户能读取认证证书文件认证和授权配置举例n在主配置文件中配置认证和授权n在.htaccess文件中配置认证和授权参考教材中的操作步骤对访问控制和认证授权进行控制nSatisfy allq主机访问控制和认证授权两类指令均起作用(默认值)q例如:配置指定的用户在指定的网段上访问资源nSatisfy anyq主机访问控制和认证授权两类指令只要一类指令满足条件即可以访问q例如:允许网段内用户无条件访问而其他用户授权访问日志管理日志管理Apache 的日志n日志的种类 q错误日志q访问日志nApache 默认的错误日志配置nApache 默认的访问日志配置ErrorLog logs/error_logLogLevel warn LogFormat %h %l %u %t %r %s %b %Refereri %User-Agenti combinedCustomLog logs/access_log combinedApache的日志滚动nApache的日志滚动的必要性q一个访问频繁的Web站点的日志会迅速增长q定期清理以免造成磁盘空间的不必要的浪费q查看日志时打开小文件的速度比大文件的速度要快nApache的日志滚动方法qRHEL/CentOS的默认配置nlogrotate 和 crond 实现日志滚动q其他工具n使用 Apache 自带的 rotatelogsn使用 cronolog(http:/cronolog.org/) 配置虚拟主机的日志n若在虚拟主机的容器之内没有配置日志指令,则每个虚拟主机将继承使用主配置文件中容器之外的日志配置。n分离虚拟主机日志的方法q在容器之内使用 ErrorLog 和 CustomLog 语句指定本虚拟主机单独使用的日志文件q使用主配置文件将所有虚拟主机的日志记录到一个文件,然后可以使用分离脚本 split-logfile 将日志文件的内容按不同的虚拟主机拆分为多个文件虚拟主机的日志分离举例参考教材中的操作步骤本章思考题n什么是虚拟主机?Apache支持几种类型的虚拟主机?n简述认证和授权指令的使用。nApache有哪几种日志?Apache的日志指令有哪些?n如何配置Apache的虚拟主机日志?本章实验n学会配置基于IP和基于域名的虚拟主机。n学会配置访问控制、认证和授权。n学会查看Apache的日志文件。n学会配置虚拟主机的分离日志及其日志滚动。进一步学习n学习配置基于不同端口号的虚拟主机。n学习使用mod_rewrite模块配置虚拟主机的方法。n学习配置WebDAV实现站点内容上传。n学习使用cronolog(http:/cronolog.org/) 实现日志滚动。n学习使用vlogger(http:/n0rp.chemlab.org/vlogger/)实现虚拟主机的日志分离。n学习使用ab命令测试Apache服务器的性能。33 结束语结束语