配置apache虚拟主机_第1页
配置apache虚拟主机_第2页
配置apache虚拟主机_第3页
配置apache虚拟主机_第4页
配置apache虚拟主机_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.:.;配置apache虚拟主机 经过以下文章:实现:同一ip不同端口对应不同的站点目录详细实现:1.在httpd.conf中,设置listen IP:80 listen IP:8080然后在virtualhost中设置:DocumnetRoot 1 DocumnetRoot 2 我们通常所说的虚拟主机url=javascript:;技术/url就是将一台或者一组效力器的资源系统资源、网络带宽、存储空间等按照一定的比例分割成假设干台相对独立的“小主机的技术。每一台这样的“小主机在功能上都可以实现 WWW、FTP、Mail等根本的Internet效力,就像运用独立的主机一样。 目前网站效力器的虚

2、拟主机平台运用以开放的Apache为最多,其次是微软的Windows IIS。Apache具有跨平台FreeBSD/Linux/Windows/Solaris/Other UNIX、易于维护与最正确平安性等优点。 Apache是率先支持基于IP虚拟主机的效力器之一。 Apache 1.1及其更新版本同时支持基于IP和基于主机名的虚拟主机,不同的虚拟主机有时会被称为基于主机(host-based) 或非IP虚拟主机(non-IP virtual hosts)。 用Apache设置虚拟主机效力通常可以采用两种方案:基于IP地址的虚拟主机和基于主机名字的虚拟主机,下面我们分别引见一下它们的实现方法以

3、及优缺陷。以便大家在详细的运用中可以选择最适宜的实现方法。 一、Apache实现基于IP地址的虚拟主机(每个站点拥有一个独立IP地址) 运用这种虚拟主机方式,首先要在效力器上为每个虚拟主机单独设置一个IP地址。这些IP地址可以经过添加多个网卡或者在一个网卡上设立多个IP地址来完成。有了多个IP地址后,可以采用以下两种方式之一来设置Apache。 1、为每个虚拟主机运转一份Apache 采用这种方式,每一份Apache程序可以以单独的用户运转,因此各个虚拟主机之间互不影响。设置这种虚拟主机时,只需为每一份Apache设置一套配置文件就可以了,独一需求留意的是:必需运用“Listen语句,强迫每一

4、份Apache 仅仅在属于“本人的IP地址上接纳效力恳求。 优点:各个虚拟主机之间互不干扰,平安性高。 缺陷:占用系统资源较多。 2、多个虚拟主机共享同一份Apache 采用这种方式,各个虚拟主机共享同一份Apache,因此各个虚拟主机之间有一定的影响,尤其是执行CGI程序时,能够会带来一些严重的平安问题。设置这种虚拟主机时,只需为每一个虚拟主机设置类似如下的信息即可: DocumentRoot /www/ghq1 优点:占用系统资源比上一种方式少。 缺陷:平安性低,每个虚拟主机依然需求占用一个IP地址。 例如效力器一个网卡上绑定有两个IP地址0和 0分别对应域名 ghq1和的效力,配置如下:

5、 效力器配置apache的配置文件httpd.conf Listen 80 DocumentRoot /www/ghq1 ServerName ghq1 DocumentRoot /www/ghq2 ServerName 配置简单阐明:“Listen默许httpd效力会监控第80号通讯端口, “Listen选项让用户自行指定apache 效力器监控的IP地址或通讯端口。 “DocumentRoot:指定apache 效力器存放网页的根目录;“ServerName:允许用户自行设置主机名,这个称号将被送到远程衔接程序,以取代安装apache 效力器主机的真实称号。和构成虚拟主机的语法构造,其中的

6、IP就是我们在效力器上绑定的不同的IP地址,也可以是IP地址加上通讯端口号见下面的例子。 假设效力器有两个IP地址0和 0分别对应域名 ghq1和。对每个域名,我们都希望在80端口和8080端口发布我们的网站。可以这样配置: 效力器配置apache的配置文件httpd.conf Listen 0:80 Listen 0:8080 Listen 0:80 Listen 0:8080 DocumentRoot /www/ghq1-80 ServerName ghq1 DocumentRoot /www/ghq1-8080 ServerName ghq1 DocumentRoot /www/ghq2

