【转】配置Apache虚拟主机以及问题Apache: You don't have permission to access / on this server解决

**本文修改自:http://blog.csdn.net/crazyboy2005/article/details/4768928 **
虚拟主机(Virtual Host)是指在一个机器上运行多个网络站点 (比如:www.company1.com和www.company2.com)。 如果每个网络站点拥有不同的IP地址,则虚拟主机可以是"基于IP"的; 如果只有一个IP地址,也可以是"基于主机名"的, 其实现对最终用户是透明的。具体细节可以查看Apache官方说明 。

一、“基于主机名”虚拟主机的配置

在httpd.conf里面(可以在
后进行配置)

  Listen 81 
  NameVirtualHost *:81 
  <VirtualHost *:81 >
       ServerAdmin example@company.com
       DocumentRoot  yourRoot 
      <Directory "yourRoot ">
       Options FollowSymLinks
       AllowOverride None
       Order allow,deny
       Allow from all 
      </Directory>
  </VirtualHost>

配置说明:

  • 81 : 为端口号,可以是其他现在系统未用的端口
  • yourRoot : linux下格式形如: /export/www 注意最后没有"/"

将上面的添加到apache的配置文件httpd.conf(linux下在/usr/local/apache2/conf/,视具体情况而定),然后重新启动Apache .

注意:要配置基于主机名的虚拟主机,必须保留原有的80端口。

二. 查看配置是否成功

在浏览器中输入 http://localhost:81 查看是否配置成功。

三. 常见问题常见解决方案

当在浏览器中查看配置成功与否出现问题时,可优先到Apache官方网站的FAQ 上或用搜索引擎搜索你的问题。

我这里就最常见403问题

Forbidden
You don't have permission to access / on this server.

提供几种常见的解决方法:

  1. 按上面的配置正确,特别是:
   Order allow,deny
   Allow from all
  1. 确保youRoot文件夹下有index.html文件(或名为index而后缀为其他形式(如.jsp .php等)的文件) ,因为Apache默认以index.html为网站首页,如果没有这个文件就会出现上面的403错误。

    注:如果你想以其他形式的文件(如:index.jsp或index.php等)作为出现的网页,可将Apache的配置文件中的:

   <IfModule dir_module>
       DirectoryIndex index.html
   </IfModule>
  改为(如你想用index.jsp):
   <IfModule dir_module>
       DirectoryIndex index.html index.jsp 
   </IfModule>
  如果需要浏览该文件夹下的内容,可以在</Directory>前添加:
    Options Indexes
 就可以了。
  1. 如果还不可以,看下是否存在以下配置,注释掉
<Directory />
        AllowOverride none
        Require all denied
</Directory>
  1. 针对linux用户,windows或其他用户一般没这种情况。linux系统中一般会自带apache,在修改了配置文件后,最好到安装Apache的目录下重启Apache。

posted on 2014-12-18 18:41  overview  阅读(134)  评论(0)    收藏  举报

导航