apache配置虚拟主机及虚拟目录

了解一下根目录和虚拟目录的关系:

安装过apache之后打开httpd.conf文件会发现DocumentRoot默认设置的应该是apache安装目录中的htdocs文件夹。然后你的网页就可以放大这个htdocs文件夹中测试,例你在里面放了一个1.php,可以输入http://127.0.0.1/1.php进行测试。这个DocumentRoot后面的路径就是apache的根目录。有时候我们不想将自己的网站放到这里,例如我想要放到F:/MyPHP中来运行,那么就可以修改DocumentRoot为F:/MyPHP,然后将那个1.php放入F:/MyPHP文件夹,同样使用http://127.0.0.1/1.php可以正常访问。

虚拟目录是什么?顾名思义只是一个虚拟的目录,和真实目录是有差别的。先来看看使用真实目录访问,我们在刚才的F:/MyPHP中建立一个文件夹Test,然后在里面放入2.php,这个时候就可以通过http://127.0.0.1/Test/2.php访问。但是有些时候你可能建立的文件夹和想要输入的访问地址有一个映射关系,而不是直接输入Test文件夹名,这样做的原因有很多其中就有一个是安全问题,因为那样别人就会知道你的根目录的文件夹。具体点,你在Test文件夹中放置了2.php,但是想要通过http://127.0.0.1/cmj/2.php访问2.php而不是通过http://127.0.0.1/Test/2.php来访问怎么办呢?这个时候我们就需要虚拟目录了,很明显没有cmj这个文件夹,但是又能够像访问一个正式的目录一样来访问,就需要一种映射关系。怎么做呢?在httpd.conf中添加:

Alias /cmj  "F:/MyPHP/Test/"

<Directory "F:/MyPHP/Test">

Options Indexes FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

</Directory>

解释一下什么意思,最主要是前面一个句Alias /cmj  "F:/MyPHP/Test/",它的意思就是我通过在更目录访问所用ip后添加/cmj可以访问F:/MyPHP/Test/中的东西。后面的主要是设置权限问题,这里不再赘余。

简单的说,打开httpd.conf 在最后加入如下内容:

<VirtualHost 127.0.0.2:80>

DocumentRoot d:/AppServ/www2

ServerName 127.0.0.2:80

< /VirtualHost>

<Directory "d:/AppServ/www2">

Options Indexes FollowSymLinks Multiviews

AllowOverride All

Order Allow,Deny

Allow from all

</Directory>

"d:/AppServ/www2" 为你的站点存放目录:重启apache2以后,你的虚拟主机就配置好了,以后就可以通过127.0.0.2,和127.0.0.3进入不同的站点了。

下面为详细说明分析:

在我们安装APACHE的时候一般默认的apache的配置是只有一个网站,这样切换起来很不方便。其实这个问题很好解决,就是把本机的apache配置成为虚拟服务器。但是,网上大多数教程的是教用 apache如何配置基于域名的虚拟主机的,而在本机调试网站的时候,一般都是用本地ip(127.0.0.1 或 localhost)直接访问,没有用到域名。所以得把apache配置成为基于ip地址的虚拟主机。

首先,我们都知道,所有以127打头的ip地址都应该指向本机,并不只有127.0.0.1,这点大家可以试试。

这样一来,也就是说本机有足够多的ip地址供你来开设虚拟主机了。

废话少说,进入正式的配置工作,下面是apache的httpd.conf里相关配置部分( httpd.conf 位于 Apache2.2\conf ):

1、Listen部分,必须直接指定端口,不指定ip地址,配置应写为:

Listen 80

2、不用像基于域名的虚拟主机那样写“NameVirtualHost”。

3、虚拟主机配置段:在httpd.conf 最后加上

<VirtualHost 127.0.0.2:80>

DocumentRoot d:/AppServ/www2

ServerName 127.0.0.2:80

< /VirtualHost>

<VirtualHost 127.0.0.3:80>

DocumentRoot d:/AppServ/www3

ServerName 127.0.0.3:80

</V irtualHost>...

4、然后相应的配置好各个目录属性,下面是一个目录属性的典型配置:

<Directory "d:/AppServ/www2">

Options Indexes FollowSymLinks Multiviews

AllowOverride All

Order Allow,Deny

Allow from all

</Directory>

<Directory "d:/AppServ/www3">

Options Indexes FollowSymLinks Multiviews

AllowOverride All

Order Allow,Deny