7、-80 ServerName DocumentRoot /www/ghq2-8080 ServerName 因此,建立虚拟主机,我们要做好不同的IP对应的域名解析url=javascript:;任务/url,建立相应的目录如/www/ghq1,将相应的主页内容存放在相应的目录中即可。二、Apache实现基于主机名的虚拟主机效力(一个IP地址实现多个网站) 基于主机名字的虚拟主机效力,是目前虚拟主机比较常用的一种方案。由于它不需求更多的IP地址,无须什么特殊的软硬件支持。而且如今的阅读器大都支持这种虚拟主机的实现方法。基于域名的的虚拟主机是根据客户端提交的HTTP头中的关于主机名的部分决议的。运

8、用这种技术,很多虚拟主机可以享用同一个IP地址。 基于域名的虚拟主机相对比较简单,由于我们只需求配置DNS效力器将每个主机名映射CNAMES到正确的IP地址,然后配置Apache HTTP效力器,令其辨识不同的主机名就可以了。基于域名的效力器也可以缓解IP地址IPV4缺乏的问题。这种方式下,各个虚拟主机共享同一份Apache,因此有CGI程序运转时,平安性也不高。 优点:只需一个IP地址就可以提供大量的虚拟主机效力。 缺陷:平安性差。维护这些虚拟主机时需求更改配置文件,并且需求重新启动Apache进程才干起作用。因此不适宜进展大规模的虚拟主机效力。 假设效力器只需一个IP地址,而在DNS中有很

9、多映射到这个机器。我们想要在这个机器上运转ghq1和 两个站点。在Apache效力器的配置中创建一个虚拟主机并不会自动在DNS中对主机名做相应更新。我们必需本人在DNS中添加域名来指向我们的IP地址。否那么他人是无法看到我们的web 站点。 效力器配置apache的配置文件httpd.conf # Ensure that Apache listens on port 80 Listen 80 # Listen for virtual host requests on all IP addresses NameVirtualHost * DocumentRoot /www/ghq1 Server

10、Name ghq1 # Other directives here DocumentRoot /www/ghq2 ServerName # Other directives here 由于*星号匹配一切的地址,所以主效力器不接纳任何恳求。由于 ghq1首先出如今配置文件中,所以它拥有最高优先级,可以以为是默许或首要效力器。这意味着假设一个接受的恳求不能与某个ServerName指令相匹配, 它将会由第一个VirtualHost所伺服。 当我们的IP地址无法确定的时候,运用*是很方便的-比如说, ISP给我们配置的是动态IP地址如ADSL拨号上网,而我们有运用了某种动态域名解析系统时。由于*匹配

11、任何IP 地址,所以在这样的情况下,不论IP地址如何变化,我们都不需求另外进展配置。上述配置就是我们在绝大多数情况下运用基于域名的虚拟主机时将要用到的。关于DNS和Apache本文档的涵义一言以蔽之就是:不要让Apache在解析配置文件的时候用到DNS。 假设Apache在解析配置文件时用到了DNS,您的效力器就会发生可靠性的问题(也能够根本无法启动), 或者遭致回绝(偷窃)效力攻击(包括用户可以从其他用户那里偷窃点击)。一个简单例如 回绝效力 main server地址 防止这些问题的小技巧 附录:进一步的提示 一个简单例如ServerAdmin webgirlabc.dom Documen

12、tRoot /www/abc 为了让Apache功能正常,一个虚拟主机绝对需求以下两部分的信息: ServerName和与效力器对应的至少一个IP地址。 这个例如没有包括IP地址,于是Apache必需用DNS来查询abc.dom的地址。 假设在某些不可预料的情况下,当您的效力器解析配置文件时没有得到DNS的支持, 那么这个虚拟主机 将不会被配置。 它将不会对任何恳求作出反响。(在Apache的1.2版本之前,效力器甚至无法启动)。假设abc.dom的IP地址是。那么看看以下这个配置片断:ServerAdmin webgirlabc.dom DocumentRoot /www/abc 如今Apa

13、che需求DNS对这个虚拟主机进展反向域名解析来确定ServerName。 假设反向解析失败,那么这将导致这个虚拟主机部分功能丧失。 (在Apache的1.2版本之前,效力器将不能启动)。假设虚拟主机是基于域名的, 它将完全不能运用,但假设它是基于IP的,那么它将很有能够任务。 然而,假设Apache不得不为一个曾经包含了效力器域名的效力器产生一个完好的URL, 那么它将能够产生一个无效的URL。以下是一个可以防止上述两个问题的配置片断.ServerName abc.dom ServerAdmin webgirlabc.dom DocumentRoot /www/abc 回绝效力回绝效力主要由

