《web服务器.ppt》由会员分享,可在线阅读,更多相关《web服务器.ppt(46页珍藏版)》请在优知文库上搜索。
1、第17章 Web服务器本章目标 Apache服务器介绍 安装和启动Apache服务器 配置Apache服务器 配置虚拟主机2Apache服务器介绍3Internet上最热门的服务WWWWWW中最受欢迎的服务器Apache谁在使用Apache Yahoo IBM Hotmail RedHat AApache的特性 支持服务器端脚本,如perl,php 支持用户主页 可扩展性 支持http1.1虚拟主机 支持代理服务器 支持SSL加密传输 高的系统响应能力这一章结束可以学到什么 配置一台简单的web服务器,并完成测试 为用户发布个人主页 配置虚拟主机的多种形式 解决Apache中的常见的安全问题4
2、配置基本站点5编辑Apache主配置文件,建立一个普通的Web站点,并在站点下生成测试页面index.htm,在Windows下用IE测试配置个人主页61、用Apache建立站点,站点根目录设在/var/下,在此目录下新建网页文件index.html,作测试用2、新建两个用户test1,test2,将用户的自家目录设为/home/username,密码采用明文密码123456,登录为/sbin/nologin3、为以上两用户test1,test2在其自家目录下分别建立个人主页目录public_html,并在此目录下建立一个index.htm,作测试用4、在Apache中作配置,使用户可以通过在
3、浏览器中输入:http:/ 来访问自己的个人主页 配置访问控制和认证授权7对网站的根目录/var/进行配置,实现基于客户IP的访问控制,使得只有来自192.168.1.0/24网段的计算机可以访问网站在服务器上的/var/目录下,创建一个members子目录,配置服务器,使用户test3可以通过密码访问此目录下的文件,而其他用户不能访问配置虚拟主机8配置基于不同IP的虚拟主机:为eth0绑定两个IP,并从两个IP上各发布一个网站用同一个IP实现基于端口号的多网站用同一个IP实现基于主机头的多网站配置符号链接/别名/重定向9在主站点的根目录下创建名为doc的符号链接文件到系统说明文档目录,配置A
4、pache的配置文件,使用户能使用 http:/ apache端口:80模块存放路径:/usr/lib/httpd/modulesPrefork MPM运行方式的参数: StartServers 8 MinSpareServers 5 MaxSpareServers 20 MaxClients 150 MaxRequestsPerChild 1000ServerRootServerRoot /etc/httpd ServerRoot用于指定apache服务器的配置文件及日志文件存放的根目录,默认为目录/etc/httpd 。12MaxKeepAliveRequestsMaxKeepAliveR
5、equests 100每次连接可提出请求的数量,设置为0表示数量不限,默认值为100。13KeepAliveTimeoutKeepAliveTimeout 15连续两个请求之间的时间如果超过15秒还未到达,则视为连接中断。14SpareServersMinSpareServers 5MaxSpareServers 20提供浏览服务的httpd进程的数目需要随连接数目的多少而变化,因此需要随时保持几个闲置的httpd进程等候新的连接请求。若闲置的进程数少于5个(默认值),则表示闲置进程太少,需要将其增加到5个;若多于20个(默认值)则表示闲置进程太多,需将其减少到20个。15StartServe
6、rsStartServers 8当apache服务器启动时,httpd进程的数目,默认值为8。16MaxClientsMaxClients 150同时接入的数目太多时会降低系统访问性能,设置此参数可限制同时连接的最大数值,默认值为150。17ListenListen 80Listen 8888Listen 6666用于设置apache服务器监听的端口18User & GroupUser apacheGroup apache设置httpd用哪个用户帐号和组来启动,默认使用apache用户和组。19ServerAdminServerAdmin rootlocalhost服务器管理员的邮件地址,当服
7、务器运行出错时将向此邮件地址发信。20ServerNameServerName localhost设置主机的名称,此名称会被送到远程连接程序,以取代安装Apache主机的真实名称。默认值是localhost,行首加#号,关闭此功能。21DocumentRootDocumentRoot /var/www/html“指定Apache服务器存放网页的文档根目录。22DirectoryIndexDirectoryIndex指令用于指定目录中默认的索引文件名称,可同时指定多个文件名称,两两之间用空格分割。默认值为index.html。实例:DirectoryIndex index.html index.
8、htm index.shtml index.php23UserDir24定义个人主页UserDir disable rootUserDir public_html禁止root使用自己的个人站点,其他人可以AliasAlias用于设置路径别名Alias /doc/ /usr/share/doc/给“/usr/share/doc/” 设置路径别名为“/doc/”25容器指令容器指令(container directive)通常包括在括号内,较容易识别。条件指令和不是容器指令,他们是例外。常用的容器指令有:26 设置“/”根目录的访问权限 Options FollowSymLinks AllowOv
9、erride None目录属性设置结束使用 设置指定目录的访问权限,其中可包含:OptionsAllowOverrideOrderAllow Deny五个属性。27Options属性Options FollowSymLinks Indexes MultiViewsOptions FollowSymLinks Indexes MultiViewsOptionsOptions可以组合设置下列选项:AllAll:用户可以在此目录中作任何事情。ExecCGIExecCGI:允许在此目录中执行CGICGI程序。FollowSymLinksFollowSymLinks:服务器可使用符号链接指向的文件或目录
10、。IndexesIndexes:服务器可生成此目录的文件列表。NoneNone:不允许访问此目录。28AllowOverrideAllowOverride NoneAllowOverride NoneAllowOverrideAllowOverride会根据设定的值决定是否读取目录中的. .htaccesshtaccess文件,来改变原来所设置的权限。AllAll:读取. .htaccesshtaccess文件的内容,修改原来的访问权限。NoneNone:不读取. .htaccesshtaccess文件为避免用户自行建立. .htaccesshtaccess文件修改访问权限,http.conf
11、http.conf文件中默认设置每个目录为: AllowOverride NoneAllowOverride None。29AccessFileNameAccessFileName AccessFileName filenamefilename AccessFileNameAccessFileName指令用于指定保护目录设定文件的文件名称,默认值为“. .htaccesshtaccess”。AccessFileName .htaccess AccessFileName .htaccess 30Allow设定允许访问Apache服务器的主机 Allow from all允许所有主机的访问 All
12、ow from 202.96.0.97 202.96.0.98允许来自指定IP地址主机的访问 Allow from 192.168.1.0/255.255.255.0 Allow from 192.168.1.0/24允许来自指定网段的计算机访问31Deny设定拒绝访问Apache服务器的主机Deny from all拒绝来自所有主机的访问Deny from 202.96.0.99 202.96.0.88拒绝指定IP地址主机的访问32OrderOrder allow,denyOrder用于指定allowallow和denydeny的先后次序。范例:Order deny,allowDeny fr
13、om allAllow from 202.96.0.97Order allow,denyAllow from allDeny from 202.96.0.9733容器包含只应用于指定文件的指令,文件应该由文件名(必要时使用统配符)指定。实例: Order allow,deny Deny from all34 容器包含只应用于特定URL的指令。实例:SetHandler server-statusorder deny,allowallow from 127.0.0.1deny from all35访问控制建立基于用户的访问控制Apache可以针对不同的目录或文件设定不同的口令文件,实现基于用户的
14、访问控制。建立基于主机的访问控制Apache也可以针对不同的目录或文件设定指定IP地址的主机可以(不可以)访问。36用户认证 采用文本方式存储认证信息 采用数据库方式存储认证信息 37采用文本方式存储认证信息实例:AuthName userauthAuthType BasicRequire valid-userAuthUserFile /etc/httpd/conf/.htpasswd定义目录“/home/auserdir”的用户认证。38AuthNameAuthName auth-domainAuthName指令对当前定义的认证区域进行命名,该名称会出现在浏览器客户端的用户认证对话框中,以标
15、识用户被认证的区域。如认证区域名称中包含空格需用“”括起。AuthName需与AuthType、Require、AuthUserFile一同使用。39AuthTypeAuthType BasicAuthType指令用于设置身份认证时传送密码的编码方式。设置为“Basic”时利用uuencode编码方式传送密码。AuthType需与AuthName 、Require、AuthUserFile一同使用。40RequireRequire指令用于设定可进行身份验证的用户。Require user 用户名 用户名 设置指定用户名的用户可通过身份验证访问区域。Require group 组名 组名 设置指
16、定组内的用户可通过身份验证访问区域。Require valid-user 设置所有合法用户可通过身份验证访问区域。41AuthUserFileAuthUserFile file-pathAuthUserFile指令用于设置验证用户身份的密码文件,该文件名需设置绝对路径。例如:AuthUserFile /etc/httpd/conf/.htpasswd密码文件是用htpasswd命令创建的。42htpasswd命令htpasswdhtpasswd指令用于创建密码文件和设置用户密码:htpasswd c 文件名 用户名创建密码文件并添加指定的用户。- -c c表示创建文件。例: htpasswd htpasswd c .htpasswd user1c .htpasswd user1htpasswd 文件名 用户名在指定的密码文件中添加指定用户的密码,如该用户已存在则修改用户密码。43AuthGroupFileAuthGroupFile 组文件路径AuthGroupFile指令用于设置提供用户验证的组文件。需与Require group 指令一同使用。指定的组文件为文本文件,每行定义一个组,