Allow from all

</Directory>

重启apache2以后,你的虚拟主机就配置好了,以后就可以通过127.0.0.1和127.0.0.2,127.0.0.3进入不同的站点了

时间: 2024-10-16 07:45:00

apache配置虚拟主机及虚拟目录的相关文章

Apache配置基于IP的虚拟主机 Apache virtual host configuration is based on the IP

Step 1: 检查是否开启 httpd-vhosts.conf apache/conf/httpd.conf文件 # Virtual hosts Include conf/extra/httpd-vhosts.conf 如果没有开启,必须在httpd.conf文件中设置:如果开启,则可以在apache/conf/extra/httpd-vhosts.conf文件中设置,当然也还是可以再httpd.conf文件中进行设置,同样有效. Step 2: httpd.conf文件 DocumentRo

Apache配置与应用,虚拟目录;访问控制;虚拟Web主机(多域名;多端口),

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服务,解析域名

php 虚拟主机和虚拟目录的配置

虚拟主机  开启httpd-vhosts.conf conf\extra\httpd-vhosts.conf文件 <VirtualHost 127.0.0.1:80> DocumentRoot "D:/website/Apache Software Foundation/Apache2.2/htdocs" DirectoryIndex index.html index.htm default.htm ServerName www.localhost.com ServerAl

Tomcat的Server.xml虚拟主机和虚拟目录的配置

以前开发JavaEE网站都布置在Tomcat下,布置目录一般为$CATALINA_HOME/webapps/WebName,所以要访问网站,则在http://localhost后必须要加上上下文路径(ContextPath)/WebName,而运行环境一般为http://www.abc.com,上下文路径为空.这样就造成了开发环境与运行环境的差异,虽然在JSP中可以通过<%=request.getContextPath()%>解决,但如果换成其它模板,比如Velocity,就又不行了. 本文通

本地机apache配置基于域名的虚拟主机详解

1.打开apache的httpd.conf文件,找到# Virtual hosts#Include conf/extra/httpd-vhosts.conf这一段把Include conf/extra/httpd-vhosts.conf前面的"#"去掉. 2.修改位于(win7)c:/windows/system32/drivers/etc/目录下的hosts文件增加一段:127.0.0.1    x.acme.com(你用来访问的域名) 3.我用的是wamp包,所以到c:/wamp/

虚拟主机和虚拟目录配置

要想在本机上出现这样:输入www.baidu.com,但是进入的却是自己的目录 1.在windows/system32/etc/host文件中添加 127.0.0.1  www.baidu.com 2.在tomcat/conf/server.xml文件中添加  <Host name="www.baidu.com"  appBase="d:\ship"><!--此处即为添加虚拟主机,这个的在第一部完成后才能添加,否则启动tomcat报错--> 

Apache虚拟主机and虚拟端口

Apache虚拟目录1.在httpd子配置目录下创建一个以conf结尾的文件,并添加配置信息 2.修改httpd主配置文件vim /etc/httpd/conf/httpd.conf 3.创建虚拟目录,并且放入一个首页4.重启httpd服务,关闭防火墙5.在win上访问,虚拟目录 6.设置访问权限 修改虚拟目录的配置文件vim vdir.conf,重启服务7.创建一个httpd用户,切家目录放在/etc/httpd/user,进行测试 Apache 虚拟主机实验:相同IP搭建两个或者以上的网站1

星外虚拟主机跨web目录文件读取漏洞

星外虚拟主机跨目录读取文件漏洞,需要一定条件. 问题发生在以下文件,这些文件都没有严格的设置执行权限,当前的IIS用户能够顺利的利用它们执行命令: c:\windows\7i24IISLOG.exe c:\windows\7i24IISLOG2.exe c:\windows\7i24IISLOG3.exe c:\windows\7i24IISLOG4.exe c:\windows\7i24tool.exe c:\windows\rsb.exe 这些文件貌似是星外处理日志.设置权限的,其中的7i2

Apache配置基于域名的虚拟主机

一.设定 模拟域名  www.wang.org.blog.wang.org.bbs.wang.org 网站文件夹 /var/html/www./var/html/blog./var/html/bbs 二.实现步骤: 1.创建网站文件夹 2.向三个index中写入内容,方便測试 3.cd到apache的conf文件夹下的extra 加入三个网站的配置 <VirtualHost *:80> ServerAdmin [email protected] --管理员邮箱 DocumentRoot &qu