您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > Apache服务器配置与管理
第3讲Apache服务器配置与管理TheNumberOneHTTPServerOnTheInternet主要内容Web服务概述Apache服务器安装Apache服务器Apache服务器的基本配置使用Webalizer进行日志统计分析Web服务概述Web服务是Internet中最为重要的应用Web服务采用客户端/服务器模型客户端为浏览器,它提供了良好、统一的用户界面。浏览器的作用为解释和显示Web页面,响应用户的输入请求,并通过HTTP协议将用户请求传递给Web服务器Web服务器运行服务器程序,最基本的功能是侦听和响应客户端的HTTP请求,向客户端发出请求处理结果信息HTTP协议的默认端口为80Apache服务器从1996年4月以来,Apache已经成为Internet上最流行的Web服务器根据著名的Web服务器调查公司Netcraft的调查结果,截至2005年10月,Apache的市场占有率为69.89%,而同期IIS的市场占有率为20.55%Apache的优点跨平台。能运行在UNIX、Linux和Windows等多种操作系统平台上无限可扩展性。借助开放源代码开发模式的优势,全世界的许多程序员为Apache编写了许多功能模块工作性能和稳定性远远领先于其他同类产品安装Apache服务器查询系统是否安装了Apacherpm-qa|grephttpd如果没有安装,则插入RHEL4的第2张安装盘,运行如下命令进行安装rpm-vih/media/cdrom/Redhat/RPMS/httpd-2.0.52-19.ent.i386.rpm启动Apache服务器servicehttpdrestart或者/etc/init.d/httpdrestart测试Apache服务器注意:防火墙的配置Apache服务器的基本配置默认的配置文件信息http.conf文件的格式Web服务的基本配置个人目录创建虚拟目录设置目录权限用户认证虚拟主机配置页面重定向默认的配置文件信息主配置文件:/etc/httpd/conf/http.conf服务器的根目录(ServerRoot):/etc/httpd根文档目录(DocumentRoot):/var/访问日志文件:/etc/httpd/logs/access_log错误日志文件:/etc/httpd/logs/error_log模块存放路径:/etc/httpd/moduleshttpd.conf文件的格式httpd.conf配置文件主要由全局环境、主服务器配置和虚拟主机3个部分组成配置语句的语法格式:配置参数名称参数值Web服务的基本配置(1)主目录的路径(DocumentRoot)默认位置:/var/可以将需要发布的网页放在这个目录下默认文档在浏览器中,输入Web站点的IP地址或域名即显示出来的Web页面DirectoryIndexindex.htmlindex.htmindex.phpindex.html.var配置Apache监听的IP地址和端口号Listen80(在本机所有可用IP地址上监听TCP80端口)只监听IP地址为192.168.16.177的80端口和192.168.18.178的8080端口Listen192.168.16.17780Listen192.168.18.1788080Web服务的基本配置(2)设置相对根目录路径相对根目录通常是Apache存放配置文件、日志文件、模块文件等的地方。在默认情况下,相对目录为/etc/httpd,它一般包含conf和logs子目录ServerRoot“/etc/httpd”设置日志文件错误日志ErrorLoglogs/error_log(位于目录/var/httpd)访问日志CustomLoglogs/access_logcombinedWeb服务的基本配置(3)设置网络管理员的Email地址ServerAdminxiaoyk@mycorp.com设置Apache服务器自身的主机名ServerName192.168.100.222:80设置默认字符集AddDefaultCharsetGB2312(避免出现中文乱码)创建虚拟目录如果希望在主目录以外其他目录中进行网页发布,需要设置虚拟目录使用虚拟目录的特点便于访问便于移动站点中的目录能灵活加大磁盘空间安全性好,可设置不同的访问权限使用Alias选项创建虚拟目录Alias/icons/“/var/”Alias/ftp“/var/ftp”设置目录权限(1)可以使用Directory目录路径和/Directory为主目录或虚拟目录设置权限例子:Directory“/var/”OptionsIndexesMultiViewsAllowOverrideNoneOrderallow,denyAllowfromall/Directory设置目录权限(2)Options:定义目录使用哪些特性Indexes:允许目录浏览(通常应该禁用此功能)MultiViews:允许Contentnegotiation的多视图All:包含除了MultiViews之外的所有特性。如果没有Options语句,默认为AllExecCGI:允许执行CGI脚本FollowSymLinks:可以在该目录中使用符号链接AllowOverride:定义位于每个目录下的.htaccess(访问控制)文件中的指令类型出于效率和安全的原因,通常应该避免使用.htaccessAllowOverrideNone注意:为了让主目录允许目录浏览,需要删除/etc/httpd/conf.d目录下的welcome.conf文件,然后重启Apache。(这里不能将welcome.conf重命名为welcome2.conf,为什么?)设置目录权限(3)Order:设置默认的访问权限和Allow和Deny语句的处理顺序Orderallow,deny默认禁止所有客户端的访问,且Allow语句在Deny语句之前被匹配。如果某条件同时匹配Deny和Allow语句,则Deny语句起作用(Allow语句被覆盖)Orderdeny,allow默认允许所有客户端的访问,且Deny语句在Allow语句之前被匹配。如果某条件同时匹配Deny和Allow语句,则Allow语句起作用(Deny语句被覆盖)例1:允许所有客户端访问Orderallow,denyAllowfromall设置目录权限(4)例2:除了来自hacker.com域和IP地址为192.168.16.111的客户端外,允许其他所有客户端访问Orderdeny,allowDenyfromhacker.comDenyfrom192.168.16.111例3:仅允许来自网络192.168.16.0/24的客户端访问Orderallow,denyAllowfrom192.168.16.0/24设置目录权限(5)例4:仅允许来自网络192.168.16.0/24的客户端访问,但是IP地址为192.168.16.111的客户端除外Orderallow,denyAllowfrom192.168.16.0/24Denyfrom192.168.16.111对比如下的配置Orderdeny,allowAllowfrom192.168.16.0/24Denyfrom192.168.16.111上述3条语句实际上允许所有的客户进行访问用户认证(1)用户认证是保护网络系统资源的第一道防线,控制着所有登录并检查访问用户的合法性,其目标是仅让合法用户以合法的权限访问网络系统资源例子假设有一个名为myscret的虚拟目录,其对应的物理路径是/usr/local/myscret,现需要对其启用用户认证功能,只允许用户linden和tom访问用户认证(2)1.建立口令文件要实现用户认证功能,首先需要建立保存用户名和口令的文件Apache自带的htpasswd提供了建立和更新存储用户名、密码的口令文件的功能注意:口令文件必须放在不能被网络访问的位置,以避免被下载本例中将口令文件放在/etc/httpd目录下,文件名为mysecretpwdhtpasswd-c/etc/httpd/mysecretpwdlinden(c表示创建新文件)htpasswd/etc/httpd/mysecretpwdtom如果要删除用户,可以直接删除认证口令文件中相应的行用户认证(3)2.建立虚拟目录并配置用户认证①在Apache的主配置文件httpd.conf文件中,加入以下语句Alias/mysecret“/var/local/mysecret”Directory“/var/local/mysecret”AuthTypeBasicAuthname“Thisisaprivatedirectory.PleaseLogin”AuthUserFile/etc/httpd/mysecretpwdRequireuserlindentom#Requirevalid-user(授权给认证口令文件中的所有用户)/Directory②建立虚拟目录/var/local/mysecretmkdir/var/local/mysecretchcon-thttpd_sys_content_t/var/local/mysecret(激活SELinux时)echo“TestPage”/var/local/mysecret/index.html用户认证(4)2.测试用户认证①重启httpd服务servicehttpdrestart②在客户端浏览器中,测试虚拟目录用户认证(4)创建认证用户组添加认证用户adminhtpasswd/etc/httpd/mysecretpwdadmin创建认证组文件/etc/httpd/authgroup,内容如下administrator:adminmysecret:lindentom注意:在认证组文件中指定的用户名,必须先添加到认证口令文件中虚拟主机配置虚拟主机的优点基于IP的地址的虚拟主机基于域名的虚拟主机虚拟主机的优点节约投资节约维护费用可以获得专业的维护而无需维护人员与昂贵的电源系统拥有更加稳定的性能基于IP的地址的虚拟主机在服务器里绑定多个IP地址,然后配置Apache,把多个网站绑定到不同的IP上访问服务器上的不同IP地址,就可以看到不同的网站例子VirtualHost192.168.16.201ServerName192.168.16.201:80ServerAdminweb@163.comDocumentRoot“/usr/”DirectoryIndexindex.htmlErrorLoglogs/web1/error_logCustomLoglogs/web1/access_logcombined/VirtualHost基于域名的虚拟主机(1)场景例子假设Apache服务器的IP地址为192.168.100.222,所在的域为mycorp.com现需要使用域名abc.mycorp.com、yz.mycorp.com分别建立两台虚拟主机,每台虚拟主机都对应不同的主目录1.在域mycorp.com的DNS服务器的正向解析文件mycorp.com.zone中添加如下A资源记录abcINA192.168.100.222xyzINA192.168.100.222也可以在上述文件的最后直接添加如下的泛域名解析资源记录*.mycorp.com.INA192.168.100.222基于域名的虚拟主机(2)2.在Apache的主配置文件httpd.conf中,添加如下语句NameVirtualHo
本文标题:Apache服务器配置与管理
链接地址:https://www.777doc.com/doc-1577828 .html