14、(至少)两种方式导致。 假设您在运转Apache 1.2以前的版本,在上述两种情况下,假设您的任何一个虚拟主机的DNS解析失败,您都会无法启动效力。在一些情况下,DNS解析甚至不在您的控制范围之内。 比如说,假设abc.dom是您的一个客户,而且他们本人控制着DNS。 那么仅仅是由于他们删除了abc.dom这个记录, 都会导致您的效力器(1.2之前的版本)无法启动。另外一种方式就更隐蔽了。比如说下面这个配置片断: ServerAdmin webgirlabc.dom DocumentRoot /www/abc ServerAdmin webguydef.dom DocumentRoot /ww

15、w/def 假设您曾经为abc.dom设定了,而为def.dom设定了。 更进一步,假设def本人控制DNS。在这种配置下, 您曾经把def放到了一个可以将一切指向abc 的一切流量据为己有的情况之下。为了到达这样的目的,他们只需求把def.dom的地址解析设置成就可以了。由于他们控制着本人的DNS效力, 所以您无法阻止他们把 def这个记录指向任何一个IP地址。然后,一切向发出的恳求 (包括用户一切类似http: /abc.dom/任何字符的URL) 都将会为def这个虚拟主机所接纳。 为了更好的了解着一切是怎样发生的, 您需求一个关于 Apache是怎样将进入的恳求分配给它的虚拟主机的深化

16、阐明。 您可以在这里发现一个完好的文档。main server地址在Apache 1.1 中,基于域名的虚拟主机支持 需求Apache知道运转着httpd的主机的IP地址。 普通来说可以用全局变量ServerName(假设存在) 或者调用C的方法gethostname(与在命令行方式下键入hostname得到的前往值一样)。 接着它就会利用DNS来查找这个地址。目前还没有方法防止这样的查找。假设您担忧这样的查找会由于您的DNS效力器没有启动而遭到失败的结果, 您就可以在/etc/hosts中插入一条记录来确定主机名 (此文件中应该曾经存在这条记录了,否那么您的机器无法正常启动)。 然后,您要确

17、认您的机器曾经配置为当DNS解析失败的情况下, 它将会运用/etc/hosts根据所运用的操作系统不同, 您能够需求在/etc/resolv.conf或/etc/nsswitch.conf 两个文件中选择一个进展编辑。假设您的效力器不用由于其他理由而运用DNS, 您也许不用在把HOSTRESORDER环境变量设置为 local的情况下运转Apache。 这都取决于您所运用的操作系统和解析库。假设您没有运用mod_env来控制环境变量,它还将影响到 CGI。剧烈建议您参考一下您所运用的操作系统附带的man协助 或FAQ。防止这些问题的小技巧在VirtualHost中运用IP地址 在Listen中

18、运用IP地址 确保一切的虚拟主机拥有显式的ServerName定义。 创建一个不包含任何效力页面的效力器 附录:进一步的提示涉及到DNS的情况都很让人不温馨。 在Apache 1.2 中,我们努力想让效力器在DNS解析失败的情况下至少坚持可以启动, 但能够我们还是没能做到最好。在当今重编号成了必需的Internet上面, 在配置文件中显式的写明IP地址曾经成为不合时宜的行为了。上述盗窃攻击的处理方法是, 在一个正向的DNS查询结果后部署一个逆向DNS解析并将两个域名进展比较。 假设不同,就禁用相应的虚拟主机。 这个方法需求一个正确配置了的逆向域名解析效力器 (由于FTP效力器和TCP封装进展的

19、“双重逆向DNS处置的普遍运用,这已为大部分管理员所熟知了)。在某些情况下,假设没有运用IP地址而DNS解析又失败了,那么正常启动一个基于域名的虚拟主机看来是不能够的。 一些诸如禁用部分配置文件这样的权宜之计会带来比根本不能启动更遭的不可预测的结果。随着HTTP/1.1的部署以及阅读器和代理效力器开场支持Host头,我们完全防止运用基于IP的虚拟主机也逐渐成为能够。 这种情况下,web效力器也不用在配置时进展DNS的查询。 但在1997年3月,这些特性的采用还没有广泛到可以在重要的web效力器运用的地步。uplinux/download/doc/apache/ApacheManual/dns-

