Apache2基于域名的虚拟主机实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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
配置内容
DocumentRoot "/var/www/othersite"
ServerName
allow from all
Options +Indexes
配置虚拟主机
创建配置文件/etc/apache2/sites-available/.conf
配置内容
DocumentRoot "/var/www"
ServerName
allow from all
Options +Indexes
对此配置语句作如下说明:
1
本机的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目录下的站点。