1,虚拟目录
Httpd 虚拟目录 便于网站管理和维护,内容分类。例如;
hhtpd://www.benet.com/news 新闻
Httpd://www.benet.com/edu 学习
以redhat6.5系统为例进行配置(系统默认自带httpd服务),首先修改httpd.conf配置文件 ,
(1)建立一个web站点www.benet.com
vim /etc/httpd/conf/httpd.conf
添加站点首页文档index.html
(2)并搭建一个DNS服务,解析域名。
安装bind软件包
vim /etc/named.conf
vim /etc/named.rfc1912.zones
在浏览器输入域名www.benet.com可以看到刚才修改的网页信息。
(3)设置虚拟目录
在httpd.conf配置文件中包含一句话;Include conf.d/*.conf 表明httpd除了主配置文件还包含有conf.d/目录下的配置文件,因此我们可以在/etc/httpd/conf.d目录下单独创建一个虚拟目录的配置文件。
vim /etc/httpd/conf/httpd.conf
创建虚拟目录站点,并为虚拟目录准备网页文档
重启httpd服务,在浏览器输入www.benet.com/test查看虚拟目录的首页,
service httpd restart
2,用户授权访问
以前面设置虚拟目录为基础,我们给虚拟目录的网页进行用户授权限制。
(1)修改虚拟目录的配置文件vdir.conf
(2)创建用户认证数据文件
httpd的基本认证通过校验用户名,密码组合来判断是否允许用户访问。授权访问的用户帐号需要事先建立,并保存在固定的数据文件中。使用专门的htpasswd工具程序,可以创建授权用户数据文件,并维护其中的用户帐号。
使用htpasswd工具时必须指定用户数据文件的位置,添加-c选项表示新建此文件,根据刚才的配置文件设定,新建的用户数据文件位置指定为/etc/httpd/user
(3)验证用户访问授权
当再次访问www.benet.com/test网页时,浏览器会首先弹出认证对话框,只有输入正确的用户名和密码才可以访问页面
3,基于域名的虚拟主机
使用一台httpd服务器搭建两个虚拟web主机www.benet.com和www.accp.com ,ip地址为192.168.30.15
(1)为虚拟主机提供域名解析
现实工作中需要向DNS服务提供商注册各虚拟web站点的域名,以便当访问其中任何一个虚拟站点时,最终访问的都是同一个ip地址,在实验中我们在一台主机上搭建DNS服务。
以刚才的实验为基础我们在配置文件中再添加accp.com区域,以及数据库文件accp.com.zone。其中里面的设置相同“www--->192.168.30.15”。其中关键的配置步骤如下;
vim /etc/named.rfc1912.zones
(2)创建虚拟主机配置文件vhost.conf
在/etc/httpd/conf.d目录下创建vhost.conf文件
cd /etc/httpd/conf.d
vim vhost.conf
使用NameVirtualHost配置项指定提供虚拟主机服务的ip地址,
使用<VirtualHost 监听地址>……..</VirtualHost>区域配置,为每一个虚拟web主机建立独立的配置内容,其中包括管理员邮箱,网页根目录,网站名称,日志文件存放位置
(3)根据配置文件设定为各虚拟web创建站点以及网页文档
(4)在客户端打开浏览器访问虚拟web主机
4,基于端口的虚拟主机
基于端口的虚拟主机通常只用于同一个web站点,其针对的网站名称,ip地址往往是相同的,但通过不同的TCP端口来提供访问不同网页内容的服务入口。在浏览器访问非80端口时需明确指出服务器的端口号。如访问http://www.benet.com:8080/ 。
以刚才web服务www.benet.com为基础,添加一个8080端口的虚拟web服务
将监听端口修改为8080,
指定网页根目录为/opt/benet8080 其余配置不变。
为8080端口的虚拟主机创建站点以及网页文档
在主配置文件httpd.conf中加入监听地址 Listen 192.168.30.15:8080
打开客户端浏览器访问www.benet.com:8080虚拟网页内容
Apache 一台服务器上搭建多网站(虚拟主机) 这种方式只适用于中小型企业,流量少,负载小
原文地址:http://blog.51cto.com/13728740/2157688