Apache2基于域名的虚拟主机实现

合集下载

基于域名的_APACHE_虚拟主机实现

基于域名的_APACHE_虚拟主机实现
根据 WEB 服务器目录结构现状不需要更改虚拟目录的指向。即/ftp/jykxxy 对应域名虚 拟 主 机 网 址 是 : http://jykxxy.xxnu.edu.cn 。保证虚拟目录名称与所对应的域名保持一致, 优点存在两方面: 一方面 APACHE 自动虚拟主机解析到相应的虚拟目录; 另一方面 便于管理员进行维护, 见域名知到其对应的虚拟目录。 2.2.2 建立虚拟主机
httpd.conf 中, 管理员的工作量增加, 维护起来不方便, 也很难实现。利用 Apache 的 URL 重写功能, 可以实现大规模虚拟主机的服务。 ( 下转第 1952 页)
1928 网络通讯及安全
本栏目责任编辑: 冯蕾
Computer Knowledge And Technology 电脑知识与技术
1 引言
在信息技术飞速发展的时代, Internet 和 WWW( World Wide Web) 应用得已经非常广泛, Web 服 务 质 量 的 是 影 响 用 户 网 络 使 用 的一个主要因素。APACHE 软件在 Web 服务器应用中非常流行。大多数 WEB 服务器仅仅使用 APACHE 软 件 的 基 本 功 能 , 对 于 Internet 用户强大的需求, 显然全面挖掘 APACHE 软件的功能, 提高网络服务质量也成为一个关键性问题。
IS S N 1009- 3044 Computer Knowledge And Technology 电脑知识与技术 Vol.3,No.9,September 2008, pp.1927- 1928,1952
E- mail: info@cccc.net.cn http://www.dnzs.net.cn
http://wxy.xxnu.edu.cn, http://jykxxy.xxnu.edu.cn 分别属于文学院和教育科 学 学 院 。 两 个 学 院 的 站 点 同 在 WEB 服 务 器 主 机 的 wxy 和

Apache 虚拟主机的配置

Apache 虚拟主机的配置

Apache 虚拟主机的配置== 测试环境 ==* 操作系统:Ubuntu 5.10* 测试机地址:10.39.6.59* 测试机域名:*== 基本配置 ==我们都知道,如果我们想在单台机器上设置多个域名或主机名时,我们就要用到基于名称的虚拟主机了。

那么要如何进行设置呢?这就是本 HowTo 想解决的问题了。

在 Ubuntu 的 /etc/apache2/ 目录下有个 Apache2 的主配置文件 apache2.conf。

