《Linux实用教程第18.ppt》由会员分享,可在线阅读,更多相关《Linux实用教程第18.ppt(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第18章 Web服务器配置Linux实用教程第三版PPT本章内容18.1 Web简介18.2 Web服务器安装和配置18.3 访问Web服务器18.4 日志文件管理和分析18.5 Web服务器高级配置18.6 配置Apache虚拟主机18.1 Web简介简介WWW是英国人TimBerners-Lee在1989年欧洲共同体的一个大型科研机构工作时发明的。通过Web,互联网上的资源可以比较直观在一个网页里表示出来,而且在网页上可以互相链接。Web是一种超文本信息系统,其主要实现方式是超文本链接,它使得文本不再象一本书一样是固定的、线性的,而是可以从一个位置跳转到另外一个位置。想要了解某一个主题的内
2、容,只要在这个主题上点击一下,就可以跳转到包含这一主题的文档上。超文本是一种用户接口范式,用以显示文本及与文本相关的内容。超文本中的文字包含有可以链接到其它字段或者文档的超文本链接,允许从当前阅读位置直接切换到超文本链接所指向的文字。超文本的格式有很多,最常使用的是超文本标记语言,我们日常浏览的网页都属于超文本。超文本链接是一种全局性的信息结构,它将文档中的不同部分通过关键字建立链接,使信息得以用交互方式搜索。18.2 Web服务器安装和配置18.2.1 安装Web服务器软件包18.2.2 /etc/httpd/conf/httpd.conf文件详解18.2.3 Web服务器配置实例安装安装W
3、eb服务器软件包服务器软件包 安装httpd、httpd-tools和httpd-manual软件包。rootrhel#cd/run/media/root/RHEL-7.2 Server.x86_64/Packagesrootrhel Packages#rpm-ivh httpd-2.4.6-40.el7.x86_64.rpm rootrhel Packages#rpm-ivh httpd-tools-2.4.6-40.el7.x86_64.rpmrootrhel Packages#rpm-ivh httpd-manual-2.4.6-40.el7.noarch.rpm/etc/httpd/c
4、onf/httpd.conf文件详文件详解解 Apache服务器的主配置文件是/etc/httpd/conf/httpd.conf文件,该文件的内容由全局环境、主服务器配置和虚拟主机三部分构成。在/etc/httpd/conf/httpd.conf配置文件中,以“#”开头的行是注释行,它为用户配置参数起到解释作用,这样的语句默认不会被系统执行。全局环境设置全局环境设置 ServerRoot/etc/httpd设置Apache服务器的的根目录,也就是服务器主配置文件和日志文件的位置。PidFile/run/httpd/httpd.pid设置运行Apache时使用的PID文件位置,用来记录http
5、d进程执行时的PID。Timeout 60设置响应超时,如果在指定时间内没有收到或发出任何数据则断开连接,单位为秒。KeepAlive Off设置是否启用保持连接。On为启用,这样客户一次请求连接能响应多个文件;Off为不启用,这样客户一次请求连接只能响应一个文件。建议使用On来提高访问性能。MaxKeepAliveRequests 100 设置在启用KeepAlive On时,可以限制客户一次请求连接能响应的文件数量,设置为0将不限制。KeepAliveTimeout 5 设置在启用KeepAlive On时,可以限制相邻的两个请求连接的时间间隔,在指定时间内则断开连接。Listen 80设
6、置服务器的监听端口。IncludeOptional conf.d/*.conf设置将/etc/httpd/conf.d目录下的所以以conf结尾的配置文件包含进来。ExtendedStatus On设置服务器是否生成完整的状态信息,On为生成完整信息,Off为生成基本信息。User apache设置运行Apache服务器的用户。Group apache设置运行Apache服务器的组。主服务器配置设置(主服务器配置设置(1)ServerAdmin rootlocalhost设置Apache服务器管理员的电子邮件地址,如果Apache有问题的话,会发送邮件通知管理员。ServerName :80设
7、置Apache服务器主机名称,如果没有域名,也可以用IP地址。UseCanonicalName Off设置该参数为Off时,需要指向本身的链接时使用ServerName:Port作为主机名;若设置该参数为On时,则需要使用Port将主机名和端口号隔开。DocumentRoot/var/www/html设置Apache服务器中存放网页内容的根目录位置。Options Indexes FolloeSymLinks设置该参数值为Indexes时,在目录中找不到DirectoryIndex列表中指定的文件就生成当前目录的文件列表;设置该参数值为FolloeSymLinks时,将允许访问符号链接,访问不
8、在本目录内的文件。DirectoryIndex index.html设置网站默认文档首页名称。AccessFileName .htaccess设置保护目录配置文件的名称。TypesConfig/etc/mime.types指定负责处理MIME对应格式的配置文件的存储位置。主服务器配置设置(主服务器配置设置(2)HostnameLookups Off设置记录连接Apache服务器的客户端的IP地址还是主机名。Off为记录IP地址,On为记录主机名。ErrorLog logs/error_log设置错误日志文件的保存位置。LogLevel warn设置要记录的错误信息的等级为warn。Server
9、Signature On设置服务器是否在自动生成Web页中加上服务器的版本和主机名,On为加上,Off为不加上。Options Indexes MultiViews FollowSymLinks设置使用内容协商功能决定被发送的网页的性质。ReadmeName README.html当服务器自动列出目录列表时,在所生成的页面之后显示README.html的内容。HeaderName HEADER.html当服务器自动列出目录列表时,在所生成的页面之前显示HEADER.html的内容。虚拟主机设置虚拟主机设置 NameVirtualHost*:80设置基于域名的虚拟主机。ServerAdmin w
10、ebmasterdummy-设置虚拟主机管理员的电子邮件地址。DocumentRoot/www/docs/dummy-设置虚拟主机根文档目录。ServerName dummy-设置虚拟主机的名称和端口号。ErrorLog logs/dummy-error_log设置虚拟主机的错误日志文件。CustomLog logs/dummy-access_log common设置虚拟主机的访问日志文件。Web服务器配置实例服务器配置实例在公司内部配置一台Apache服务器,为公司网络内的客户端计算机提供能通过域名访问的Apache Web网站,具体参数如下。Apache服务器IP地址:192.168.0.
11、2。Web网站域名:。Apache服务器默认文档首页名称:index.html和index.htm。Apache服务器中存放网页内容的根目录位置:/var/www/html。Apache服务器监听端口:80。默认字符集:UTF-8。运行Apache服务器的用户和组:apache。管理员邮件地址:。18.3 访问Web服务器18.3.1 Linux客户端配置18.3.2 Windows客户端配置Linux客户端配置客户端配置 Mozilla Firefox是一款可以在Linux和Windows系统下都能安装和运行的浏览器,可以从互联网上分别下载Windows版本和Linux版本。如果希望在客户端
12、使用域名的方式访问Web网站,在客户端需要修改/etc/resolv.conf文件,指向DNS服务器,如下所示。nameserver 192.168.0.2Mozilla Firefox访问Web网站 Windows客户端配置客户端配置 在Windows 10系统中,打开Microsoft Edge浏览器,输入网址:http:/192.168.0.2访问Web网站。18.4 日志文件管理和分析18.4.1 配置错误日志18.4.2 配置访问日志配置错误日志配置错误日志 在Apache服务器运行过程中发生的各种错误都将记录在错误日志文件中,可以通过该文件获取错误信息并分析原因。在Apache服务
13、器的配置文件/etc/httpd/conf/httpd.conf中有以下两行内容,这说明了错误日志的保存位置以及当前错误日志的记录等级。ErrorLog logs/error_logLogLevel warn错误日志记录等级 紧急程度紧急程度等级等级描述描述1emerg出现紧急情况使得该系统不可用,如系统宕机2alert需要立即引起注意的情况3crit危险情况的警告4error除了emerg、alert和crit的其它错误5warn警告信息6notice需要引起注意的情况,但不如error和warn等级重要7info值得报告的一般信息8debug由运行于debug模式的程序所产生的信息配置访问
14、日志配置访问日志 在Apache服务器中记录着服务器所处理的所有请求,比如在什么时候哪一台客户端连接到Web网站访问了什么网页,这些都将记录下来。在Apache服务器的配置文件/etc/httpd/conf/httpd.conf中有以下这样内容,这说明了访问日志的保存位置以及访问日志的格式分类。LogFormat%h%l%u%t%r%s%b%Refereri%User-Agenti combined LogFormat%h%l%u%t%r%s%b common LogFormat%h%l%u%t%r%s%b%Refereri%User-Agenti%I%O combinedio CustomL
15、og logs/access_log combined访问日志参数 参数参数描述描述%h访问Web网站的客户端IP地址%l从identd服务器中获取远程登录名称%u来自于认证的远程用户%t连接的日期和时间%rHTTP请求的首行信息%s服务器返回给客户端的状态代码%b传送的字节数%Refereri发给服务器的请求头信息%User-Agenti客户机使用的浏览器信息18.5 Web服务器高级配置18.5.1 访问控制18.5.2 用户认证和授权18.5.3 虚拟目录访问控制访问控制 在Apache 2.4版本中,使用mod_authz_host模块来实现访问控制,其他授权检查也以同样的方式来完成。
16、旧的访问控制语句应当被新的授权认证机制所取代,即便Apache已经提供了mod_access_compat这一新模块来兼容旧语句。在Apache 2.4版本之前实现客户端访问控制,是使用Allow、Deny、Order指令做访问控制的,而在Apache 2.4版本使用Require指令来实现。默认在/etc/httpd/conf/httpd.conf配置文件中,有含有Require参数的内容,这些设置将控制指定目录的访问控制权限。访问控制指令 指令指令描述描述Require all granted 允许所有访问Require all denied 拒绝所有访问Require ip IP地址|网
17、络地址允许特定IP地址或网络地址访问Require not ip IP地址|网络地址拒绝特定IP地址或网络地址访问,not逻辑上表示非Require local允许本地访问Require host 域名|完全合格域名允许特定域名或完全合格域名访问Require not host 域名|完全合格域名拒绝特定域名或完全合格域名访问访问列表方式 控制形式控制形式描述描述all表示所有客户机域名表示特定域内的所有客户机,如完全合格域名(FQDN)表示指定完全合格域名的客户机,如IP地址可以指定完整的IP地址或者部分IP地址的客户机,如192.168.0.5或192.168.0网络地址/子网掩码指定网络
18、地址或者子网地址,如192.168.0.0/255.255.255.0网络地址/子网掩码(CIDR规范)指定网络地址或者子网地址,如192.168.0.0/24访问控制配置实例访问控制配置实例(1)允许所有客户端能访问Web网站,只有IP地址为192.168.0.5的客户端不能访问Web网站。(2)允许所有客户端能访问Web网站,只有完全合格域名为的客户端不能访问Web网站。(3)拒绝所有客户端访问Web网站,只有IP地址为192.168.0.5的客户端才能访问Web网站。(4)拒绝所有客户端访问Web网站,只有192.168.0.0/24网络的客户端才能访问Web网站。用户认证和授权用户认证
19、和授权 在Apache服务器中有基本认证和摘要认证两种认证类型。一般来说,使用摘要认证要比基本认证更加安全,但是因为有些浏览器不支持使用摘要认证,所以在大多数情况下用户只能使用基本认证。认证配置指令认证配置指令 指令指令指令语法指令语法描述描述AuthNameAuthName领域名称定义受保护领域的名称AuthTypeAuthType Basic或者Digest定义使用的认证方式AuthUserFileAuthUserFile文件名定义认证口令文件位置AuthGroupFileAuthGroupFile文件名定义认证组文件位置 Require指令使用格式指令使用格式 指令语法格式指令语法格式描
20、述描述Require user 用户名 用户名 给指定的一个或多个用户授权Require group 组名 组名给指定的一个或多个组授权Require valid-user给认证口令文件中的所有用户授权用户认证和授权配置实例用户认证和授权配置实例(1)创建访问目录(2)创建认证口令文件并添加用户(3)编辑/etc/httpd/conf/httpd.conf文件(4)重新启动httpd服务(5)客户端测试虚拟目录虚拟目录 在Apache服务器中,默认网站根目录是/var/www/html,所以可以将网站的网页内容存储在该目录中。如果网站内容不是存储在/var/www/html目录内,可以通过别名
21、方式创建虚拟目录。虚拟目录是为服务器硬盘上不在主目录下的一个物理目录或者其它计算机上的主目录而指定的好记的名称,或“别名”。因为别名通常比物理目录的路径短,所以它更便于用户输入。同时,使用别名还更加安全,因为用户不知道文件在服务器上的物理位置,所以无法使用该信息来修改文件。通过使用别名,还可以更轻松地移动站点中的目录。无需更改目录的URL,而只需更改别名与目录物理位置之间的映射。虚拟目录和文件物理位置 物理位置物理位置别名别名URL/var/www/html主目录(无)http:/ 配置Apache虚拟主机18.6.1 基于IP地址的虚拟主机18.6.2 基于TCP端口号的虚拟主机18.6.3
22、 基于域名的虚拟主机基于IP地址的虚拟主机如果在同一台服务器上使用多个IP地址来区分不同的Web网站,则必须为网卡绑定多个IP地址,并且给每个网站指派唯一的IP地址。在公司内部一台服务器上通过基于IP地址的虚拟主机方式配置两个Web网站,为公司网络内的客户端计算机提供Web服务,具体参数如下。(1)第一个Web网站网站根目录:/var/www/html/。网站首页:index.html。网站IP地址:192.168.0.3。(2)第二个Web网站网站根目录:/var/www/html/。网站首页:index.html。网站IP地址:192.168.0.4。基于TCP端口号的虚拟主机可以使用非标
23、准TCP端口号来创建用于站点开发和测试目的的唯一网站标识符。标准网站将默认的TCP端口80用于HTTP连接。由于TCP/IP端点是用IP地址(或相应名称)和端口号的组合来定义的,而使用非标准端口号配置网站可以给每个站点创建唯一的端点(或标识)。如果使用非标准TCP端口号来标识网站,则用户无法通过标准名或URL来访问站点。另外,用户必须知道指派给网站的非标准TCP端口号,以及在其Web浏览器地址栏中附加网站的名称或IP地址。在公司内部一台服务器上通过基于端口号的虚拟主机方式配置两个Web网站,为公司网络内的客户端计算机提供Web服务,具体参数如下。(1)第一个Web网站网站根目录:/var/ww
24、w/html/。网站首页:index.html。网站端口号:80。(2)第二个Web网站网站根目录:/var/www/html/。网站首页:index.html。网站端口号:8080。基于域名的虚拟主机基于域名的虚拟主机在一台服务器上创建多个Web网站的单位通常使用域名,因为这种方法不必使用每个站点的唯一IP地址。由于Web服务必须分配非页面缓冲池内存来管理每个IP地址的端点,使用域名的好处是可以避免由于使用唯一IP地址标识多个网站而引起的潜在性能降低。在公司内部一台服务器上通过基于域名的虚拟主机方式配置两个Web网站,为公司网络内的客户端计算机提供Web服务,具体参数如下。(1)第一个Web网站网站根目录:/var/www/html/。网站首页:index.html。网站域名:。(2)第二个Web网站网站根目录:/var/www/html/。网站首页:index.html。网站域名:。