基于主机的访问控制【例3】设置例2中的/test虚拟目录,容许列举目录列表。(4)重新启动httpd网路服务。在顾客端看见的疗效图,如右图所示。基于主机的访问控制【例4】禁止对/test虚拟目录列举目录列表。(1)更改httpd.conf文件中于/dir1/test的目录容器,严禁列举目录列表。(2)重新启动httpd网路服务。在顾客端看见的疗效图,如右图所示。基于主机的访问控制【例5】设置/test虚拟目录linux网络服务器配置管理项目实训教程,只容许来自域和/24网关的用户访问。要实现此功能须要使用Order选项实现。Order用于定义缺省的访问权限与Allow和Deny句子的处理顺序。Order一般设置为以下两种值之一:Orderallow,deny:缺省严禁所有的顾客机访问,且Allow句子在Deny句子之前被匹配。假如某条件即匹配allow句子又匹配deny句子,则deny句子起作用。Orderdeny,allow:缺省容许所有的顾客机访问,且Deny句子在Allow句子之前被匹配。假如某条件即匹配allow句子又匹配deny句子,则allow句子起作用。基于主机的访问控制【例5】设置/test虚拟目录,只容许来自域和/24网关的用户访问。
(1)将/dir1/test目录的index.html1更名为index.html。(2)在httpd.conf文件中,作如下设置,并保存退出。(3)重新启动httpd服务。基于主机的访问控制顾客端的访问疗效:在域和1.0网关的顾客端看见的访问疗效在非域和1.0网关的顾客端见到的访问疗效基于主机的访问控制【例6】通过.htaccess文件,严禁对/test虚拟目录列举目录列表。.htaccess文件可以改变httpd.conf主配置文件中的配置,并且它只能设置对目录的访问控制。这个目录就是.htaccess文件储存的目录。在.htaccess文件中的配置将覆盖httpd.conf主配置文件中的配置,但它只有在Allowoverride的取值为非none时才生效。假如Allowoverride的取值为none,服务器将不会读取.htaccess文件的内容。基于主机的访问控制【例6】通过.htaccess文件,严禁对/test虚拟目录列举目录列表。(1)将该目录下的默认首页文件index.html更名为index.html1。(2)更改httpd.conf文件中容器的内容。
(3)在/dir1/test目录中,借助vi编辑器生成.htaccess文件,内容如下:(4)重新启动httpd服务。基于主机的访问控制【例6】通过.htaccess文件,严禁对/test虚拟目录列举目录列表。顾客端的访问疗效,如下所示。基于用户认证的访问控制用户身分认证是避免非法用户使用资源的有效手段,如今好多网站都使用用户身分认证来管理用户资源,对用户的访问权限进行严格限制。Apache服务器容许在主配置文件httpd.conf文件或.htaccess文件中对相应的目录进行强制口令保护。当用户访问那些受保护的站点时必须输入合法的用户名和密码能够登入。Apache服务通过AuthName、AuthType、AuthUserFile和AuthGroupFile四个指令和require命令设置认证访问控制。具体含意如表4和表5所示。基于用户认证的访问控制表4Apache服务的认证配置指令表5require指令的三种格式基于用户认证的访问控制【例7】对/test虚拟目录进行保护,只有输入合法的用户名和密码能够访问该目录。(1)更改httpd.conf文件中容器的内容,如下所示。
(2)借助htpasswd命令生成用户密码文件。并为kingma用户设置登陆密码。基于用户认证的访问控制【例7】对/test虚拟目录进行保护,只有输入合法的用户名和密码能够访问该目录。(3)重新启动httpd服务。(4)在顾客端浏览器的地址栏中输入“/test”,登陆界面如下左图所示。输入合法的用户名和密码以后的访问界面,如下下图所示。虚拟主机虚拟主机是指在一台Web服务器上,通过多个独立的IP地址、域名或端标语提供不同的Web站点。1.基于IP地址的虚拟主机。须要在服务器上绑定多个IP地址,之后配置Apache,把多个网站绑定在不同的IP地址上,访问服务器上不同的IP地址,就可以看见不同的网站。2.基于域名的虚拟主机。只需服务器有一个IP地址即可,所有的虚拟主机共享同一个IP,各虚拟主机之间通过域名进行分辨。3.基于端标语的虚拟主机。只需服务器有一个IP地址即可,所有的虚拟主机共享同一个IPlinux重启命令,各虚拟主机之间通过不同的端标语进行分辨。在设置基于端标语的虚拟主机的配置时,须要借助Listen句子设置所窃听的端口。1.基于IP地址的虚拟主机【例8】假设Apache服务器具有和两个IP地址。
现须要借助这两个IP地址分别创建2个基于IP地址的虚拟主机,要求不同的虚拟主机对应的主目录不同,默认文档的内容也不同。(1)分别创建“/var/www/ip2”和“/var/www/ip3”两个主目录和默认首页文件。1.基于IP地址的虚拟主机【例8】假设Apache服务器具有和两个IP地址。现须要借助这两个IP地址分别创建2个基于IP地址的虚拟主机,要求不同的虚拟主机对应的主目录不同,默认文档的内容也不同。(2)在httpd.conf文件中,设置基于IP地址的虚拟主机linux网络服务器配置管理项目实训教程,配置内容如下。(3)重新启动httpd服务。1.基于IP地址的虚拟主机【例8】假设Apache服务器具有和两个IP地址。现须要借助这两个IP地址分别创建2个基于IP地址的虚拟主机,要求不同的虚拟主机对应的主目录不同,默认文档的内容也不同。(4)在顾客端浏览器中见到的访问界面如图所示。2.基于域名的虚拟主机【例9】假设Apache服务器IP地址为。在本地DNS服务器中该IP地址对应的域名分别为和。现须要创建基于域名的虚拟主机,要求不同的虚拟主机对应的主目录不同,默认文档的内容也不同。
(1)分别创建“/var/www/mlx”和“/var/www/king”两个主目录和默认文件。2.基于域名的虚拟主机【例9】假设Apache服务器IP地址为。在本地DNS服务器中该IP地址对应的域名分别为和。现须要创建基于域名的虚拟主机,要求不同的虚拟主机对应的主目录不同,默认文档的内容也不同。(2)在httpd.conf文件中,设置基于域名的虚拟主机,配置内容如下。2.基于域名的虚拟主机【例9】假设Apache服务器IP地址为。在本地DNS服务器中该IP地址对应的域名分别为和。现须要创建基于域名的虚拟主机,要求不同的虚拟主机对应的主目录不同,默认文档的内容也不同。(3)重新启动httpd服务。(4)在顾客端见到的访问界面分别如图所示。3.基于端标语的虚拟主机【例10】假设Apache服务器IP地址为。现须要创建基于8000和8800两个不同端标语的虚拟主机,要求不同的虚拟主机对应的主目录不同,默认文档的内容也不同。(1)分别创建“/var/www/port8000”和“/var/www/port8800”两个主目录和默认文件。3.基于端标语的虚拟主机【例10】假设Apache服务器IP地址为。
现须要创建基于8000和8800两个不同端标语的虚拟主机,要求不同的虚拟主机对应的主目录不同,默认文档的内容也不同。(2)在httpd.conf文件中,设置基于端标语的虚拟主机,配置内容如下。3.基于端标语的虚拟主机【例10】假设Apache服务器IP地址为。现须要创建基于8000和8800两个不同端标语的虚拟主机,要求不同的虚拟主机对应的主目录不同,默认文档的内容也不同。(3)重新启动httpd服务。(4)在顾客端见到的访问界面分别如图所示。小结本章主要介绍了借助Apache服务构建Web站点的相关知识。主要包括Apache服务简介、Apache服务的主配置文件、用户个人主页、基于主机和用户认证的访问控制、虚拟主机等Web站点的创建。学习完本章的内容应才能借助Apache服务创建各类常见的Web站点。*中国水利水电出版社Linux网路服务器配置管理项目实训教程*主讲班主任XXX熟悉Apache服务的安装、启动与停止熟悉Apache服务主配置文件把握各类Apache服务器的配置方式把握虚拟主机的实现方式基于主机和认证的访问控制虚拟主机学习目标本章难点Apache简介Apache简介2007年10月,依据Netcraft公司的调查结果显示Apache是世界上排行第一的WEB服务器。
如右图所示:Apache简介Apache的特点:Apache具有跨平台性,可以运行在UNIX、Linux和Windows等多种操作系统上。Apache凭着其开放源代码的优势发展迅速,可以支持好多功能模块。利用这种功能模块,Apache具有无限扩充功能的优点。Apache的工作性能和稳定性远远领先于其他同类产品。Apache服务的安装、启动与停止Apache服务的安装、启动与停止1、Apache服务安装所须要的软件包:httpd-2.0.52-9.ent.i386.rpm:Apache2.0。httpd-manual-2.0.52-9.ent.i386.rpm:Apache2.0指南。httpd-suexec-2.0.52-9.ent.i386.rpm:准许Apache以root用户身分运行程序的软件包。system-config-httpd-1.3.1-1.noarch.rpm:Apache服务的图形化配置工具。Apache服务的安装、启动与停止2、Apache服务的安装:Apache服务的安装、启动与停止3、Apache服务的启动与停止:Apache服务的安装、启动与停止4、启动Apache服务以后的默认首页:Apache服务器的主配置文件全局环境配置主服务器配置虚拟主机配置Apache服务器的主配置文件Apache服务器的主配置文件是httpd.conf,该文件不分辨大小写,在该文件中以“#”开始的行为注释行。
不仅注释和空行外,其他行为指令。指令又分为类似于shell的命令和伪HTML标记。httpd.conf文件主要由以下三部份组成:全局环境配置主服务器配置虚拟主机配置全局环境配置(1)ServerTokensOS:当服务器响应主机头(header)信息时显示Apache的版本和操作系统名称。(2)ServerRoot"/etc/httpd":设置储存服务器的配置、出错和记录文件的根目录。(3)PidFilerun/httpd.pid:指定记录httpd守护进程的进程号的PID文件。(4)Timeout120:设置顾客程序和服务器联接的超时时间间隔。(5)KeepAliveOff:设置是否容许在同一个联接上传输多个恳求,取值为on/off。(6)MaxKeepAliveRequests100:设置一次联接可以进行的HTTP恳求的最大次数。(7)KeepAliveTimeout15:设置一次联接中的多次恳求传输之间的时间。(8)Listen8:80:设置Apache服务的窃听IP和端口。(9)LoadModule参数值:设置动态加载模块。
(10)Includeconf.d/*.conf:将由Serverroot参数指定的目录中的子目录conf.d中的*.conf文件包含进来,将要/etc/httpd/conf.d目录中的*.conf文件包含进来。主服务器配置(1)Userapache和Groupapache:设置运行Apache服务器的用户和组。(2)ServerAdminroot@localhost:设置管理Apache服务器的管理员的电邮地址。(3)ServerName:80:设置服务器的主机名和端口以标示网站。(4)DocumentRoot“/var/www/html”:设置Apache服务器对外发布的网页文档的储存路径。(5)Directory目录容器:Apache服务器可以借助Directory容器设置对指定目录的访问控制。(6)DirectoryIndexindex.htmlindex.html.var:用于设置网站的默认首页的网页文件名。(7)AccessFileName.htaccess:设置访问控制的文件名,默认为隐藏文件.htaccess。其他常用选项请见课本P197-P199页。
虚拟主机配置通过配置虚拟主机,可以在单个服务器上运行多个Web站点。虚拟主机可以是基于IP地址、主机名或端标语的。基于IP地址的虚拟主机须要计算机上配有多个IP地址,并为每位Web站点分配一个唯一的IP地址。基于主机名的虚拟主机,要求拥有多个主机名linux学习论坛,但是为每位Web站点分配一个主机名。基于端标语的虚拟主机,要求不同的Web站点通过不同的端标语窃听,这种端标语只要系统不用就可以。虚拟主机配置httpd.conf文件中关于虚拟主机部份的默认配置:NameVirtualHost*:80ServerAdminwebmaster@DocumentRoot/www/docs/ServerNameErrorLoglogs/-error_logCustomLoglogs/-access_logcommon各类Apache服务器的配置用户个人主页虚拟目录基于主机的访问控制基于用户认证的访问控制虚拟主机用户个人主页现今许多网站(比如,)都容许用户拥有自己的主页空间,而用户可以很容易地管理自己的主页空间。借助Apache服务可以实现用户的个人主页。
顾客端在浏览器中浏览个人主页的URL地址格式通常为:域名/~username。其中,“~username”在借助Linux系统中的Apache服务器来实现时,是Linux系统的合法用户名(该用户必须在Linux系统中存在)。用户的主页储存的目录由Apache服务器的主配置文件httpd.conf文件中的主要设置参数UserDir设定。用户个人主页httpd.conf文件中关于用户主页的储存目录及目录访问权限的设置:(1)设置Linux系统用户个人主页的目录。用户个人主页httpd.conf文件中关于用户主页的储存目录及目录访问权限的设置:(2)设置用户个人主页所在目录的访问权限。用户个人主页【例1】在IP地址为的Apache服务器中,为系统中的kingma用户设置个人主页空间。该用户的家目录为/home/kingma,个人主页空间所在的目录为public_html。(1)更改用户的家目录权限,使其他用户具有读和执行的权限。(2)创建储存用户个人主页空间的目录。用户个人主页【例1】在IP地址为的Apache服务器中,为系统中的kingma用户设置个人主页空间。
该用户的家目录为/home/kingma,个人主页空间所在的目录为public_html。(3)创建个人主页空间的默认首页文件。(4)更改httpd.conf文件中模块的内容将UserDir的值设置为public_html。将容器的注释符除去。用户个人主页【例1】在IP地址为的Apache服务器中,为系统中的kingma用户设置个人主页空间。该用户的家目录为/home/kingma,个人主页空间所在的目录为public_html。重新启动httpd服务。在顾客端的访问疗效,如右图所示。虚拟目录虚拟目录是一个坐落Apache服务器主目录之外的目录,它不包含在Apache服务器的主目录中,但在访问Web站点的用户看来,它与坐落主目录中的子目录是一样的。每一个虚拟目录都有一某些名,顾客端可以通过此别称来访问虚拟目录。在Apache服务器的主配置文件httpd.conf文件中,通过Alias指令设置虚拟目录。虚拟目录【例2】在IP地址为的Apache服务器中,创建名为/test/的虚拟目录,它对应的数学路径是“/dir1/test/”,并在顾客端测试。
(1)创建数学目录/dir1/test/。(2)创建默认首页文件。(3)更改默认文件的权限,使其他用户具有读和执行权限。虚拟目录【例2】在IP地址为的Apache服务器中,创建名为/test/的虚拟目录,它对应的数学路径是“/dir1/test/”,并在顾客端测试。(4)在httpd.conf文件,添加下边的句子:(5)重新启动httpd服务。顾客端的访问疗效,如右图所示。基于主机的访问控制有时可能须要将一些敏感的信息放在Internet/Intranet网路中,这时可以借助Apache的访问控制机制实现对敏感信息的保护。在httpd.conf文件中,有好多类似于…的容器,在每位容器中有options、Allowoverride、Limit等指令,它们都是和访问控制相关的。基于主机的访问控制表1Apache目录访问控制选项表2Options选项的取值基于主机的访问控制表3Allowoverride指令所使用的指令组基于主机的访问控制【例3】设置例2中的/test虚拟目录,容许列举目录列表。(1)在/dir1/test目录中创建测试目录subdir1和subdir2。(2)将该目录下的默认首页文件index.html更名为index.html1。(3)在httpd.conf文件中,添加/dir1/test的目录容器,容许列举目录列表。中国水利水电出版社Linux网路服务器配置管理项目实训教程*