网络技术高级工程师专业RedHatLinux服务器操作系统教学目的与要求通过本节课的学习,您应学会:•掌握Apache的配置•掌握动态网页的实现•了解Apache的安装•难点:Apache服务器的配置•重点:掌握如何使用Apache架建Web平台。•关键词:Apache1、Web服务器简介Web系统是基于C/S模式的服务,运行http协议和Web服务器软件且能够为客户端提供Web服务的主机称为Web服务器。Web系统由web服务器和web客户端两部分构成,服务器端可以为客户端提供动态的,交互的超文本服务。Web服务器的基本概念•2、Web服务工作原理①Web浏览器使用HTTP命令向一个特定的服务器发出Web页面请求。②若该服务器在特定端口(通常是TCP80端口)处接收到Web页面请求后,就发送一个应答并在客户和服务器之间建立连接。③服务器Web查找客户端所需文档,若Web服务器查找到所请求的文档,就会将所请求的文档传送给Web浏览器。若该文档不存在,则服务器会发送一个相应的错误提示文档给客户端。④Web浏览器接收到文档后,就将它显示出来。⑤当客户端浏览完成后,就断开与服务器的连接。Web服务器的基本概念3、常见web服务器软件ApacheIISWeb服务器的基本概念4、Web服务特点:跨平台的图形化的分布式的动态的交互的Web服务器的基本概念Apache服务器开放源代码的Apache(阿帕奇)服务器起初由Illinois大学Urbana-Champaign的国家高级计算程序中心开发,后来Apache被开放源代码团体的成员不断地发展和加强。开始时,Apache只是Netscape网页服务器(现在是SunONE)的之外的开放源代码选择。渐渐地,它开始在功能和速度上超越其他Web服务器。由于Apache服务器拥有牢靠可信的美誉,因此从1995年1月以来,Apache一直是Internet上最流行的Web服务器。Apache服务器的安装•1、RHEL4第2张光盘•#rpm-ivh/media/cdrom/RedHat/RPMS/httpd-2.0.52-12.ent.i386.rpm。Apache服务器的安装2、测试Apache服务器执行“/etc/init.d/httpdstart”命令,确认Web服务已经启动后,在客户端使用的Web浏览器中输入Linux服务器的IP地址进行访问。相关文件/etc/httpd/conf/httpd.conf(Apache的核心配置文件)/etc/rc.d/init.d/httpd(Apache的启动脚本)/usr/sbin/apachectl(Apache的管理工具)/etc/httpd/modules目录(Apache模块存放目录)/etc/httpd/conf(存放httpd的配置子文件,httpd.conf会调用该目录中的文件)/usr/bin/htpasswd(建立http用户和设置用户口令).htaccess(存放目录的访问控制选项)httpd.conf配置文件主要由全局环境(Section1:GlobalEnvironment)、主服务器配置(Section2:'Main'serverconfiguration)和虚拟主机(Section3:VirtualHosts)3个部分组成。每部分都有相应的配置语句,该文件所有配置语句的语法为“配置参数名称参数值”的形式,配置语句可以放在文件中的任何地方,但为了增强文件的可读性,最好将配置语句放在相应的部分。httpd.conf中每行包含一条语句,行末使用反斜杠“\”可以换行,但是反斜杠与下一行中间不能有任何其他字符(包括空白)。httpd.conf的配置语句除了选项的参数值以外,所有选项指令均不区分大小写,可以在每一行前用“#”号表示注释。Apache服务器的配置Apache服务器的配置一、基本配置:1.设置主目录的路径DocumentRoot/var/.设置默认文档DirectoryIndexindex.htmlindex.html.var3.设置Apache监听的IP地址和端口号Listen804.设置相对根目录的路径ServerRoot/etc/httpd“5.设置日志文件(1)错误日志ErrorLoglogs/error_log(2)访问日志CustomLoglogs/access_logcombinedApache服务器的配置6.设置网络管理员的E-mail地址ServerAdminlindenstar@163.com7.设置服务器主机名称ServerName192.168.16.177:808.设置默认字符集AddDefaultCharsetUTF-8由于西欧(UTF-8)是Apache的默认字符集,因此当客户端访问服务器的中文网页时会出现乱码的现象,解决的办法是将语句“AddDefaultCharsetUTF-8”改为“AddDefaultCharsetGB2312”,然后重新启动Apache服务,中文网页就能正常显示了。Apache服务器的配置二、虚拟目录虚拟目录有以下优点。(1)便于访问。(2)便于移动站点中的目录。(3)能灵活加大磁盘空间。(4)安全性好。使用Alias选项可以创建虚拟目录。【例1】创建名为/down的虚拟目录,它对应的物理路径是“/software/download”。Alias/down/software/download“Directory/software/downloadOptionsIndexesMultiViewsAllowOverrideNoneOrderallow,denyAllowfromall/Directory目录特性选项命令说明Indexes允许目录浏览当客户仅指定要访问的目录,但没有指定要访问目录下的哪个文件,而且目录下不存在默认文档时,Apache以超文本形式返回目录中的文件和子目录列表(虚拟目录不会出现在目录列表中),如图7-8所示MultiViews允许内容协商的多重视图MultiViews其实是Apache的一个智能特性。当客户访问目录中一个不存在的对象时,如访问“”,则Apache会查找这个目录下所有a.*文件。由于icons目录下存在a.gif文件,因此Apache会将a.gif文件返回给客户,而不是返回出错信息AllAll包含了除MultiViews之外的所有特性,如果没有Options语句,默认为AllExecCGI允许在该目录下执行CGI脚本FollowSymLinks可以在该目录中使用符号连接Includes允许服务器端包含功能IncludesNoExec允许服务器端包含功能,但禁用执行CGI脚本Apache服务器的配置•三、用户认证1.建立口令文件#htpasswd-c/etc/httpd/mysecretpwdlinden•#htpasswd/etc/httpd/mysecretpwdtom•2.建立虚拟目录并配置用户认证Alias/mysecret/usr/local/mysecretDirectory/usr/local/mysecretAuthTypeBasicAuthNameThisisaprivatedirectory.PleaseLogin:AuthUserFile/etc/httpd/mysecretpwdRequireuserlindentom/DirectoryApache服务器的配置•四、虚拟主机1.虚拟主机的概述利用虚拟主机技术,可以把一台真正的主机分成许多“虚拟”的主机,从而实现多用户对硬件资源、网络资源共享,大幅降低了用户的建站成本。虚拟主机具有以下优点。(1)节约投资(2)节约维护费用(3)可以获得专业的维护而无需维护人员与昂贵的电源系统(4)拥有更加稳定的性能Apache服务器的配置•四、启动和停止Web服务•1.启动Web服务•/etc/init.d/httpdstart•2.停止Web服务•/etc/init.d/httpdstop•3.重新启动Web服务•/etc/init.d/httpdrestart•4.自动启动Web服务•如果需要让Web服务随系统启动而自动加载,可以执行“ntsysv”•命令启动服务配置程序,找到“httpd”服务,在其前面加上星号(*),•然后选择“确定”即可。Apache服务器的配置2.基于IP地址的虚拟主机VirtualHost192.168.16.201ServerName192.168.16.201:80ServerAdminweb1@163.comDocumentRoot/usr/:80ServerAdminweb2@163.comDocumentRoot/usr/服务器的配置3.基于域名的虚拟主机NameVirtualHost192.168.16.201VirtualHost@163.comDocumentRoot/usr/:80ServerAdminweb2@163.comDocumentRoot/usr/服务器的配置一、建立个人WEB站点(1)配置步骤①修改主配置文件,启用每个用户的WEB站点功能;②修改主配置文件,为每个用户的WEB站点目录配置访问控制。③建立个人WEB站点的根目录④更改用户主目录的权限Apache服务器的应用(2)配置实例:①修改httpd.conf#vi/etc/httpd/conf/httpd.conf修改以下内容:IfModulemod_userdir.cUserDirdisablerootUserDirpublic_html/IfModuleDirectory/home/*/public_html选项……/Directory注:去掉前面的“#”号即可DefaultLanguagezh_cnAddDefaultCharsetgb2312–②建立个人Web站点存放的目录#useraddtest#passwdtest#cd/home/test#mkdirpublic_html#cd..#chmod711test#cdtest/public_html#viindex.html–③启动服务#servicehttpdrestart测试文件语法错误:#apachectlconfigtest–④测试个人WEB站点地址/~用户名•二、用户认证配置要求:•在Apache服务器开辟个人