Apache服务器的配置与管理本章主要内容:(1)Apache软件介绍;(2)Apache服务器安全和启动;(3)Apache服务器的配置;Web服务的工作原理Web服务使用超文本传输协议(HTTP),该协议是一个在TCP/IP协议基础上的应用程序级协议。工作原理如下图:Web客户端Web服务器客户端通过http命令请求一个文档客户端与Web服务器建立连接服务器找到文档后将文档传给客户端客户端通过浏览器显示文档客户端关闭与服务器的连接Web服务器软件NCSA:Web服务器的鼻祖,由美国伊利诺斯大学的国家超级计算机应用程序中心开发。Apache:开源项目http://:Microsoftlighttpd:轻量级Webmin服务器软件。SunOne:前身为Netscape的网页服务器当前主要web服务器当前主要web服务器Apache服务器Apache服务器的优势:能运行在多个平台上Unix,Windows和Linux和MACos等多种操作系统上;开源项目,功能强大,扩展性好。工作性能和稳定性比同类产品好。在吞吐量、客户连接数和出错率方面,Apache比其它产品性能优异查看Web服务器工具Curl工具:(1)获得Web服务器的系统信息curl-I(2)获得Web服务器的网页。curl服务器正常运行时间:服务的安装与Apache相关的软件包软件包名称功能描述httpd:Apache2.0手册Apache服务器程序httpd-manual:Apche的图形配置工具Systen-config-httpd:rpm–qa|grephttpdApache的主要文件和目录结构/etc/httpd///Apache的主要安装目录/etc/httpd/conf/httpd.conf//Apache的核心配置文件/etc/httpd/modules///Apache功能模块存放目录/etc/rc.d/init.d/httpd//Apache的启动脚本/usr/bin/htpasswd//建立http用户和设置用户口令Apache服务器管理/etc/rc.d/init.d/httpdstart//启动Apache或servicehttpdstart//启动Apacheservicehttpdstop//停止Apacheservicehttpdrestart//重启Apache温馨提示:启动Apache服务器后,用浏览器打开服务器所在IP或者本地用127.0.0.1,出现测试页面就表示正确安装;配置Apache服务器/etc/httpd/conf/httpd.conf是Apache服务器主配置文件,它由三部分组成:(1)全局环境:主要包括性能/资源设置;模块加载设置;监听端口和地址设置(2)主服务器配置:服务器身份设置;文档设置;目录容器设置;日志存储设置;默认字体语言设置;(3)虚拟主机设置项说明ServerRoot设置Apache服务器的根(Root)目录PidFile设置保存httpd服务器程序进程号(PID)的文件StartServers设置Apache服务器启动后产生多少个子进程负责处理客户机的连接Listen设置Apache服务器监听的网络端口号UserApacheGroupApache设置启动httpd子进程的身份。配置Apache服务器全局环境温馨提示:Apache2.0开始应用MPM(Multi-ProecessingMoudles多道处理模块),用户可以根据自己需要选择不同的核心模块。查看当前服务器的核心模块使用命令”httpd-l”配置Apache服务器主服务器环境设置项说明ServerAdmin设置Apache服务器管理员的E-mail地址ServerName主机名/IP:端口设置Apache服务器的主机名,通常用在虚拟主机里设置主机名。DocumentRoot设置站点的文档主目录(根目录)。DirectoryIndex设置站点主目录的默认网页或目录容器的默认网页。配置Apache服务器主服务器环境设置项说明DefaultLanguagezh-CN设置默认语言。zh-Cn为中文ErrorLoglogs/error.log设置Apache服务器中错误日志文件的路径和文件名CustomLoglogs/access.log设置Apache服务器中访问日志文件的路径和格式类型AddDefaultCharset设置默认字符集。中文为GB2312配置Apache的主服务器实训(1)配置主服务器的监听端口(Listen)为:8080和80(2)配置主服务器的站点主目录(DocumentRoot)为“/tmp/”(3)添加一个默认主页名default.html;(4)配置主服务器的默认字符集为简体中文(AddDefaultCharsetgb2312)(5)使用curl命令抓取一个中文网站的首页作为主服务器的首页;要求:从Windows主机上可以访问Apache搭建的Web服务器(包括从8080端口访问)。基于IP地址虚拟主机1、基于IP地址的虚拟主机VirtualHost172.16.100.251ServerName172.16.100.251ServerAdminweb1@163.comDocumentRoot“/tmp/”DirectoryIndexindex.htmlErrorLog“/tmp/”CustomLog“/tmp/”/VirtualHost基于IP地址虚拟主机1、基于IP地址的虚拟主机VirtualHost172.16.100.252ServerName172.16.100.252ServerAdminweb1@163.comDocumentRoot“/tmp/html/”DirectoryIndexindex.htmlErrorLog“/tmp/html/”CustomLog“/tmp/html/”/VirtualHost基于IP的Web站点实训在Apache服务器上配置两个Web站点,分别通过:http://你的IP地址(访问站点1)http://你的IP地址:8080(访问站点2)站点1:站点主目录为:/tmp/;默认文档为:index.html;ErrorLog日志保存在文件/tmp/中;CustomLog日志保存在文件/tmp/中;站点2:站点主目录为:/tmp/;默认文档为:default.html;ErrorLog日志保存在文件/tmp/中;CustomLog日志保存在文件/tmp/中;基于域名虚拟主机2、基于域名的虚拟主机VirtualHost172.16.100.253ServerName@163.comDocumentRoot“/tmp/vh1/html”DirectoryIndexindex.htmlErrorLog/tmp/vh1/html/logs/error-log.txtCustomLog/tmp/vh1/html/logs/acess-log.txtcombined/VirtualHostNameVirtualHost172.16.100.253基于域名虚拟主机2、基于域名的虚拟主机VirtualHost172.16.100.253ServerName@163.comDocumentRoot“/tmp/vh2/html”DirectoryIndexindex.htmlErrorLog/tmp/vh1/html/logs/error-log.txtCustomLog/tmp/vh1/html/logs/acess-log.txtcombined/VirtualHost基于域名的Web站点实训在Apache服务器上配置两个Web站点,分别通过:http://(访问站点1)http://(访问站点2)站点1:站点主目录为:/tmp/;默认文档为:index.html;网站服务器名:日志保存在文件/tmp/中;CustomLog日志保存在文件/tmp/中;站点2:站点主目录为:/tmp/;默认文档为:default.html;网站服务器名:日志保存在文件/tmp/中;CustomLog日志保存在文件/tmp/中;Apache服务器安全---身份验证对站点中日志目录的访问进行身份验证。区域设置---目录容器Directory“/tmp/”OptionsMultiViewsIndexesAllowOverridenoneOrderallowdenyAllowfromall/DirectoryApache服务器安全---身份验证身份验证的主要参数:①AuthName:用于设置提示字符串;②AuthType:用于设置认证类型;③AuthUserFile:用于设置验证时采用的用户口令文件及位置;④AuthUserFile:用于设置验证时采用的组文件及位置;⑤Requir:用于设置有权访问指定目录的用户;Apache服务器安全---身份验证创建访问Apache服务器的用户和密码:htpasswd-c/etc/httpd/htpasswduser01保存用户名和密码的文件用户名注意:如果保存用户名和密码的文件不存在需注意:如果保存用户名和密码的文件不存在需要加要加––cc的参数,已存在就不需要,否则会覆的参数,已存在就不需要,否则会覆盖原文件?盖原文件?htpasswd-c/etc/httpd/htpasswduser01身份验证实训为两个虚拟主机的日志目录实现身份验证:(1)Apache用户口令文件为:/etc/httpd/htpassword(2)添加两个用户:net-学号,name-学号到Apache的用户口令文件中;(3)对日志目录访问的提示信息为:“Pleaseinputpassword!!!”(4)对日志目录认证类型都使用Basic;(5)只允许用户“net-学号”访问/tmp/;只允许用户“name-学号”访问/tmp/,验证:访问虚拟主机的日志目录时出现验证框,使用相应用户可以访问日志目录,打开相应日志文件。区域设置---目录容器区域设置用到的主要参数:①Options:用于设置区域的功能;②AllowOverride:决定是否取消以前设置的访问权限;③Deny:拒绝访问该区域;④Allow:允许访问该区域;⑤Order:当Deny和Allow有冲突时,先执行Deny还是先执行Allow;⑥All:所有功能;配置目录容器目录容器的主要配置选项:Directory“/tmp/net2/html/owner”OptionsIndexsOrderallow,deny;Allowfrom172.16.100.254;/Directory配置目录容器---基于地址访问控制Allowfrom:(定义