• 1. 第4章 WWW服务器
    • 2. 目录4.1 Apache与Web服务器简介 4.1.1 Apache简介 4.1.2 Web服务器简介 4.2 Apache服务器相关配置简介 4.2.1 安装Apache服务器软件包 4.2.2 Apache软件包的安装位置 4.2.3 启动和关闭Apache服务器 4.2.4 测试Apache服务器 4.2.5 Apache配置文件简介
    • 3. 目录4.3 Apache服务器配置实例 4.3.1 基于单站点的自定义主页文件的配置与发布 4.3.2 基于多站点的虚拟主机的配置与发布
    • 4. 4.1 Apache与Web服务器简介4.1.1 Apache简介 Apache源于美国国家计算机安全协会(NCSA)的HTTP服务器,本来它只用于小型或试验的因特网网络,后来逐步扩充到各种UNIX系统中,尤其对LINUX的支持相当完美。 Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用,可以支持SSL技术,支持多个虚拟主机。经过多次修改,已成为世界上最流行的Web服务器软件之一,它可以运行在几乎所有的广泛使用的计算机平台上。
    • 5. 4.1 Apache与Web服务器简介支持实时监视服务器状态和定制服务器日志。 支持多种方式的HTTP认证。 支持服务器端口包含指令(SSI)及安 Socket层(SSL)。 支持最新的HTTP/1.1通讯协议。
    • 6. 4.1 Apache与Web服务器简介 在所有的Web服务器中,Apache占有绝对的优势,远远领先Microsoft的IIS。Apache以其强大的功能、优秀的性能一直成为建设网站首选的Web服务器。目前绝大多数的高科技实验室、大学以及众多的公司都采用Apache服务器Apache服务器有以下特性: 支持基于IP和基于域名的虚拟主机。 拥有简单而强有力的基于文件的配置过程。 支持通用网关接口。
    • 7. 4.1 Apache与Web服务器简介4.1.2 Web服务器简介    Web服务是因特网最主要的服务之一,即人们平常说的WWW服务。Web服务器是在网络中为实现信息发布、资料查询、数据处理、视频欣赏等多项应用而搭建的服务平台,它使得成千上万的用户通过简单的图形界面就可以访问各个大学、组织、公司的站点,获得最新的信息和各种服务。  Web的核心技术是超文本标记语言HTML和超文本传输协议HTTP。Web浏览器和服务器通过HTTP协议来建立链接、传输信息和终止链接。
    • 8. 4.1 Apache与Web服务器简介   Web浏览器将请求发送到Web服务器,服务器响应这种请求,将其所请求的页面或文档传给Web浏览器,浏览器获得Web页面并显示出来。    在最初的因特网上,网页是静止的,所谓静止就是指Web服务器只是简单地把存储的HTML文本文件及其引用的图形文件发送给浏览器。只有在网页编辑人员使用文件处理器和图形编辑器对它们进行修改后,它们才会发生改变。直到出现CGI、ISAPI、ASP、JSP和.NET等动态网站技术,Web服务器才可向浏览器发送动态变化的内容。常见的Web数据库查询、用户登记等都要用到动态网站技术。
    • 9. 4.2 Apache服务器相关配置简介4.2.1 安装Apache服务器软件包 对Apache服务器的安装,可以采用RPM软件包安装和源代码安装两种方式,另外也可以在LINUX的图形界面,利用软件包管理器来自动安装。 RPM软件包将配置文件和实用程序安装在固定位置,不需要编译;源代码安装需要先配置、编译,然后再安装,但可选择要安装的模块和安装路径。这里选用了RPM软件包的安装方式。
    • 10. 4.2 Apache服务器相关配置简介安装步骤: 1.查看系统中是否安装了Apache软件包的命令为:“rpm –q httpd” 2.如果没有显示任何信息,说明系统中并未安装相关软件包,则需手动安装。方法如下:
    • 11. 4.2 Apache服务器相关配置简介首先切换目录到/media/RHEL-5.3 i386  DVD/Server下; 运行命令:“cp httpd-2.2.3-22.el5.i386.rpm /tmp”,拷贝Apache软件包到/tmp目录下; 再将目录切换到“/tmp”下运行命令:“rpm -ivh httpd-2.2.3-22.el5.i386.rpm”进行解压安装 . 方法如下:
    • 12. 4.2 Apache服务器相关配置简介4.2.2 Apache软件包的安装位置  直接采用RPM软件包来安装Apache服务器,软件包会将Apache服务器的配置文件、日志文件和应用程序安装在固定的目录下. /etc/httpd/conf/httpd.conf //Apache服务器的配置文件 /etc/rc.d/init.d/httpd //Apache服务器的启动脚本文件
    • 13. 4.2 Apache服务器相关配置简介/var/www/html/ //Apache服务器默认的Web站点根目录 /usr/bin/ //Apache软件包提供的可执行程序安装在该目录下 /etc/httpd/logs/ //Apache服务器的日志文件(access_log和error_log)
    • 14. 4.2 Apache服务器相关配置简介4.2.3 启动和关闭Apache服务器 Apache RPM软件包安装后会自动在/etc/rc.d/init.d/目录下创建Apache服务器的启动脚本httpd,可使用以下方法来对Apache服务进行管理。 启动Apache服务器:service httpd start 重启Apache服务器:service httpd restart
    • 15. 4.2 Apache服务器相关配置简介停止Apache服务器:service httpd stop . 重新装载httpd.conf配置文件的内容,让修在不重启服务 器进程的情况下立即生效:service httpd reload. 启动Apache服务器的效果:
    • 16. 4.2 Apache服务器相关配置简介4.2.4 测试Apache服务器 Apache Web服务器启动成功后,在Red Hat Enterprise Linux 5的Mozilla Firefox浏览器中,键入http://127.0.0.1(或http://localhost)或者是本机IP地址,即可以看到Apache默认站点的内容了.  如下图所示:
    • 17. 4.2 Apache服务器相关配置简介
    • 18. 4.2 Apache服务器相关配置简介4.2.5 Apache配置文件简介 Apache配置文件“/etc/httpd/conf/httpd.conf”是包含了若干指令的纯文本文件,在Apache启动时,会自动读取配置文件中的内容,并根据配置指令影响Apache服务器的运行。配置文件改变后,只有在下次启动或重新启动后才会生效,几乎大部分的设置都需要通过修改该配置文件来完成。
    • 19. 4.2 Apache服务器相关配置简介 “/etc/httpd/conf/httpd.conf”文件的内容非常多,但大部分是注释内容,整个配置文件分为3个部分:全局环境(Global Environment)、主服务配置(‘Main’ Server Configuration)和虚拟主机(Virtual Hosts。用vi编辑器打开该文件后的效果:
    • 20. 4.2 Apache服务器相关配置简介
    • 21. 4.2 Apache服务器相关配置简介常规参数含义如下: ServerRoot :用来设置Apache的配置文件、错误文件和日志文件的存放目录,并且该目录是整个目录树的根节点。如果下面的字段设置中出现相对路径,那么就是相对这个路径,默认情况下根路径为“/etc/httpd”,可根据需要进行修改。(注意:ServerRoot后面设置的路径不能以反斜杠分隔) Timeout:用于设置接收和发送数据时的超时设置。默认时间单位是秒。如果超过限定的时间,客户端仍然无法接上服务器,则以短线处理。默认时间为120秒,可根据需要修改。
    • 22. 4.2 Apache服务器相关配置简介MaxClients:包含在容器当中的“MaxClients”字段用于设置同一时刻内最大的客户端访问数量,默认为256,对于小型的网站来说已经够用了,如果是大型的网站,可以根据需要修改。 ServerAdmin:设置WWW服务器的管理员的电子邮件地址,如果客户端在访问服务器时出现错误,就把错误信息返回给客户端的浏览器,为了让Web使用者和管理员取得联系所以在这个网页中通常包含有管理员的E-mail地址。
    • 23. 4.2 Apache服务器相关配置简介ServerName:可以设置服务器的主机名称,默认情况下是不需要指定这个参数的,为了方便Apache服务器可以识别自身的信息,就需要设置此参数了。服务器将自动通过名字解析过程来获得自己的名字,但如果服务器的名字解析有问题,或者没有正式的DNS名字,也可以在这里指定IP地址,必须注意的是,如果ServerName设置不正确,服务器是不能正常启动的。
    • 24. 4.2 Apache服务器相关配置简介DocumentRoot:设置服务器对外发布的超文本文档存放的路径,默认情况下,所有的请求由该目录的文件进行应答。虽然客户程序请求的URL会映射为这个目录下的网页文件,但是也可以利用符号链接和别名来指向到其他位置。
    • 25. 4.2 Apache服务器相关配置简介 DirectoryIndex:打开网站时所显示的页面是该网站的首页或叫主页。本字段用来设置默认文档类型。当用户使用浏览器访问服务器时,一般在URL中只给出一个目录名,却没有指定文档的名字,所以需要设置Apache服务器自动返回的文档类型。文档类型可以设置多个,它是按顺序进行搜索的,当然也可以指定多个文件名,同样是在这个目录下按顺序搜索。如果所有指定的文件都找不到,Apache默认的首页名称为“index.html”。
    • 26. 4.2 Apache服务器相关配置简介AddDefaultCharset:设置服务器的编码。默认情况下服务器编码采用UTF-8。而汉字的编码一般是GB2312,国家强制标准是GB18030。把本字段注释掉表示不使用任何编码,浏览器会自动检测当前网页所采用的编码,然后自动进行调整。对于多语言网站来说最好注释掉本字段。
    • 27. 4.3 Apache服务器配置实例4.3.1 基于单站点的自定义主页文件的配置与发布  假设当前用作Apache服务器的Red Hat Enterprise Linux 5系统的IP地址是“202.207.50.79 ”,并且已经在DNS服务器中给此IP成功注册域名“www.bgl.net”,下面要为该Apache服务器创建一个的主页文件index.html,然后在Mozilla Firefox浏览器中分别用IP和域名进行测试。
    • 28. 4.3 Apache服务器配置实例1. 创建主页文件“index.html”  将目录切换到Web服务器的站点根目录“/var/www/html”下,用vi编辑器创建主页文件“index.html”   主页文件“index.html”中输入内容:
    • 29. 4.3 Apache服务器配置实例2. 修改配置文件   “/etc/httpd/conf/httpd.conf” 3. 重启Apache服务器
    • 30. 4.3 Apache服务器配置实例4. 测试Apache服务器   打开Mozilla Firefox浏览器并在地址栏中输入Apache服务器的IP地址“202.207.50.79” ,可以看到自己创建的网页已成功发布
    • 31. 4.3 Apache服务器配置实例  由于已将Apache服务器的IP地址“202.207.50.79”映射为域名 “www.bgl.net”,所以同样可以通过域名来测试Apache服务器.
    • 32. 4.3 Apache服务器配置实例   上面的测试均是在服务器端(即VMware虚拟机下的Red Hat Enterprise Linux 5系统中)进行的,但作为一个应用在互联网上的服务器,必须通过客户端的测试才能证明其工作正常。在这里选择用宿主机器Windows XP作为客户端对Apache服务器进行测试。在宿主机器Windows XP中点击“开始”菜单下的“运行”,然后输入命令“cmd”进入命令行方式,通过“ping 202.207.50.79”和
    • 33. 4.3 Apache服务器配置实例 “ping www.bgl.net”命令分别测试Apache服务器(即VMware虚拟机下的Red Hat Enterprise Linux 5)的IP和域名是否畅通,如果畅通则可以作为客户端进行测试,否则说明Windows XP的DNS服务器设置错误,需要重新将其指定为有效的DNS服务器(即能为Apache服务器提供域名“www.bgl.net”)。在宿主机器Windows XP中点击“开始”菜单下的“运行”,然后输入命令“cmd”进入命令行方式,
    • 34. 4.3 Apache服务器配置实例 通过“ping 202.207.50.79”和“ping www.bgl.net”命令分别测试Apache服务器(即VMware虚拟机下的Red Hat Enterprise Linux 5)的IP和域名是否畅通. ,如果畅通则可以作为客户端进行测试,否则说明Windows XP的DNS服务器设置错误,需要重新将其指定为有效的DNS服务器(即能为Apache服务器提供域名“www.bgl.net”)。  畅通的效果为:
    • 35. 4.3 Apache服务器配置实例
    • 36. 4.3 Apache服务器配置实例  在宿主机器Windows XP的IE地址栏中输入测试的Apache服务器的IP地址“202.207.50.79”.如图所示:
    • 37. 4.3 Apache服务器配置实例  在宿主机器Windows XP的IE地址栏中输入Apache服务器的域名www.bgl.net.
    • 38. 4.3 Apache服务器配置实例4.3.2 基于多站点的虚拟主机的配置与发布    虚拟主机有两种:如果每个Web站点拥有不用的IP地址,则称为基于IP的虚拟主机;若每个站点的IP地址相同,但域名不用,则称为基于主机名的虚拟主机。    在实际应用中,由于IP地址资源的不足,所以通常采取后一种方案,而要建立基于主机名的虚拟主机,需要具备多个可以正确解析的域名,这便需要DNS服务器的支持。
    • 39. 4.3 Apache服务器配置实例1.在DNS服务器上注册所需的域名    在DNS服务器的区域配置文件“/var/named/chroot/var/named/zheng”(即用户自定义正向解析文件)中添加所需要的两个域名“www1.bgl.net”和“www2.bgl.net”,并将它们同时映射为Apache服务器的IP地址“202.207.50.79” 具体方法参照“第3章 DNS服务器”的相关内容。
    • 40. 4.3 Apache服务器配置实例修改DNS服务器的用户自定义反向解析文件“/var/named/chroot/var/named/fan”.
    • 41. 4.3 Apache服务器配置实例  其它部分参考“第3章 DNS服务器”的相关内容即可。设置完成后,重启DNS服务器,在终端窗口中分别测试刚刚注册的两个域名是否生效.
    • 42. 4.3 Apache服务器配置实例
    • 43. 4.3 Apache服务器配置实例2. 为虚拟主机创建站点根目录 分别为两个虚拟站点建立站点创建其站点根目录“/var/www/www1”和“/var/www/www2”.
    • 44. 4.3 Apache服务器配置实例
    • 45. 4.3 Apache服务器配置实例3. 为虚拟主机创建主页文件   将目录切换到虚拟主机“www1.bgl.net”的站点根目录“/var/www/www1”下,用“vi index.html”命令创建该站点的主页文件;同理,创建虚拟主机“www2.bgl.net”的主页文件.  如图所示:
    • 46. 4.3 Apache服务器配置实例虚拟主机“www1.bgl.net”的主页文件内容
    • 47. 4.3 Apache服务器配置实例虚拟主机“www2.bgl.net”的主页文件内容
    • 48. 4.3 Apache服务器配置实例4. 修改Apache服务器的主配置文件“/etc/httpd/conf/httpd.conf” 先将目录切换到Apache服务器的主配置  文件所在的目录“/etc/httpd/conf/”,然后用vi编辑器修改配置文件“httpd.conf”.
    • 49. 4.3 Apache服务器配置实例在“httpd.conf”文件的末尾添加如图所示的内容,先用“NameVirtualHost”指令指定虚拟主机的IP地址,然后添加了两个“”容器指令.分别指定了两个基于域名的虚拟主机,设置了它们的站点根目录和域名等信息。
    • 50. 4.3 Apache服务器配置实例
    • 51. 4.3 Apache服务器配置实例5. 重启Apache服务器  用“service httpd restart”命令重启Apache服务,使修改生效。
    • 52. 4.3 Apache服务器配置实例6. 测试虚拟主机  在本机上测试:打开“Mozilla Firefox”浏览,然后在地址栏中输入“www1.bgl.net。
    • 53. 4.3 Apache服务器配置实例在客户机上测试:利用宿主机器Windows XP作为客户机进行测试,打开Windows XP的IE浏览器,在地址栏中输入“www1.bgl.net”。在地址栏中输入“www2.bgl.net”.
    • 54. 4.3 Apache服务器配置实例在Windows XP的IE地址栏中输入“www2.bgl.net”.
    • 55. 4.3 Apache服务器配置实例测试时注意要将宿主机器Windows XP和虚拟机下的Red Hat Enterprise Linux 5的防火墙关闭。