基于域名的(APACHE)虚拟主机实现

来源 :电脑知识与技术·学术交流 | 被引量 : 0次 | 上传用户:uf
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:针对大学中各学院网站无独立域名并搭载在同一台Web服务器上,提出了基于域名的APACHE Web应用服务系统的虚拟主机解决方案。通过对BIND域名应用软件及APACHE应用软件系统的配置提供虚拟主机服务,实现独立域名访问各学院网站。
  关键词:虚拟主机;独立域名
  中图分类号:TP302文献标识码:A文章编号:1009-3044(2008)27-1927-02
  
  The Realization of Virtual Host of APACHE Based on Domain Names
  WANG Wei-long
  (The Information Centre of Beilun High School, Ningbo 315800,China)
  Abstract: For the websites of all colleges of a university without the independent domain names carrying on the same Web server, the paper proposes the solution of virtual Host of the APACHE Web services application system based on domain names,which supplies the service of virtual Host by the configuration of BIND and APACHE, two application softwares, to achieve the aim of visiting the websites of the colleges by the independent domain names .
  Key words: virtual host; independent domain names
  
  1 引言
  
  在信息技术飞速发展的时代,Internet和WWW(World Wide Web)应用得已经非常广泛,Web服务质量的是影响用户网络使用的一个主要因素。APACHE软件在Web服务器应用中非常流行。大多数WEB服务器仅仅使用APACHE软件的基本功能,对于Internet用户强大的需求,显然全面挖掘APACHE软件的功能,提高网络服务质量也成为一个关键性问题。
  WEB服务器在网络应用过程中通常是几种软件配合使用,例如:APACHE、MYSQL和PROFTPD软件相结合实现各学院网站自主管理,统一发布。此种配置的WEB服务器可以实现网站的发布,但不具备各学院网站的独立域名,大部分用户在使用过程中不能直接访问,依靠超级链接进行访问。基于APACHE软件的WEB服务器可以利用软件本身的功能结合BIND软件,实现各学院站点的独立域名访问,本文的后续部分,将全面论述基于域名的APACHE软件实现虚拟主机的原理及方法。
  
  2 基于域名的虚拟主机
  
  虚拟主机(Virtual Host)是使用特殊的软硬件技术,把一台运行在因特网上的服务器主机分成一台台“虚拟”的主机,每一台虚拟主机都具有独立的域名或IP地址,具有完整的Internet服务器(WWW、FTP、Email等)功能。其主要优点:虚拟主机之间完全独立,并可由用户自行管理。
  基于域名的虚拟主机是指服务器上运行每一台虚拟主机都具有独立域名解析;运行主要原理是客户端在访问网络站点时所提交域名信息,通过DNS解析到相应的网络服务器,再由网络服务器检其HTTP头信息,由APACHE软件对HTTP头信息中的主机名进行查找,指向相对应的虚拟目录并提供主页访问服务。如图所示:
  
  基于域名的虚拟主机主要优点是:能够实现多个网络站点共享一个IP地址;多个虚拟站点可以共享一个数据库系统,同时方便管理员对虚拟主机数据库的维护。根据其原理,实现基于域名的虚拟主机主要解决两个问题,一是设计独立域名,更改DNS服务器的配置;二是在APACHE运行的WEB服务器上配置虚拟主机。
  2.1 DNS服务配置
  DNS服务在整个网络的运行过程中起着非常重要的作用,能够把域名解析为独立的IP地址,也可以把IP地址解析成域名。实现独立域名支持的虚拟主机需要在DNS服务器上更改相应的配置,当客户端进行DNS请求时,DNS服务器能够把域名解析成IP地址,以达到找到该主机的目的。一台WEB服务器上放置了多个网络站点并且都在一个域下,只是在主机中所处目录不同。例如:http://wxy.xxnu.edu.cn,http://jykxxy.xxnu.edu.cn 分别属于文学院和教育科学学院。两个学院的站点同在WEB服务器主机的wxy 和jykxxy目录下。DNS服务器就是让外部访问的域名能够指向WEB服务器。如何让各学院主页根据其域名来判断其主页位置由APACHE虚拟主机来完成。要完成各学院独立域名访问,首先,确定域名的格式,各学院以其目录名称为域名的最前端,例如:“文学院”对就目录“wxy”设置域名:http://wxy.xxnu.edu.cn,其它学院类推。其次,配置DNS服务器。DNS服务器主要配置文件都在/var/named目录下,DNS服务器完成的解析过程分为正向解析和反向解析,所要实现的独立域名,需要把这些域名和服务器上的一个IP地址建立映射关系。在正向解析文件中需要更改IN记录。修改/var/named/db.xxnu
  wxy.xxnu.edu.cn. IN A 192.168.0.180
  jykxxy.xxnu.edu.cn. IN A 192.168.0.180
  web.xxnu.edu.cn IN A 192.168.0.180
  这样完成了DNS服务器的配置,可以通过nslookup软件进行测试正向解析是否正确。
  #nslookup
  Default server: xxnu-ns.xxnu.edu.cn
  Address: 192.168.0.165
  >wxy.xxnu.edu.cn
  Server: xxnu-ns.xxnu.edu.cn
  Address:192.168.0.165
  Name: wxy.xxnu.edu.cn
  Address: 192.168.0.180
  2.2 WEB服务器基于名字简单虚拟主机配置
  APACHE服务器的提供WEB的服务,在一台WEB服务器存在一个WEB服务主目录,在主目录下存在多个子目录,每一个子目录都是一个学院的网站主目录。通常情况下,访问一个学院的主机链接:http://web.xxnu.edu.cn/jykxxy/index.htm 。前面已经在DNS服务器上的将域名(即目录名)前置,实现独立域名,即http://jykxxy.xxnu.edu.cn,便可以访问该学院的主页。基于服务器现在目录结构现状,利用APACHE的虚拟主机功能,实现各学院独立域名访问,即各个虚拟主机共享一个APACHE服务。这种设置的优点:仅使用一个IP地址即可实现大量虚拟主机的服务。缺点:在运行CGI服务时,安全性不高;修改配置后需要重新启动apache;这种方式不适合超过千台以上的虚拟主机服务。配置步骤如下:
  2.2.1 确定虚拟主机的虚拟目录
  根据WEB服务器目录结构现状不需要更改虚拟目录的指向。即/ftp/jykxxy对应域名虚拟主机网址是:http://jykxxy.xxnu.edu.cn。保证虚拟目录名称与所对应的域名保持一致,优点存在两方面:一方面APACHE自动虚拟主机解析到相应的虚拟目录;另一方面便于管理员进行维护,见域名知到其对应的虚拟目录。
  2.2.2 建立虚拟主机
  配置虚拟主机主要修改的httpd.conf文件。主要修改Section3:Virtual Hosts部分。初始文档中并没有配置虚拟主机,需要手工修改以下各项。
  NameVirtualHost 192.168.0.180
  
  ServerAdmin root@web.xxnu.edu.cn
  DocumentRoot /ftp/wxy
  ServerName wxy.xxnu.eud.cn
  

  
  ServerAdmin root@web.xxnu.edu.cn
  DocumentRoot /ftp/jykxxy
  ServerName jykxxy.xxnu.eud.cnt
  

  ServerAdmin root@web.xxnu.edu.cn
  站点管理员Email地址
  DocumentRoot /home/jykxxy
  教育科学学院虚拟主机站点根目录
  ServerName jykxxy.xxnu.edu.cn
  教育科学学院虚拟主机站点主机名(域名)
  两个学院的简单虚拟主机配置已完成,其它学院配置与教育科学学院相同,只需修改目录位置和虚拟主机站点主机名。
  2.2.3 WEB服务器的根目录虚拟主机配置
  /ftp目录也是提供WEB服务功能。必须为/ftp目录建立一个虚拟目录。
  
  ServerAdmin root@web.xxnu.edu.cn
  DocumentRoot /ftp
  ServerNameweb.xxnu.eud.cn
  

  2.3 WEB服务器基于名字大规模虚拟主机配置
  前面我们所阐述是的小数量的虚拟主机的配置。如果需要虚拟主机的数量超过一定量时(例如一万台)每个虚拟主机文件都要写到httpd.conf中,管理员的工作量增加,维护起来不方便,也很难实现。利用Apache 的URL重写功能,可以实现大规模虚拟主机的服务。
  2.3.1 URL重写功能
  APACHE本身具备URL重写(rewrite)功能。APACHE的重写功能,就是在apache接收到请求后,根据预先写要好的一系统列规则,对请求的URL进行规则修改,APACHE可以有效的分析URL的主机名,并查找到相应的虚拟主机,提供WEB服务。URL重写功能是一个非常复杂的过程。本文不对URL本身原理进行深放阐述,仅为应用。
  2.3.2 DNS服务器配置
  基本配置原理前边已讲过。例如:http://wxy.xxnu.edu.cn http://jykxxy.xxnu.edu.cn等等,各学院域名都对应同一台服务器192.168.0.180在写A记当时,可以将域名更改为*。*.xxnu.edu.cn INA192.168.0.180 即所有指向*.xxnu.edu.cn的域名均指向192.168.0.180这个web服务器。
  2.3.3 apache重写功能模块配置。
  修改httpd.conf 中关于rewrite部分的功能。
  RewriteEngine on
  RewriteMap lowercase int:tolower
  打开URL重写功能
  RewriteCond % !^/cgi-bin/
  确定CGI程序不进行重写,保证安全性
  RewriteCond $} !^web.xxnu.edu.cn(.*)$
  RewriteCond $} ^[a-z0-9-] .xxnu.edu.cn(.*)$
  WEB服务器主机域名web.xxnu.edu.cn不重写,其他URL名称重写
  RewriteRule ^(. ) $} [C]
  机器名改为小写,添加到请求的文件路径前,并继续处理
  RewriteRule ^([a-z0-9])([a-z0-9])([a-z0-9]).xxnu.edu.cn([.]*)/(.*)/member/$1$2/$2$3/$1$2$3/$5
  RewriteRule^([a-z0-9])([a-z0-9])([a-z0-9]*)([a-z0-9])([a-z0-9]).xxnu.edu.cn([.]*)/(.*) /member/$1$2/$4$5/$1$2$3$4$5/$7
  重写请求
  注意:在重写的规则中规主机名长度至少为3个字符或者数字。并且主机名中只能使用[a-z0-9]中的字母或者数字。
  2.3.4 配置虚拟主机
  采用URL重写的功能,目的就是为了减少对各个虚拟主机的配置,减少管理员的实际工作量。并且维护起来非常方便。
  NameVirtualHost 192.168.0.180
  
  ServerAdmin root@web.xxnu.edu.cn
  DocumentRoot /ftp/*
  ServerName *.xxnu.eud.cn
  

  
  3 总结
  
  基于名机的虚拟主机结合DNS服务,实现各学院的独立域名访问。技术要点主要体现在:对DNS服务器的正向域名解析配置;正确配置APAACHE的虚拟主机;有效的结合URL重定功能实现大规模虚拟主机的服务。通过服务器的正确配置和调整,方便了各学院的自主管理;WEB服务器的管理更规范化、简单化;更高效的为用户提供WEB服务。
  
  参考文献:
  [1] 虚拟主机知识[EB/OL].http://nc.tju.edu.cn/ncnew/n20.htm.
  [2] 技术论坛[EB/OL].http://www.chinaunix.net.
  [3] Pauul Albitz,Cricket Liu,著.雷迎春,陈世林,杨传军,译.DNS and BIND[M].3版.中国电力出版社,2001.1.
其他文献
编者按  如何用好统编本语文教材?这是当前乃至之后很长时间内教师们需要面对的问题。尤其是对于四至六年级的老师来说,不仅面临教材中很多新的教学内容,还要解决“新旧”教材之间的衔接问题。那么,除了了解教材的编写理念、框架等,在宏观上,我们应该以怎样的视角来看待统编本教材?在使用中应该遵循怎样的原则?具体到教学中,又应如何处理教材变化带来的教学内容和方法上的改变?有哪些具体策略?  本期,统编本教材总主
摘要:IP子网与VLAN都属于网络分组技术,两项技术既有相互联系,又有本质区别,在实际应用中各有千秋,本文从IP子网和VLAN的技术入手,归纳了这两项技术相同点和不同点,以及两项技术在实际组网中的应用。  关键词:IP子网;VLAN;技术;比较;应用。  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)08-1pppp-0c    1 IP子网技术及其作用    我们现
摘要:Java语言是高职高专院校进行程序设计教学的一门重要编程语言。结合高职高专的培养目标及Java语言的特点,本文从内容的安排、实例的选取、编程思想的培养、项目实训的有效开展等几方面对如何提高高职高专Java教学效果进行了探讨和研究。  关键词:高职高专;Java;教学   中图分类号:G642文献标识码:A文章编号:1009-3044(2008)09-11682-01    Research
摘要:C 程序良好的可移植性使得C 语言成为程序设计人员的首选工具语言,而保证这一特性必需使用标准化的C 编码。国内高校尤其是高职院校的教材中,存在着大量非标准化的C 程序,不利于培养具有标准化C 编程风格的学生。本文从C 发展史、教育工作者和教材规范化等多个角度出发,分析了这一问题产生的原因,并提出了相应的解决办法。  关键词:C 标准;可移植性;高等教育  中图分类号:TP311
摘要:本文主要介绍了嵌入式Linux内核以及在ARM平台下的编译与移植过程。  关键字:Linux 内核;移植;编译  中图分类号:TP311 文献标识码:A文章编号:1009-3044(2008)15-20000-00    Compile And Transplant The Embedded Linux Kernel Based on ARM2410  ZOU Qiu  (Computer
书名:教师的儿童研究引论  作者:王丽华  出版社:浙江大学出版社  出版时间:2017年  ISBN:9787308169868  定价:49元  在新时代教育改革的大背景下,立德树人作为教育的目标和方向,为素质教育带来了新的曙光,同时也对教师提出了更高的要求。近年来,以儿童研究为方向的教师整体发展研究开始受到关注,这一研究对当前的素质教育改革具有非常重要的意義。由王丽华著、浙江大学出版社于20
摘要:利用EXECL建立高效的成绩表处理是班主任在每次学生考试时都要面对的一个问题,该文通过一个具体成绩表的制作过程,重点阐述了如何在EXECL中处理特殊的单元格,以及综合利用公式和函数实现成绩录入表格后自动生成所需的成绩表。  关键字:EXECL;成绩表;公式;函数  中国图书分类号:TP317文献标识码:B文章编号:1009-3044(2008)24-1206-02  To Create a
摘要:该文在分析TD-SCDMA系统无线资源管理机制的基础上,对该系统的动态信道分配算法进行研究。首先对现有的TDD-CDMA系统中的各种动态信道分配算法进行分类总结和分析比较,并在此基础了给出针对TD-SCDMA系统的慢速信道分配算法、快速信道分配算法以及考虑空间分布信息的信道分配方案,阐明了各自的特点和适用范围。研究了在TDD CDMA系统中如何进一步提高信道利用率的问题。  关键词:TDD/
摘要:通過对Solaris基本的驱动规格的研究,介绍了Solaris下的设备驱动器和设备配置,比较了Solaris 10和linux2.6环境下设备驱动配置的异同。文章涉及的大部分内容可以在早期的版本中使用。  关键词:设备;设备驱动;Sun Solaris 10;Linux  中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)36-2801-04  Introducti
摘要:备份数据是一项重要的工作,有很多备份的方法和软件。该文介绍了Windows间利用cwRsync进行数据同步备份的具体方法。  关键词:cwRsync;同步;备份;SSH  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)23-1082-02  Window CwRsync Use to Achieve Data Synchronization between th