在该文件中我们可以看到有这么一行内容:代码:Include /etc/apache2/sites-enabled/[^.#]*这 行的意思表明该文件包含了 /etc/apache2/sites-enabled/ 目录中文件名不含 "." 或 "#" 这两个字符的所有文件。

而当我们列出该目录的文件时,发现只有一个 000-default 的软链接文件,实际连接的是 /etc/apache2/sites-available 目录中的 default 文件,不难看出该文件的文件名中并不包含 "." 或 "#"。

所以这个文件当然是要被配置文件 apache2.conf 所包含的了。

打开该文件,发现它其实是一个虚拟主机的配置文件,不过由于该文件中的虚拟主机为 *,所以它实际上是一个通用配置文件。

如果我们要建立虚拟主机的话,那么就要把该文件改成如下所示:代码:NameVirtualHost 10.39.6.59<VirtualHost 10.39.6.59>ServerName ServerAdmin ubuntu.firehare@DocumentRoot /var/www/<Directory />Options FollowSymLinksAllowOverride None</Directory><Directory /var/www/>Options Indexes FollowSymLinks MultiViewsAllowOverride NoneOrder allow,denyallow from all# This directive allows us to have apache2's default start page# in /apache2-default/, but still have / go to the right place# Commented out for Ubuntu#RedirectMatch ^/$ /apache2-default/</Directory>ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/<Directory "/usr/lib/cgi-bin">AllowOverride NoneOptions ExecCGI -MultiViews +SymLinksIfOwnerMatchOrder allow,denyAllow from all</Directory>ErrorLog /var/log/apache2/error.log# Possible values include: debug, info, notice, warn, error, crit,# alert, emerg.LogLevel warnCustomLog /var/log/apache2/access.log combinedServerSignature OnAlias /doc/ "/usr/share/doc/"<Directory "/usr/share/doc/">Options Indexes MultiViews FollowSymLinksAllowOverride NoneOrder deny,allowDeny from allAllow from 127.0.0.0/255.0.0.0 ::1/128</Directory></VirtualHost>下面我们来分析一下上面这段设置中与虚拟主机有关的设置语句:* NameVirtualHost 10.39.6.59:表示我们要做的是一个基于名称的虚拟主机,且其 IP 地址为 10.39.6.59* <VirtualHost 10.39.6.59> 和 </VirtualHost>:表示在其中的是一个虚拟主机的配置* ServerName :设置虚拟主机的域名* ServerAdmin ubuntu.firehare@:设置该虚拟主机网管员的邮件* DocumentRoot /var/www/:设置该虚拟主机的主目录路径* ErrorLog /var/log/apache2/error.log:设置该虚拟主机的出错信息* CustomLog /var/log/apache2/access.log combined:设置该虚拟主机的访问信息这样我们就配置了一个虚拟主机 。

Apache下的虚拟主机设置

Apache下的虚拟主机设置

Apache下的虚拟主机设置摘要:本文介绍了WWW服务器的虚拟主机的工作原理,讨论了在Apache WWW服务器下的各种虚拟主机、尤其是大规模虚拟主机的设置技术,并比较了各种方式的特点。

关键词:Apache WWW Virtual Hosting 虚拟主机一、WWW服务器虚拟主机原理WWW服务器虚拟主机是指使用一台物理机器,充当多个主机名的WWW服务器。

比如由一台机器同时提供, 等的WWW服务,而浏览这些WWW站点的用户感觉不到这种方式下跟由不同的机器提供不同的服务有什么差别。

使用WWW虚拟主机的好处在于,一些小规模的网站,通过跟其他网站共享同一台物理机器,可以减少系统的运行成本,并且可以减少管理的难度。

另外,对于个人用户,也可以使用这种虚拟主机方式来建立有自己独立域名的WWW服务器,目前国内有很多公司都提供这种免费的服务。

WWW虚拟主机有两种工作方式:1.1 基于IP地址的虚拟主机方式这种方式下,不同的主机名解析到不同的IP地址,提供虚拟主机服务的机器上同时设置有这些IP地址。

服务器根据用户请求的目的IP地址来判定用户请求的是哪个虚拟主机的服务,从而进一步的处理。

缺点:基于IP地址的虚拟主机方式需要在提供虚拟主机服务的机器上设立多个IP地址,既浪费了IP地址,又限制了一台机器所能容纳的虚拟主机数目。

因此这种方式越来越少使用。

但是,这种方式是早期使用的HTTP 1.0协议唯一支持的虚拟主机方式。

1.2 基于主机名的虚拟主机方式由于基于IP地址的虚拟主机方式有如上的缺点,HTTP 1.1协议中增加了对基于主机名的虚拟主机的支持。

具体说,当客户程序向WWW服务器发出请求时,客户想要访问的主机名也通过请求头中的“Host:”语句传递给WWW服务器。

比如,, 都对应于同一个IP地址(即由同一台机器来给这两个虚拟域名提供服务),客户程序要存取/index.html时,发出的请求头中包含有如下的内容:GET /index.html HTTP/1.1Host: …..WWW服务器程序接收到这个请求后,可以通过检查“Host:”语句,来判定客户程序请求是哪个虚拟主机的服务,然后再进一步的处理。

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

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

基于域名的(APACHE)虚拟主机实现作者:王伟隆来源:《电脑知识与技术·学术交流》2008年第27期摘要:针对大学中各学院网站无独立域名并搭载在同一台Web服务器上,提出了基于域名的APACHE Web应用服务系统的虚拟主机解决方案。

通过对BIND域名应用软件及APACHE应用软件系统的配置提供虚拟主机服务,实现独立域名访问各学院网站。

关键词:虚拟主机;独立域名中图分类号:TP302文献标识码:A文章编号:1009-3044(2008)27-1927-02The Realization of Virtual Host of APACHE Based on Domain NamesWANG 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 names1 引言在信息技术飞速发展的时代,Internet和WWW(World Wide Web)应用得已经非常广泛,Web服务质量的是影响用户网络使用的一个主要因素。

WinXP下Apache2.2.4与tomcat6、php5多应用共存的虚拟主机的配置

WinXP下Apache2.2.4与tomcat6、php5多应用共存的虚拟主机的配置

Windwos 下Apache2.2.4与tomcat6、php5多应用共存的虚拟主机的配置一、准备工作(1) 、下载tomcat 6.0(解压版)(2) 、下载apache2.2.4(3) 、php5(解压版)(4) 、jdk6(5) 、mysql-5.0.22-win32安装版假设相关工具都已经安装好。

注:此配置,apache 只负责分发,所有的请求都是tomcat 处理的,包括html等静态都由tomcat 处理。

二、安装工作(1)、安装jdk (会java都知道)(2)、将解压版php5解压到D盘(目录名为php5,我电脑上是这样的)(3)、安装apache2.2.4,将安装目录放到D盘(目录名为Apache2.2,我电脑上是这样的)(4)、将tomcat6解压到D盘三、配置Tomcat6与Apache2.2.4(1)、打开Apache2.2.4安装目录,找到conf 目录中的httpd.conf,打开此文件.找到文件中的#LoadModule proxy_module modules/mod_proxy.so#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so#LoadModule include_module modules/mod_include.so将此两行前面的“#”去掉,采用ajp代理(2)、找到DocumentRoot ,将后面的值设置为自己对应的目录(如:d:/www)。

这个地方,在配置php的时候要用到(3)、找到ServerName 修改为:ServerName localhost:80 (我是这样写的,IP也行)(4) 找到Directory (用UE打开在177行) 修改为<Directory "自己对应的目录d:/www"(5) 、找到DirectoryIndex 在后面加上index.php (这个地方可是为了php,其实可加可不加)(6)、然后引用虚拟主机配置文件。

虚拟机笔记

虚拟机笔记

基于域名的虚拟主机的配置我们想要想访问独立网站一样,访问我们的项目配置方法1,先找到apache主配置文件httpd.conf,地址是:apache安装目/conf/httpd.conf,搜索vhosts,找到Include conf/extra/httpd-vhosts.conf,将注释去掉。

2,再找到httpd-vhosts.conf在其中增加虚拟主机,<VirtualHost *:80></VirtualHost>其中*:80部分,应该与NameVirtualHost *:80 后的参数一致3,在配置的虚拟主机段中增加虚拟主机的配置,其中必要的:ServerName 主机域名DocumentRoot "e:/htdocs/five" 主机地址完成了以上三步,完成服务器端的配置,重启apache使之生效。

修改配置文件后,可以使用apache/bin/httpd.exe -t来测试一下apache配置文件的语法是否有问题4,找到C:\WINDOWS\system32\drivers\etc\hosts文件,在其中增加配置,让我们的浏览器能够找到我们所配置的域名所在服务器。

增加127.0.0.1 ,其中ip是服务器所在ip,本地就是127.0.0.1。

域名是在服务器上配置的主机的serverName完成以上4步,我们的浏览器,就可以找到我们域名了。

下面我们要看出现了什么问题,针对性的解决。

如果出现的是权限问题,我们可以使用directory指令设置目录参数,包括权限指令Order deny,allowAllow from all 大家需要将此行代码加入到directory指令的空间中,让我们的目录允许来自于所有地方的请求如果直接请求目录还是403,但请求目录下的php文件不是403,可以看到。

说明我们的目录设置不允许用户以目录索引的方式,显示。

解决方法如下,在directory段中增加options +indexes操作,代表允许显示目录索引。

apache2.4.7虚拟主机配置

apache2.4.7虚拟主机配置

apache2.4.7虚拟主机配置
在网上找了好多关于apache2.4.7虚拟主机配置的问题,都没找到确切的答案,经过我自己的摸索终于找到了解决方案。

1.打开apache->conf->extra->httpd-vhost.conf文件。

2.按照模板复制一个虚拟主机配置
例如:
这里要配置好你存放的文件目录。

和你设置的访问域名。

3.配置apache->conf->httpd.conf配置文件
如果你用的不是默认的80端口需要增加listen
例如:
增加的listen地址要与虚拟主机配置保存一致
3.更改httpd.conf中的虚拟主机配置
要将虚拟主机访问的地址与之前的保持一直,红色框框内就是需要更改的地方。

最后一个代表让所有人访问,当然本机的话只能是局域网。

把只能让本机访问那个注释掉。

4.引入虚拟主机,同样是在httpd.conf配置文件中
apache2.4.7配置文件下没有,要自己输入
保存好后重启服务器就可以访问你配置的域名了
我用的是easyPHP集成环境14.1VC11。

Apache2配置域名绑定的方法详解

Apache2配置域名绑定的方法详解

Apache2配置域名绑定的⽅法详解前⾔最近新装了个OJ系统,想着总是⽤ip访问挺难记得,就打算绑⼀个域名上去。

在配置的过程中也遇到了⼀些问题,现在总结下⾯来分享给⼤家,⽅便有需要的朋友们参考学习。

⽅法如下⽹上百度了很多教程,发现⼤家都是在配置httpd.conf⽂件,但我⾃⼰在Linux下⾯的apache并没有这个⽂件,本着试⼀试,我就⾃⼰新建了个httpd.conf,然后⽤⽹上的代码复制进去.。

<VirtualHost 你的ip:80>ServerAdmin webmaster@localhostDocumentRoot /var/www/html/JudgeOnline(你要绑定的⽂件夹位置,根⽬录在html,我要绑定到JudgeOnline⽂件夹。

弄完后把这⾏删掉)ServerName 你的域名</VirtualHost>然后域名绑定ip。

可绑定后我发现,不管怎么样,我访问出来的都是html下的页⾯,并没有解析到我要的JudgeOnline下。

这就郁闷了,我弄了半天,后来去查了下Apache⽬录下这⼏个⽂件的意义,其实Apache初始调⽤的apache2.conf这个⽂件,然后在这个⽂件⾥⾯调⽤其他⽂件。

打开apache2.conf后发现,其实它实际调⽤的是mods-enabled,conf-enabled,sites-enabled下的⽂件还有ports.conf,知道了这个就懂了,我⾃⼰建了个httpd.conf,在Apache2⾥其实并没有被调⽤,所以我们其实应该修改的是sites-enabled下的那个000开头的配置⽂件。

在那⾥⾯就是和其他教程⼀样的配置,弄完以后重启下apache。

Apache2重启的指令也改了,看apache2.conf⾥就会发现⾥⾯有说明,以前apache位置是在/usr/bin/apache2,但现在位置/etc/init.d/apache2,所以重启指令/etc/init.d/apache2 restartOK, 现在就成功搞定域名绑定了,顺便也让我了解了apache2⾥的配置,这波不亏。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Apache2基于域名的虚拟主机实现
作者:sunry
主页
微博/usenrong
1、概述The Realization of Virtual Host of APACHE Based on Domain Names
针对各个子站点使用独立域名访问同一IP地址并搭载在同一台Web服务器上,提出了基于域名的APACHE Web运用服务系统的虚拟主机处置方案。

经过对BIND9域名解析软件及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:// ,http:// 区分属于知识库和其他站点。

两个学站点同在WEB服务器主机的/var/www 和/var/www/othersite目录下。

DNS服务器就是让外部访问的域名可以指向WEB服务器。

如何让各站点主页依据其域名来判别其主页位置由APACHE虚拟主机来完成。

要完成各站点独立域名访问,首先,确定域名的格式,各站点以其目录称号为域名的最前端,例如:“知识库”对就目录“www”设置域名:,
其它站点类推。

其次,配置DNS服务器。

DNS服务器主要配置文件都在/etc/bind目录下,DNS服务器完成的解析进程分为正向解析,所要完成的独立域名,需求把这些域名和服务器上的一个IP地址树立映射关系。

在正向解析文件中需求更改IN记载。

(DNS服务器,WEB服务器测试在内网同一服务器上)创建正向解析
zone "" {
type master;
file "/var/lib/bind/.hosts";
};
创建.hosts文件内容如下
$ttl 38400
. IN SOA . .
(
1292202854
10800
3600
604800
38400 )
. IN NS .
. IN A 192.168.12.113
. IN A 192.168.12.113
. IN A 192.168.12.113
2.2 WEB服务器基于域名的虚拟主机配置
2.2.1 确定虚拟主机的虚拟目录
依据WEB服务器目录结构状况不需求更改虚拟目录的指向。

即/var/www/othersite对应域名虚拟主机网址是:http:// ,
目录/var/www对应域名知识库虚拟主机网址是:http:// 。

2.2.2 建立虚拟主机
配置虚拟主机
创建配置文件/etc/apache2/sites-available/.conf
配置内容
<VirtualHost *:80>
DocumentRoot "/var/www/othersite"
ServerName
<Directory "/var/www/othersite">
allow from all
Options +Indexes
</Directory>
</VirtualHost>
配置虚拟主机
创建配置文件/etc/apache2/sites-available/.conf
配置内容
<VirtualHost *:80>
DocumentRoot "/var/www"
ServerName
<Directory "/var/www">
allow from all
Options +Indexes
</Directory>
</VirtualHost>
对此配置语句作如下说明:
1 <VirtualHost *> 和</VirtualHost>:表示在其中的语句是一个虚拟主机的配置.VirtualHost后本应该加上
本机的IP地址,但由于无静态IP,故此处用通配符*代替,80为端口号。

2 ServerName :设置虚拟主机的域名。

3 ServerAdmin youshengrong@:设置该虚拟主机网管员的邮件(可选)。

4 DocumentRoot /var/www:设置该虚拟主机的主目录路径。

5 ErrorLog “/var/log/apache2/wiki_errors.log”:设置该虚拟主机的出错日志(可选)。

6 CustomLog “/var/log/apache2/wiki_accesses.log”common :设置改虚拟主机的访问信息文件(可选)。

2.2.3 启用虚拟主机
运行sudo a2ensite .conf
sudo a2ensite .conf
发现在/etc/apache2/sites-enabled/ 目录中多了一个到/etc/apache2/sites-available/
.conf 的软链接。

接下来重启apache2
sudo /etc/init.d/apache2 restart
这样虚拟主机的站点和.conf就设置成功了。

在浏览器中输入http:// .conf 就可以访问到你放在/var/www/othersite目录下的站点。

在浏览器中输入http:// .conf 就可以访问到你放在/var/www目录下的站点。

相关文档
最新文档