1、Linux网络操作系统配置与管理,Linux网络操作系统配置与管理教材配套的光盘为师生双方提供了丰富的教学资源。主要包括:课程标准(教学大纲)、教学设计方案(教案)、PPT课件、项目习作参考答案、配套软件清单及下载地址、模拟试卷及评分标准和参考答案(4套)、网络管理员职责、相关认证考试介绍与往年试卷、知识拓展资料、网络工程案例与解决方案。教材主编:夏笠芹 出版社:,项目10 Apache Web服务器的搭建,【职业知识目标】了解: Web 的基本概念及工作原理;熟悉: Apache 服务器配置和管理方法;掌握: 虚拟目录的配置方法和过程;基于域名、IP地址和端口号的虚拟主机的配置方法,基于用户
2、和客户机地址的访问控制。【职业能力目标】会安装Apache 软件包会启动和停止Apache服务进程能配置和管理虚拟目录会配置管理基于域名、IP地址和端口号的虚拟主机会设置基于用户和客户机地址的访问控制会配置系统用户的个人主页空间,10.2 项目知识准备,Web服务简介Web服务的实现采用客户/服务器模型。客户机运行Web客户程序浏览器,它提供良好、统一的用户界面。浏览器的作用是解释和显示Web页面,响应用户的输入请求,并通过HTTP协议将用户请求传递给Web服务器。Web服务器一端运行服务器程序,它最基本的功能是侦听和响应客户端的HTTP请求,向客户端发出请求处理结果信息。Web服务系统由We
3、b服务器、客户端浏览器和通信协议三部分组成,如图10-1所示。,10.2 项目知识准备,Apache服务软件Apache服务器一个主要的特点是完全免费,并且完全公开其源代码,由此用户可根据自身的需要去进行相关模块的开发。跨平台性,其可在UNIX、Windows、Linux等多种操作系统上运行。如果需要创建一个每天有数百万人访问的Web服务器,Apache可能是最佳选择支持Perl、PHP、Python和Java等多种网页编程语言运行非常稳定具有相对较好的安全性 2012年6月Apache的市场占有率为64.33%Apache最初由Apache组织负责开发和维护http:/www.apache.
4、orghttp:/ Behlendorf,1995年,美国国家计算机安全协会(NCSA)的开发者创建了NCSZ全球网络服务软件。Apache是根据NCSA的服务器发展而来的,在发展初期,Apache主要是一个基于UNIX系统的服务器,它的宗旨就是建成一个基于UNIX系统的、功能更强、效率更高并且速度更快的WWW服务器,这就决定了它是从其他的服务器演变而来的,并且添加了大量补丁来增强它在某一方面的性能,所以它就被命名为“APACHy Server(一个补丁组成的服务器)”。Apache的开发遵循GPL协议(公开源代码,保证用户可以免费得到),由全球的志愿者一起开发和维护。在保持强大的功能及不断更
5、新的同时,它仍然是免费的,并且公开源代码。由此用户可根据自身的需要去进行相关模块的开发。Apache具有跨平台性,可在UNIX、Windows、Linux等多种操作系统上运行,可移植性极强。,10.2 项目知识准备,1995.92012.6各种Web服务器的市场占有率,10.2 项目知识准备,Apache安装方法利用RPM软件包安装RHEL5自带httpd-2.2.3 ,Apache版本的更新一般要快于Linux内核的更新,要下载新的Apache版本,可到网站下载:http:/ http:/www.apache.org利用源代码编译安装,任务10-1 Web服务器安装,10.3 项目实施,图8
6、-2 Apache网站下载画面,任务10-1 Web服务器安装,(1) 查询是否安装了Apache软件包# rpm qa | grep httpd如果输出显示了Apache软件包名称“httpd-2.2.3-31.el5” ,就说明已经安装了软件。(2) 检查是否运行了httpd进程。#ps ax | grep httpd 查看系统的进程(3)安装Apache软件包(RHEL5.5)# mount /dev/cdrom /mnt# rpm -ivh /mnt/Server/httpd-2.2.3-43.el5.i386.rpmwarning: /mnt/Server/httpd-2.2.3-4
7、3.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186error: Failed dependencies: libapr-1.so.0 is needed by httpd-2.2.3-43.el5.i386 libaprutil-1.so.0 is needed by httpd-2.2.3-43.el5.i386,任务10-1 Web服务器安装,以上显示说明:httpd-2.2.3-43.el5.i386.rpm包的安装依赖于以下两个包:apr-1.2.7-11.el5_3.1.i386.rpmapr-util-1.
8、2.7-11.el5.i386.rpm而apr-util-1.2.7-11.el5.i386.rpm包的安装又依赖于:postgresql-libs-8.1.18-2.el5_4.1.i386.rpm为此,要先安装依赖关系的包,再安装被依赖的包,其安装顺序如下: # rpm -ivh /mnt/Server/apr-1.2.7-11.el5_3.1.i386.rpm# rpm -ivh /mnt/Server/postgresql-libs-8.1.18-2.el5_4.1.i386.rpm# rpm -ivh /mnt/Server/apr-util-1.2.7-11.el5.i386.rp
9、m# rpm -ivh /mnt/Server/httpd-2.2.3-43.el5.i386.rpm# rpm -qa | grep httpdhttpd-2.2.3-31.el5因为Web服务要通过TCP协议的80端口对外通信,如果安装了防火墙,请停止iptables服务或者用以下命令打开Web服务的默认端口80 # iptables -I INPUT -p tcp -dport 80 -j ACCEPT,任务10-1 Web服务器安装,4Apache服务的运行管理 启动service httpd start 重新启动service httpd restart重新装载httpd.conf配
10、置文件的内容 service httpd reload关闭 service httpd stop设置自动启动 chkconfig -level 35 httpd on,任务10-1 Web服务器安装,5Apache服务的测试当确认Apache服务启动后,可以在浏览器里输入以下地址,若可看到默认首页,则工作正常。 http:/ip 或者 http:/127.0.0.1,输入回环地址:127.0.0.1,测试Apahce是否安装配置成功.显示羽毛网页表示成功.该页面实际在 /var/www/error下的名称为:noindex.html,可以自己建立一个网页测试Apahce:#echo“ Welc
11、ome to ! ”/var/www/html/index.html,任务10-1 Web服务器安装,任务10-2 认识Apache的目录和文件,1. Apache的主要目录和文件,任务10-2 认识Apache的目录和文件,2. 主配置文件简介配置文件是包含若干指令的纯文本文件:默认安装位于/etc/httpd/conf/httpd.conf若安装tar.gz版本位于/usr/local/apache/conf配置文件改变后, 重启后生效每一行包含一个指令,在行尾使用反斜杠“”可以表示续行,但是反斜杠与下一行之间不能有任何其他字符(包括空白字符)。配置文件由三个部分组成全局环境设置主要作为一
12、个整体来控制Apache服务器进程的标识 主(默认)服务器设置响应虚拟主机不能处理的请求。虚拟主机的设置配置不同IP地址、不同域名、不同端口号的多个站点,任务10-2 认识Apache的目录和文件,Apache配置文件的格式注释行第一个字符为“#”符号的指令行与shell命令类似的命令伪HTML标记。 Options FollowSymLinks AllowOverride All 与HTML不同,伪HTML标记必须各占一行,我们可以像上面那样把命令组成一组放在某个伪HTML标记中。在Apache配置文件中有很多类似这样的模块。输入如下命令:可去掉所有注释行,只显示指令行#grep v #“
13、/etc/httpd/conf/httpd.conf输入如下命令可以计算并显示文件包含的行数:# wc l /etc/httpd/conf/httpd.conf,任务10-2 认识Apache的目录和文件,httpd.conf中的全局配置,任务10-2 认识Apache的目录和文件,httpd.conf中的全局配置,任务10-2 认识Apache的目录和文件,httpd.conf中的全局配置(续)两类日志文件访问日志:/var/log/httpd/access_log该文件用于记录客户端访问Web服务器的事件,包括客户机的IP地址、访问服务器的日期和时间、请求的网页对象等信息错误日志:/var
14、/log/httpd/error_log该文件用于记录httpd服务器启动或运行过程中出现错误时的事件,包括发生错误的日期和时间、错误事件类型、错误事件的内容描述等信息除了Common Log Format(通用日志格式)以外,还可使用“combined”格式,即Combined Log Format(组合日志格式),这种格式可记录的信息比common更多一些,任务10-2 认识Apache的目录和文件,说明:(1) ServerRoot /etc/httpd用来设置服务器的根目录Apache配置文件和日志文件的基础目录。也就是和Apache服务器相关的文件的基础目录。(2) #ServerN
15、ame :80用于设置服务器的FQDN如果服务器的名字解析有问题(通常为反向解析不正确),或者没有正式的DNS名字,也可以在这里指定IP地址。,任务10-2 认识Apache的目录和文件,(3)#Listen 12.34.56.78:80 Listen 80 可以指定服务器除了监视标准的80端口之外,还监视其他端口的HTTP请求。Apache启动时,会绑定本机上的某些地址和端口,并等待请求进入。缺省情况下,它会监听本机的所有地址。但是,要监听指定的地址和端口或者某种组合,尤其是在使用虚拟主机,对不同的IP、主机名和端口作出不同响应时,则必须明确指出。 Listen指令告诉服务器接受来自指定端口
16、或者地址+端口的请求。如果Listen指令仅指定了端口,服务器会监听所有的地址;如果指定了地址+端口,则服务器只监听来自此地址和端口的请求。多个Listen指令,可以指定多个地址和端口例如:使服务器接受来自端口80和8000的请求,可以这样写:Listen 80Listen 8000 接受来自两个指定的地址+端口:Listen 192.170.2.1:80Listen 192.170.2.5:8000,任务10-2 认识Apache的目录和文件,(4) ServerAdmin rootlocalhost用于配置Web服务器的管理员的E-mail地址出现错误的条件下返回给浏览器,以便让Web使用
17、者和管理员联系,报告错误。习惯上使用服务器上的webmaster作为WWW服务器的管理员,通过邮件服务器的别名机制,将发送到webmaster 的电子邮件发送给真正的Web管理员(5)DocumentRoot /var/www/html定义网页文档存放的路径目录下的网页文件子目录符号连接文件和目录,任务10-2 认识Apache的目录和文件,(6)#ErrorDocument 错误号 所要显示的网页用于定义当遇到错误时,服务器将给客户端什么样的回应,通常是显示予设置的一个错误页面。ErrorDocument 400 /error / HTTP_BAD_REQUEST.html.var(7)Di
18、rectoryIndex index.html index.html.var用于设置站点主页文件的搜索顺序,各文件名间用空格分隔。排在前面的文件优先。如:DirectoryIndex index.php index.html index.html.var,任务10-2 认识Apache的目录和文件,(8) User Apache和Group Apache以上两行是分配给httpd的新用户的文件权限,出于安全的考虑把 它们的权限设置成为最低。 User和Group配置是Apache的安全保证,Apache在打开端口之后,就将其本身设置为这两个选项所设置的用户和组的权限然后进行运行,这样就降低了服
19、务器的危险性。这个选项也只用于 Standalone模式。缺省置为nobody和nogroup,这个用户和组在系统中不拥有文件,保证了服务器本身和由它启动的CGI 进程没有权限更改文件系统。(9)AddDefaultCharset UTF-8为发送出的所有页指定默认的字符集 。简体中文使用的字符集为GB2312,所以可以设为 :AddDefaultCharse GB2312,任务10-2 认识Apache的目录和文件,(10) ServerType standalone | inet定义服务器的启动方式standalone方式(独立方式,缺省值) 自身管理自己的启动进程,并驻留在主机中监视连接
20、请求。启动文件 /etc/rc.d/rc.local/init.d/apache中自动启动Web服务器,这种方式是推荐设置。 inet方式使用超级服务器inetd监视连接请求并启动服务器。当需要使用inetd启动方式时,便需要更改为这个设置,并屏蔽/etc/rc.d/rc.local/init.d/apache文件,以及更改/etc/inetd.conf并重起inetd,那么Apache就能从inetd中启动了。 两种方式的区别独立方式能立即启动服务器的多个副本,每个副本都驻留在内存中,一有连接请求不需要生成子进程就可以立即进行处理,对于客户浏览器的请求反应更快,性能较高 inet方式要由in
21、etd发现有连接请求后才去启动http服务器,由于inetd 要监听太多的端口,因此反应较慢、效率较低,但节约了没有连接请求时Web服务器占用的资源。只用于偶尔被访问并且不要求访问速度的服务器上。不适合http的突发和多连接的特性,因为一个页面可能包含多个图象,而每个图象都会引起一个连接请求,即使虽然访问人数造成教少,但瞬间的连接请求并不少,这就受到inetd性能的限制,甚至会影响由inetd启动的其他服务器程序。,任务10-2 认识Apache的目录和文件,2.性能配置命令(1)持续连接配置Timeout 300定义客户程序请求连接服务器的超时间隔,超过这个时间间隔(秒)后服务器将断开与客户
22、机的连接。KeepAlive On|off 启用或禁用持续的连接,设为On,以便提高访问性能。 MaxKeepAliveRequests 100用于在一次持续连接期间可以进行的HTTP请求的最大请求次数将其值设为0,将支持在一次连接内进行无限次的传输请求。事实上没有客户程序在一次连接中请求太多的页面,通常达不到这个上限就完成连接了。KeepAliveTimeout 15用于测试一次连接中的多次请求传输之间的时间(秒),如果服务器已经完成了一次请求,但一直没有接收到客户程序的下一次请求,在间隔超过了这个参数设置的值之后,服务器就断开连接,任务10-2 认识Apache的目录和文件,(2)控制Ap
23、ache进程StartServers 5用来设置httpd启动时启动的子进程副本数量这个参数与MinSpareServers和MaxSpareServers参数相关,都是用于启动空闲子进程以提高服务器的反应速度的。这个参数应该设置为前两个值之间的一个数值,小于MinSpareServers或大于MaxSpareServers都没有意义。,任务10-2 认识Apache的目录和文件,MinSpareServers 5MaxSpareServers 10MinSpareServers最少的空余子进程数量MaxSpareServers 最多的空闲子进程数量,多余的服务器进程副本就会退出。根据服务器的
24、实际情况来进行设置,如果服务器性能较高,并且也被频繁访问,就应该增大这两个参数的设置。对于高负载的专业网站,这两个值应该大致相同,并且等同于系统支持的最多服务器副本数量,也减少了不必要的副本退出。在使用子进程处理HTTP请求的Web服务器上,由于要首先生成子进程才能处理客户的请求,因此反应时间就有一点延迟。但是,Apache服务器使用了一个特殊技术来摆脱这个问题,这就是预先生成多个空余的子进程驻留在系统中,一旦有请求出现,就立即使用这些空余的子进程进行处理,这样就不存在生成子进程造成的延迟了。在运行中随着客户请求的增多,启动的子进程会随之增多,但这些服务器副本在处理完一次HTTP请求之后并不立
25、即退出,而是停留在计算机中等待下次请求。但是空余的子进程副本不能光增加不减少,太多的空余子进程没有处理任务,也占用服务器的处理能力,因此也要限制空余副本的数量,使其保持一个合适的数量,以便既能及时回应客户请求,又能减少不必要的进程数量。,任务10-2 认识Apache的目录和文件,MaxClients 150服务器支持的最多并发访问的客户数值设置得过大,系统在繁忙时不得不在过多的进程之间进行切换来为太多的客户进行服务,这样对每个客户的反应就会减慢,降低了整体的效率。值设置得较小,那么系统繁忙时就会拒绝一些客户的连接请求。当服务器性能较高时,可以适当增加这个值的设置对于专业网站,应该使用提高服务
26、器效率的策略,因此这个参数不能超过硬件本身的限制,如果频繁出现拒绝访问现象,就说明需要升级服务器硬件了。对于非专业网站,不太在意客户浏览器的反应速度,或者认为反应速度较慢也比拒绝连接好,也就可以略微超过硬件条件来设置这个参数。,任务10-2 认识Apache的目录和文件,MaxRequestsPerChild 30定义每个子进程处理服务请求的次数。缺省的设置值为30,这个值对于具备高稳定性特点的Linux系统来讲是过于保守的设置,实际上可以设置为1000甚至更高,设置为0时支持每个副本进行无限次的服务处理使用子进程的方式提供服务的Web服务,常用的方式是一个子进程为一次连接服务,这样造成的问题
27、就是每次连接都需要生成、退出子进程的系统操作,使得这些额外的处理过程占据了计算机的大量处理能力。因此,最好的方式是一个子进程可以为多次连接请求服务,这样就不需要这些生成、退出进程的系统消耗。 Apache就采用了这样的方式,一次连接结束后,子进程并不退出,而是停留在系统中等待下一次服务请求,这样就极大地提高了性能。 但由于在处理过程中子进程要不断地申请和释放内存,次数多了就会造成一些内存垃圾,就会影响系统的稳定性,并且影响系统资源的有效利用。因此在一个副本处理过一定次数的请求之后,就可以让这个子进程副本退出,再从原始的httpd进程中重新复制一个干净的副本,这样就能提高系统的稳定性。,任务10
28、-2 认识Apache的目录和文件,3.日志配置命令(1)ErrorLog logs/error_log用来指定服务器存放错误日志文件的位置和文件名(2)LogLevel warn用于设置记录错误日志中的详细程度(降序排列),任务10-2 认识Apache的目录和文件,(3) LogFormat 、CustomLogLogFormat用于定义日志文件的记录格式 ;有以下四种格式:LogFormat %h %l %u %t %r %s %b %Refereri %User-Agenti combinedLogFormat %h %l %u %t %r “ %s %b“ commonLogForm
29、at %Refereri - %U refererLogFormat %User-agenti“ agent日志格式主要用于指定要记录的信息以及彼此之间的排列顺序。# CustomLog logs/access_log common用于指定access_log日志文件的位置和日志记录的格式access_log日志文件用于记录服务器处理的所有请求。,任务10-2 认识Apache的目录和文件,4.容器与访问控制命令可以在容器指令内配置不同对象的各种访问控制 。容器指令的语法包括在括号内常用的容器指令有:,任务10-2 认识Apache的目录和文件,5.其他配置命令(1).htaccess文件该文
30、件中可放置一些配置命令,以作用于该文件所在的目录及其下的所有子目录该文件可位于多个目录中,以分别对这些目录进行控制。(2)Options命令用于控制在特定目录中将使用哪些服务器特性,通常用在容器中。命令的用法为:Options 功能选项列表,任务10-2 认识Apache的目录和文件,【例10-1】学校内部搭建一台Web主服务器,采用的IP地址为172.16.102.61,端口号为80,首页采用index.html文件,管理员E-mail地址为rootdyzx.edu,网页的编码类型采用UTF-8,所有网站资源都存放在/var/www/html目录下,并将Apache的根目录设置为/etc/h
31、ttpd目录。步骤1:修改主配置文件httpd.conf。,任务10-2 认识Apache的目录和文件,任务10-2 认识Apache的目录和文件,rootdyzx # vim /etc/httpd/conf/httpd.confServerRoot /etc/httpd/设置Apache的根目录为/etc/httpdTimeout 120/设置客户端访问超时时间为120秒Listen 80/设置httpd监听端口80ServerAdmin rootlocalhost/设置管理员E-mail地址为ServerName 172.16.102.61:80/设置Web服务器的主机名和监听端口为Doc
32、umentRoot /var/www/html/设置网页文档的主目录为/var/www/htmlDirectoryIndex index.html/设置主页文件为index.htmlAddDefaultCharset UTF-8/设置服务器的默认编码为UTF-8,步骤2:将制作好的网页文档存放在目录/var/www/html中,测试用首页建立如下:,rootdyzx # echo Welcome to德雅职业学校网站 /var/www/html/index.html,任务10-2 认识Apache的目录和文件,rootdyzx # service httpd restart,步骤3:重新启动h
33、ttpd服务。,步骤4:测试。在浏览器地址栏中输入“http:/172.16.102.61”,便可访问首页。,任务10-3 用虚拟目录为多部门建子网站,虚拟目录有以下优点。(1)便于访问。(2)便于移动站点中的目录。(3)能灵活加大磁盘空间。(4)安全性好。使用Alias选项可以创建虚拟目录。,任务10-3 用虚拟目录为多部门建子网站,【例10-2】在【例10-1】创建的学校Web网站的基础上,通过虚拟目录为“信息工程系”建立子站点,配置参数如表10-3所示。,步骤1:创建物理目录路径及虚拟目录默认首页文件,rootdyzx # mkdir -p /dyzx/xxgcrootdyzx # ec
34、ho Welcome to信息工程系主页 /dyzx/xxgc/index.html,任务10-3 用虚拟目录为多部门建子网站,rootdyzx # vim /etc/httpd/conf/httpd.conf/在文件末尾添加以下行Alias /xxgcx /dyzx/xxgc,步骤2:编辑主配置文件httpd.conf。,步骤3:若开启SELinux,则临时禁用。,rootdyzx # setenforce 0,步骤4:重新启动httpd服务。,rootdyzx # service httpd restart,步骤5:测试。在浏览器地址栏中输入“http:/172.16.102.61/xxg
35、cx”便可访问,任务10-4 使用虚拟主机实现一机多站,虚拟主机是在一台服务器上运行多个Web站点。三种设定虚拟主机的方式基于名称的虚拟主机只需服务器有一个IP地址即可,所有的虚拟主机共享同一个IP,各虚拟主机之间通过域名进行区分。 但需要新版本的HTTP 1.1浏览器支持。这种方式已经成为建立虚拟主机的标准方式。基于IP的虚拟主机需要在服务器上绑定多个IP地址,然后配置Apache,把多个网站绑定在不同的IP地址上,访问服务器上不同的IP地址,就可以看到不同的网站。 基于端口号的虚拟主机只需服务器有一个IP地址即可,所有的虚拟主机共享同一个IP,各虚拟主机之间通过不同的端口号进行区分。在设置
36、基于端口号的虚拟主机的配置时,需要利用Listen语句设置所监听的端口。,1.配置基于域名虚拟主机【例10-3】根据表10-3所示的配置参数,搭建域名不同的两个虚拟主机。 服务器IP地址:172.16.102.61两个虚拟主机的域名分别为:www. www. 站点根目录:/var/www/myweb1/var/www/myweb2/日志文件分别存放在:/var/vhlogs/myweb1/var/vhlogs/myweb2,任务10-4 使用虚拟主机实现一机多站,创建步骤: 注册虚拟主机所要使用的域名实现域名解析可以有两种方法:在客户机上通过修改/etc/hosts文件实现。这是一种比较简单的
37、方法,只需在/etc/hosts文件中加入下面两行172.16.102.61 www. 172.16.102.61 www. (2) 在DNS服务器上通过配置DNS实现。需要给每台虚拟主机创建一个CNAME。在var/named/named.hosts文件中加入如下两行:www. IN CNAME .www. IN CNAME 重启DNS后,可以用nslookup和ping命令来测试,命令如下:#nslookupset type=#ping www. #ping www. ,任务10-4 使用虚拟主机实现一机多站, 创建所需的目录和默认首页文件在/usr目录下创建四个目录,分别用来存放两主
38、机的网页和日志文件。操作如下:# mkdir -p /var/www/myweb1# mkdir -p /var/www/myweb2-p快速建立目录结构中指定的每个目录。echo “ this is s web!” /var/www/myweb1/index.htmlecho “ this is s web!” /var/www/myweb2/index.html编辑/etc/httpd/conf/httpd.conf配置文件,设置Listen侦听端口Listen 80,任务10-4 使用虚拟主机实现一机多站,在httpd.conf文件最后添加虚拟主机的定义:NameVirtualHos
39、t 172.16.102.209在httpd.conf文件最后添加以下两台虚拟机:ServerAdmin DocumentRoot /var/www/myweb1ServerName www. ErrorLog logs logs/myweb1 /error_logCustomLog logs/myweb1 /access_log common ServerAdmin DocumentRoot /var/www/myweb1ServerName www. ErrorLog logs logs/myweb2 /error_logCustomLog logs/myweb2 /access_log
40、 common ,任务10-4 使用虚拟主机实现一机多站, 重新启动httpd服务service httpd restart 切换到图形界面启动浏览器在地址栏键入各自的域名观察各自的页面能否显示在客户端看到的访问界面。,任务10-4 使用虚拟主机实现一机多站,2.配置基于IP地址的虚拟主机举例:为一块网卡绑定多个IP地址# cd /etc/sysconfig/network-scripts# cp ifcfg-eth0 ifcfg-eth0:0# vi ifcfg-eth0:0DEVICE=eth0:0IPADDR=172.16.102.121# ifdown eth0 /禁用网卡# ifup
41、 eth0:0 /启用网卡# ifup eth0注册虚拟主机所使用的域名#vi /etc/hosts增加两行:172.16.102.61 172.16.102.121 .,任务10-4 使用虚拟主机实现一机多站,创建web站点根目录和默认首页文件在/usr目录下创建2个目录,分别用来存放两主机的网页:# mkdir -p /var/www/ip2 /var/www/ip3#echo “ this is 172.16.102.61s web!”/var/www/ip2 /index.html# echo “ this is 172.16.102.121 s web!”/var/www/ip3/i
42、ndex.html编辑/etc/httpd/conf/httpd.conf配置文件,保证有以下Listen指令Listen 80,任务10-4 使用虚拟主机实现一机多站,配置虚拟主机 ServerName DocumentRoot /var/www/ip2 ServerName DocumentRoot /var/www/ip3,任务10-4 使用虚拟主机实现一机多站,测试重新启动httpd服务。切换到图形界面启动浏览器在地址栏键入各自的域名观察各自的页面能否显示。,任务10-4 使用虚拟主机实现一机多站,3.配置基于端口号的虚拟主机举例:假设服务器IP地址为172.16.102.61创建
43、基于8000和8800两个不同端口号的虚拟主机要求不同的虚拟主机对应的主目录不同,默认文档的内容也不同。 (1)分别创建两个主目录和两个默认文件。# mkdir /var/www/port1 /var/www/port2#echo “ this is port8000s web!”/var/www/port1 /index.html# echo “ this is port8800 s web!”/var/www/port2/index.html,任务10-4 使用虚拟主机实现一机多站,(2)在httpd.conf文件中,设置基于端口号的虚拟主机,配置内容如下。 Listen 8000 Lin
44、ten 8800 ServerName DocumentRoot /var/www/port8000 ServerName DocumentRoot /var/www/port8800(3)重新启动httpd服务。 (4)在客户端的访问。,任务10-4 使用虚拟主机实现一机多站,1.基于用户的访问控制【案例1】建立Web服务器,并根据以下要求配置Web服务器。(1)设置主目录的路径为/var/www/web。(2)添加index.jsp文件作为默认文档。(3)设置Apache监听的端口号为8888。(4)设置默认字符集为GB2312。(5)建立一个名为temp的虚拟目录,其对应的物理路径是
45、/usr/local/temp,并配置Web服务器允许该虚拟目录具备目录浏览和允许内容协商的多重视图特性。仅允许来自网络172.16.102.0/24客户机的访问。(6)建立一个名为private的虚拟目录,其对应的物理路径是/usr/local/private,并配置Web服务器对该虚拟目录启用用户认证,只允许用户名为abc和xyz的用户访问。,任务10-5 Web服务的访问控制,1.基于用户的访问控制,任务10-5 Web服务的访问控制,rootdyzx # mkdir /var/www/webrootdyzx # mkdir /usr/local/temprootdyzx # mkdir /usr/local/privaterootdyzx # htpasswd -c /etc/httpd/mycreatpwd abcrootdyzx # htpasswd /etc/httpd/mycreatpwd xyz,注意mycreatpwd的文件的权限,只需要设置成apaceh用户能访问就OK,而且尽可能不要放在网站的目录下,防止被下载。,