20、caveats.htmluplinux/download/doc/apache/ApacheManual/mod/core.html和用于封装一组仅施用于特定虚拟主机的指令。任何在虚拟主机配置中可以运用的指令也同样可以在这里运用。当效力器接受了一个特定虚拟主机的文档恳求时,它会运用封装在配置段中的指令。地址可以是虚拟主机的IP地址; 虚拟主机IP地址对应的完好域名; 字符*,仅与NameVirtualHost *配合运用以匹配一切的IP地址;或是 字符串_default_,与基于IP的虚拟主机联用以捕获一切没有匹配的IP地址。 例如ServerAdmin webmasterhost.fooDo

21、cumentRoot /www/docs/host.fooServerName host.fooErrorLog logs/host.foo-error_logTransferLog logs/host.foo-access_logIPv6的地址必需放入方括号中指定,否那么作为可选项的端口号将无法确定。一个IPv6的例如如下:ServerAdmin webmasterhost.fooDocumentRoot /www/docs/host.fooServerName host.fooErrorLog logs/host.foo-error_logTransferLog logs/host.foo

22、-access_log每个虚拟主机必需对应不同的IP地址、端口号或是不同的主机名。在第一种情况下,效力器所在物理机器必需配置为可以为多个地址接受IP包。在机器没有多个网络硬件界面的情况下,假设您的操作系统支持,您可以运用ifconfig alias命令来到达这个目的。当运用基于IP的虚拟主机时,特殊的称号_default_可以在没有匹配上其它列出的虚拟主机的情况下作为匹配任何IP地址的虚拟主机。在没有进展 _default_虚拟主机的设定时,在没有IP与恳求匹配的情况下,将运用“主效力器包括一切在虚拟主机配置段之外的配置的配置。但请留意:任何匹配NameVirtualHost指令的IP地址既不

23、会运用main效力器配置,也不会运用_default_虚拟主机的配置。参阅基于域名的虚拟主机文档获得更多概略。您可以指定一个:端口来改动匹配的端口。假设没有指定,它将沿用主效力器中离它最近的那个Listen语句指定的值。您也可以指定:*来匹配那个地址上的一切端口。当您运用_default_时,这是引荐采用的方法。平安提示:参阅平安提示文档获得为什么当您存储url=javascript:;日志/url文件的目录对于启动效力器以外的用户来说是可写的会危及效力器平安的详细资料。留意:的运用不会影响到Apache侦听的地址。您也许需求运用Listen来确保Apache侦听着正确的地址。 本文有经典论坛

24、 剑气凌人 搜集整理为调试程序,本机安装iis与apache,无法同时运用80端口,现给出处理方法:方法一:IIS5,多IP下共存,IIS为,apache为 原文地址c:InetpubAdminscrptscscrpt adsutil.vbs set w3svc/disablesocketpooling true该命令反响如下disablesocketpooling : (BOOLEAN) True重启IISInetpubAdminscrptscscrpt adsutil.vbs set w3svc/disablesocketpooling true由于 DisableSocketPoolin

25、g 在 IIS 6.0 元url=javascript:;数据库/url架构 (MBSchema.xml) 中被定义为有效属性,所以,您依然可以运用 Adsutil.vbs 设置该属性,但这种设置不起作用。IIS 6.0 中的功能是新增的中心级别驱动程序 .sys 的一部分。要配置 .sys,您必需运用 Httpcfg.exe方法二:IIS6,多IP下共存,IIS为,apache为 原文地址到2003的CD下的 support/tools/Support.cab。解压出httpcfg.exe文件,COPY到windows/system32/目录下,用法本人看协助 命令行绑定到某IP: http

26、cfg set iplisten -i 即命令运用IIS的只监听指定的IP及端口查看绑定: httpcfg query iplisten 删除绑定: httpcfg delete iplisten -i 命令行net stop Apache2net stop iisadmin /ynet START Apache2net START w3svc保证iis下的ip设置为全局默许,Apache中httpconf设置listen :80,就应该可以两个效力同时运转,相互不冲突了。IIS的访问地址为http,Apache访问地址为http方法三:网上常用的单IP共用80端口方法,不过不引荐,只是运用Apac

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论