《教学课件第11章-Apache服务器 .pptx》由会员分享,可在线阅读,更多相关《教学课件第11章-Apache服务器 .pptx(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、教材配套PPT正版可修改课件教学教学课课件第件第11章章-Apache服服务务器器 第第11章章 Apache服务器服务器11.1 WWW服务概述服务概述11.2 Apache的基本配置的基本配置11.3 访问控制与认证访问控制与认证11.4 配置和管理虚拟主机配置和管理虚拟主机 11.5 本章小结学学习目目标WWW的的历史史WWW的工作原理的工作原理 Apache服服务器的安装和启器的安装和启动Apache服服务器的基本配置器的基本配置Apache服服务器的目器的目录访问控制控制Apache服服务器的虚器的虚拟主机技主机技术11.1 WWW服服务概述概述WebWeb服服服服务务器器器器简简介
2、:介:介:介:InternetInternet上最上最上最上最热门热门的服的服的服的服务务之一就是之一就是之一就是之一就是环环球信息网球信息网球信息网球信息网WWWWWW(World Wide World Wide WebWeb)服)服)服)服务务,WebWeb已已已已经经成成成成为为很多人在网上很多人在网上很多人在网上很多人在网上查查找、找、找、找、浏览浏览信息的主要手信息的主要手信息的主要手信息的主要手段。段。段。段。WebWeb系系系系统统是客是客是客是客户户/服服服服务务器式的。器式的。器式的。器式的。WebWeb服服服服务务具有如下特点:具有如下特点:具有如下特点:具有如下特点:We
3、bWeb是是是是图图形化的和易于形化的和易于形化的和易于形化的和易于导导航的航的航的航的WebWeb是与平台无关的是与平台无关的是与平台无关的是与平台无关的WebWeb是分布式的是分布式的是分布式的是分布式的WebWeb是是是是动态动态的的的的WebWeb是交互的是交互的是交互的是交互的WWWWWW服服服服务务遵从遵从遵从遵从HTTPHTTP协议协议,默,默,默,默认认的的的的TCP/IPTCP/IP端口是端口是端口是端口是8080。客客客客户户可以在可以在可以在可以在浏览浏览器的地址器的地址器的地址器的地址栏栏内内内内输输入入入入统统一一一一资资源定位地址(源定位地址(源定位地址(源定位地址
4、(URLURL)来)来)来)来访访问问WebWeb页页面。面。面。面。1.Web服服务器和器和ApacheApacheApache简简介介介介-A Patchy Server-A Patchy Server:ApacheApache是一个知名的是一个知名的是一个知名的是一个知名的WebWeb服服服服务务器,是一个开源器,是一个开源器,是一个开源器,是一个开源软软件。件。件。件。ApacheApache的开的开的开的开发发人人人人员员全部全部全部全部为为志愿者,而不含任何商志愿者,而不含任何商志愿者,而不含任何商志愿者,而不含任何商业业行行行行为为。ApacheApache在功能、效率及速度方面
5、居于在功能、效率及速度方面居于在功能、效率及速度方面居于在功能、效率及速度方面居于领领先的地位。先的地位。先的地位。先的地位。特点:特点:支持最新的支持最新的HTTP1.1协议。支持支持PHP、CGI、Java Servlets和和FastCGI。支持安全支持安全Socket层。集成了集成了Perl脚本脚本编程程语言。言。支持支持SSI和虚和虚拟主机。主机。实现了了动态共享共享对象,允象,允许在运行在运行时动态装装载功能模功能模块。具有安全、有效和易于具有安全、有效和易于扩展等特征。展等特征。2、Apache的相关命令的相关命令Apache相关命令相关命令:安装安装安装安装ApacheApac
6、he#yum install httpd y#yum install httpd y启启启启动动和停止和停止和停止和停止ApacheApache#systemctl systemctl start/stop/restart start/stop/restart httpdhttpd检测检测配置文件配置文件配置文件配置文件语语法的正确性法的正确性法的正确性法的正确性#httpd-thttpd-t查查看看看看ApacheApache的运行状的运行状的运行状的运行状态态#syatemctl status httpdsyatemctl status httpd查查看看看看ApacheApache的的的
7、的编译编译配置参数配置参数配置参数配置参数#apachectl-Vapachectl-V查查看看看看ApacheApache已已已已经经被被被被编译编译的模的模的模的模块块#apachectl-lapachectl-l3、测试安装是否成功、测试安装是否成功 确认确认Apache服务已经启动后,我们可以在服务已经启动后,我们可以在Web浏览器里输入以下地址,如果可以看到默认的浏览器里输入以下地址,如果可以看到默认的Apache首页,则说明首页,则说明Apache服务器工作正常。服务器工作正常。http:/ip 或者或者 http:/127.0.0.1 如果在网络其他计算机上测试:如果在网络其他计
8、算机上测试:http:/Linux server ip(安装(安装Apache服务器的服务器的IP地址)同样出现默认的地址)同样出现默认的Apache首页,则说明首页,则说明Apache服务器工作正常。服务器工作正常。11.2 Apache的基本配置的基本配置Apache相关文件相关文件:配置文件:配置文件:/etc/httpd/conf/httpd.conf服服务器的根目器的根目录:/etc/httpd根文档目根文档目录:/var/www/html访问日至文件:日至文件:/var/log/httpd/access_log错误日至文件:日至文件:/var/log/httpd/error_log
9、运行运行Apache的用的用户:apache运行运行Apache的的组:apache端口:端口:80模模块存放路径:存放路径:/usr/lib/httpd/modules11.2.1 Apache服务器配置文件服务器配置文件配置文件配置文件 对于对于Apache服务器,配置统一在服务器,配置统一在httpd.conf里进行。里进行。如果对默认安装的如果对默认安装的RedHat Linux来说,该配置文件位于来说,该配置文件位于/etc/httpd/conf目录下,如果安装的是目录下,如果安装的是tar.gz版本,则该文件位于版本,则该文件位于/usr/local/apache/conf目录。目
10、录。httpd.conf是一个文本文件,我们可以用是一个文本文件,我们可以用vi编辑工具进行修改。编辑工具进行修改。httpd.conf文件主要分为三个部分:文件主要分为三个部分:Section 1:Global Environment(全局变量)(全局变量)Section 2:Main server configuration(主服务器配置)(主服务器配置)Section 3:Virtual Hosts(虚拟主机配置)(虚拟主机配置)11.2 Apache的基本配置的基本配置 在默认配置情况下服务器能正常运行,每个小节都在默认配置情况下服务器能正常运行,每个小节都有若干个配置参数,其表达形式
11、为有若干个配置参数,其表达形式为“配置参数名称配置参数名称 具体值具体值”,每个配置参数都有详尽的英文解释,用每个配置参数都有详尽的英文解释,用“#”号引导每一个注释号引导每一个注释行。为了让大家掌握主要的配置,这里给出行。为了让大家掌握主要的配置,这里给出httpd.conf的最常的最常用配置参数,用配置参数,注意:修改之前一定要先备份!注意:修改之前一定要先备份!输入如下命令:输入如下命令:#grep v#/etc/httpd/conf/httpd.conf 此命令可以去掉所有注释行,只显示配置信息。此命令可以去掉所有注释行,只显示配置信息。一千来行,但有效行只三百来行一千来行,但有效行只
12、三百来行#Less httpd.conf|grep -v#,|wc -l解读来了解解读来了解Apache11.2.2 基本配置参数基本配置参数httpd.conf文件中的全局配置选项文件中的全局配置选项httpd.conf文件中包含大量的全局配置选项,其中文件中包含大量的全局配置选项,其中比较常用包括:比较常用包括:ServerRoot TimeOut Listen KeepAlive User和和Group KeepAliveTimeout ServerAdmin MaxKeepAliveRequests ServerName HostnameLookup DocumentRoot Star
13、tServers UserDir MaxSpareServers DirectoryIndex MaxClients 常用的全局配置参数常用的全局配置参数ServerRoot:服务目录服务目录ServerAdmin:管理员邮箱管理员邮箱User:运行服务的用户身份运行服务的用户身份Group:运行服务的组身份运行服务的组身份ServerName:网站服务器的域名网站服务器的域名DocumentRoot 网页文档的根目录网页文档的根目录Listen:监听的监听的IP地址、端口号地址、端口号PidFile:保存保存httpd进程进程PID号的文件号的文件DirectoryIndex:默认的索引页文
14、件:默认的索引页文件常用的全局配置参数(常用的全局配置参数(续)ErrorLog:错误日志文件的位置:错误日志文件的位置CustomLog:访问日志文件的位置:访问日志文件的位置LogLevel:记录日志的级别,默认为:记录日志的级别,默认为warnTimeout:网络连接超时,默认为:网络连接超时,默认为300秒秒KeepAlive:是否保持连接,可选:是否保持连接,可选On或或OffMaxKeepAliveRequests:每次连接最多请求文件数:每次连接最多请求文件数KeepAliveTimeout:保持连接状态时的超时时间:保持连接状态时的超时时间Include:需要包含进来的其他配置
15、文件:需要包含进来的其他配置文件StartServers 8 http启动进程的数目启动进程的数目11.3 访问控制与认证访问控制与认证容器指令(容器指令(container directivecontainer directive)通常包括在)通常包括在括号内,括号内,较容容易易识别,常用的容器指令有:,常用的容器指令有:11.3.1 容器指令容器指令设置置“/”根目根目录的的访问权限限 Options FollowSymLinks AllowOverride None目目录属性属性设置置结束束使用使用 设置指定目置指定目录的的访问权限,其中可包含:限,其中可包含:OptionsAllowO
16、verrideOrderAllow Deny五个属性。五个属性。(1 1)OptionsOptions属性属性Options FollowSymLinks Indexes MultiViewsOptionsOptions可以可以组合合设置下列置下列选项:AllAll:用:用户可以在此目可以在此目录中作任何事情。中作任何事情。ExecCGIExecCGI:允:允许在此目在此目录中中执行行CGICGI程序。程序。FollowSymLinksFollowSymLinks:服:服务器可使用符号器可使用符号链接指向的文件或目接指向的文件或目录。IndexesIndexes:服:服务器可生成此目器可生成此
17、目录的文件列表。的文件列表。NoneNone:不允:不允许访问此目此目录multiviews:multiviews:允允许多用多用户浏览(2 2)AllowOverrideAllowOverrideAllowOverride NoneAllowOverrideAllowOverride会根据会根据设定的定的值决定是否决定是否读取目取目录中的中的.htaccess.htaccess文件,来改文件,来改变原来所原来所设置的置的权限。限。AllAll:读取取.htaccess.htaccess文件的内容,修改原来的文件的内容,修改原来的访问权限。限。NoneNone:不:不读取取.htaccess.
18、htaccess文件文件为避免用避免用户自行建立自行建立.htaccess.htaccess文件修改文件修改访问权限,限,http.confhttp.conf文文件中默件中默认设置每个目置每个目录为:AllowOverride NoneAllowOverride None。(3 3)AllowAllow设定允定允许访问ApacheApache服服务器的主机器的主机Allow from all允许所有主机的访问允许所有主机的访问Allow from 202.96.0.97 202.96.0.98允许来自指定允许来自指定IPIP地址主机的访问地址主机的访问(4 4)DenyDeny设定拒定拒绝访问
19、ApacheApache服服务器的主机器的主机Deny from all拒绝来自所有主机的访问拒绝来自所有主机的访问Deny from 202.96.0.99 202.96.0.88拒绝指定拒绝指定IPIP地址主机的访问地址主机的访问Order指令的两种形式指令的两种形式Order Allow,Deny在在执行拒行拒绝访问规则之前先之前先执行允行允许访问规则。默默认情况下将会拒情况下将会拒绝所有没有明确被允所有没有明确被允许的客的客户。Order Deny,Allow在在执行允行允许访问规则之前先之前先执行拒行拒绝访问规则。默默认情况下将会允情况下将会允许所有没有明确被拒所有没有明确被拒绝的客
20、的客户。(5 5)OrderOrder /目目录容器,就是存放网容器,就是存放网页的地方的地方 Options Indexes FollowSymLinks /索引、跟踪符号索引、跟踪符号链接接 AllowOverride None /字面上看是允字面上看是允许覆盖,即是否允覆盖,即是否允许另一配置文件覆盖另一配置文件覆盖现有配置文件,有配置文件,可以可以给目目录容器外容器外层加加锁,访问的的时候需要候需要输入用入用户名和密名和密码。none是不允是不允许覆盖覆盖安全,安全,all是允是允许.htaccess中所有的指令中所有的指令 Order allow,deny /访问控制,用来控制,用来
21、标识黑白名黑白名单 Allow from all /允允许哪些客哪些客户端,端,all表示所有表示所有解读解读Apache示例示例11.3 访问控制与认证访问控制与认证11.3.2 认证与授与授权-认证认证类型型Basic(基本(基本认证,通常使用),通常使用)digest(摘要摘要认证)实现对目目录的的认证,用,用户访问指定的目指定的目录的网的网页时必必须输入入认证用用户名和密名和密码认证参数:参数:Authname 认证域名城认证域名城;用户认证域的名称,;用户认证域的名称,该名称会该名称会出现在浏览器客户端的用户认证对话框中,以标识用户被出现在浏览器客户端的用户认证对话框中,以标识用户被
22、认证的区域。如认证区域名称中包含空格需用认证的区域。如认证区域名称中包含空格需用“”“”括起。括起。Authtype Basic/Digest :认证类型认证类型Authuserfile 文件名文件名:认证口令文件及其保存路径认证口令文件及其保存路径authgroupfile 文件名文件名:认证组群文件名及其保存路径认证组群文件名及其保存路径AuthType需与需与AuthName 、Require、AuthUserFile一同使用一同使用11.3.2 认证与授与授权-授授权Require user授权指定用户授权指定用户Require group 授权指定组授权指定组Require vali
23、d-user 授权给认证口令文件用户授权给认证口令文件用户使用认证参数后,还需要使用使用认证参数后,还需要使用Require参数参数进行授权,执行进行授权,执行哪些认证用户或认证组群有权访问指定目录,哪些认证用户或认证组群有权访问指定目录,Require参数参数有有3种格式种格式:RequireRequire指令用于指令用于设定可定可进行身份行身份验证的用的用户。Require user Require user 用用户名名 用用户名名 设置指定用置指定用户名的用名的用户可通可通过身份身份验证访问区域。区域。Require group Require group 组名名 组名名 设置指定置指定
24、组内的用内的用户可通可通过身份身份验证访问区域。区域。Require valid-user Require valid-user 设置所有合法用置所有合法用户可通可通过身份身份验证访问区域区域。11.3 访问控制与认证访问控制与认证11.3.2 认证与授与授权-认证用用户文件文件利用利用htpasswd命令建立用户认证文件,并设置用户命令建立用户认证文件,并设置用户格式:格式:htpasswd 选项选项 文件名文件名(加绝对路加绝对路)用户名用户名-c 创建一个访问创建一个访问-p 对此用户明文密码对此用户明文密码-m 使用使用md5加密其密码加密其密码-D 删除指定的认证用户删除指定的认证用
25、户#htpasswd -c /web/dl/.htusers bob#htpasswd -m /web/dl/.htusers tom注意:注意:htusers不能事先创建,而且不能事先创建,而且”-c”参数只有在第一遍的时候才用,参数只有在第一遍的时候才用,之后的操作中如果出现之后的操作中如果出现-c,那么之前创建的用户和密码都被清那么之前创建的用户和密码都被清 空了空了QJ11.3 访问控制与认证访问控制与认证11.3.4 配置基本用配置基本用户认证 使用使用认证指令指令方法一:方法一:在主配置文件的容器指令内使用在主配置文件的容器指令内使用方法二:方法二:在在.htaccess配置文件中
26、使用配置文件中使用n在主配置文件中添加认证授权的指令在主配置文件中添加认证授权的指令n生成认证授权文件,并添加用户生成认证授权文件,并添加用户nhtpasswd -c /etc/httpd/认证文件认证文件 用户名用户名11.3.4 配置基本用配置基本用户认证方法一:在主配置文件的容器指令内使用方法一:在主配置文件的容器指令内使用在主配置文件中在主配置文件中发布目布目录,添加使用添加使用.htaccess的指的指令令在指定目在指定目录中生成中生成./htaccess文件文件,并添加指令并添加指令测试重新启重新启动apache服服务方法二:方法二:在在.htaccess配置文件中使用配置文件中使
27、用11.3.5 配置个人主配置个人主页编辑主配置文件主配置文件-vi/etc/http/conf/httpd.conf将将UserDir Disable改成改成#UserDir Disable启启动个人主目个人主目录名称,去掉名称,去掉#启启动个人用个人用户Web站点的站点的访问权限,去掉限,去掉#重新重新apache服服务#service httpd restart创建自己的建自己的Web站点站点添加用添加用户#useradd user1切切换用用户,并并进入用入用户主目主目录创建文档目建文档目录,建立建立测试页,添加添加执行行权限限mkdir public_htmlvi public_ht
28、ml/index.htmlcd/homechmod 711 user1测试在在浏览器中器中http:/域名或者域名或者IP地址地址/用用户名名11.3.5 配置个人主配置个人主页11.4 Apache的虚的虚拟主机主机虚虚拟主机主机:是指在同一台服是指在同一台服务器上器上实现多个多个Web站点站点。虚拟主机用处虚拟主机用处 对于访问量不是特别大,而且主机资源充足的服务器,对于访问量不是特别大,而且主机资源充足的服务器,可以划分虚拟主机,使其资源得到充分利用。可以划分虚拟主机,使其资源得到充分利用。QJ11.3 配置和管理虚拟主机配置和管理虚拟主机web服务器中虚拟主机的类型:服务器中虚拟主机的
29、类型:1)基于域名的虚拟主机)基于域名的虚拟主机最常用的虚拟主机最常用的虚拟主机 通过域名来标识,不同的域名可以访问到不同的网站,实际上就通过域名来标识,不同的域名可以访问到不同的网站,实际上就是多个域名对应的服务器的主页目录不一样。是多个域名对应的服务器的主页目录不一样。优点:不浪费优点:不浪费ip地址,用户不用记端口地址,用户不用记端口2)基于端口的虚拟主机)基于端口的虚拟主机 基本很少用基本很少用 不同的网站使用不同的监听端口不同的网站使用不同的监听端口 缺点:用户很难记忆多个端口缺点:用户很难记忆多个端口3)基于)基于IP的虚拟主机的虚拟主机 基本用的很少基本用的很少 不同的域名对应不
30、同的不同的域名对应不同的IP地址地址 缺点:浪费缺点:浪费ip地址地址 配置配置Apache的虚的虚拟主机主机虚虚拟主机配置指令:主机配置指令:ServerAdmin:用于指定虚:用于指定虚拟主机的管理主机的管理员E-mail地址地址DocumentRoot:用于指定虚:用于指定虚拟主机的根文档目主机的根文档目录ServerName:用于指定虚:用于指定虚拟主机的名称和端口号主机的名称和端口号ErrorLog:用于指定虚:用于指定虚拟主机的主机的错误日志存放路径日志存放路径CustomLog:用于指定虚:用于指定虚拟主机的主机的访问日志存放路径日志存放路径虚虚拟主机配置指令的使用方法:主机配置
31、指令的使用方法:可以在可以在VirtualHost容器中使用以上虚容器中使用以上虚拟主机配置指令主机配置指令还可以在可以在VirtualHost容器中使用其它容器配置容器中使用其它容器配置访问控制控制配置基于域名的虚配置基于域名的虚拟主机主机还需要在主配置文件中使用一条需要在主配置文件中使用一条NameVirtualHost指令指令配置基于端口的虚配置基于端口的虚拟主机主机举例例编辑主配置文件主配置文件,添加虚添加虚拟主机指令主机指令建立虚建立虚拟主机的根文档目主机的根文档目录,生成生成测试页配置基于端口的虚配置基于端口的虚拟主机主机举例例重新启重新启动apache服服务并并测试基于域名的虚基
32、于域名的虚拟主机主机举例例DNS添加添加别名名记录,并并测试基于域名的虚基于域名的虚拟主机主机举例例在主配置文件中添加虚在主配置文件中添加虚拟主机指令主机指令基于域名的虚基于域名的虚拟主机主机举例例建立虚建立虚拟主机的根文档目主机的根文档目录,生成生成测试页重新启重新启动apache服服务,用不同域名用不同域名测试11.5 本章小结本章小结 Apache是一个开放源是一个开放源码的的Web 服服务器,它可以运行在器,它可以运行在几乎所有广泛使用的几乎所有广泛使用的计算机平台上,由于其多平台和安全性算机平台上,由于其多平台和安全性被广泛使用,是目前最被广泛使用,是目前最为流行的流行的Web 服服务器端器端软件。件。Linux系系统配置中,配置中,Apache服服务器的配置信息存器的配置信息存储在主配置文件在主配置文件/etc/httpd/conf/httpd.conf中。中。Web服服务器提供虚器提供虚拟主机功能,虚主机功能,虚拟主机是一个完整的主机是一个完整的Web站点,有自己的域名,在同一台主机服站点,有自己的域名,在同一台主机服务器上可以器上可以设置置多个多个Web站点,站点,设置虚置虚拟主机的方式有基于主机的方式有基于IP 地址的虚地址的虚拟主主机、基于域名的虚机、基于域名的虚拟主机和基于端口的虚主机和基于端口的虚拟主机。主机。