server下apache2.4.*虚拟主机配置Forbidden You don't have permission to access / on this server.

前言:

  继前面两节笔记之后,在配置一个虚拟主机时,这中间却遇见了一个问题,这里需要描述做一下笔记,刚刚安装的是Ubuntu server,apt-get下来的apache的版本是2.4.7,之前一直用的是apache2.2的,期间遇见过403错误,只是问题处理的方式方法有些不一样,于是这里就一时没有找到头绪。本文原创博客地址:http://www.cnblogs.com/unofficial官网地址:www.pushself.com)

403:没有权限访问

不说废话直接找主题:

首先我们来回顾一下apache2.2的配置

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

server默认000-default.conf配置文件,在copy的文件后没有发现directory这一部分,搜也没有搜出想要的答案,在apache官网上发现了这一变化。

In this example, all requests are denied.
2.2 configuration:
Order deny,allow
Deny from all
2.4 configuration: Require all denied
In this example
, all requests are allowed. 2.2 configuration: Order allow,deny Allow from all
2.4 configuration: Require all granted
In the following example
, all hosts in the example.org domain are allowed access; all other hosts are denied access. 2.2 configuration: Order Deny,Allow Deny from all Allow from example.org
2.4 configuration: Require host example.org

看到上面的配置文件应该可以看出一部分问题,配置文件的写法有些变化了,需要将配置文件修改为Require all granted。

官网解释:http://httpd.apache.org/docs/2.4/upgrading.html本文原创博客地址:http://www.cnblogs.com/unofficial官网地址:www.pushself.com)

虚拟主机配置步骤:

配置一个ServerName:demo.pushself.com

① 复制一份默认的配置文件

cd /etc/apache2/sites-available
sudo cp 000-default.conf demo.conf
sudo vim demo.conf

  ServerName demo.pushself.com #新增一句ServerName
  ServerAdmin webmaster@localhost
  DocumentRoot /wwwroot/demo  #修改为你的项目路径
  <Directory /wwwroot/demo>   #新增权限配置不同于2.2
    Require all granted
  </Directory>
sudo ln -s /etc/apache2/sites-available/demo.conf /etc/apache2/sites-enabled/demo.conf
sudo service apache2 restart

②我是远程连接的server,所以我需要修改一下客户端的hosts文件,添加一句模拟DNS

192.168.25.107 demo.pushself.com #IP是我的server地址

注意:如果上述配置后还是还是会403 Forbidden,原因是没有index文件,为了解决这个问题,我们可以再配置文件添加一句,新增后记得重启apache

  <Directory /wwwroot/demo>   #新增权限配置不同于2.2
    Options FollowSymLinks Indexes     Require all granted   </Directory>

本文原创博客地址:http://www.cnblogs.com/unofficial官网地址:www.pushself.com)

server下apache2.4.*虚拟主机配置Forbidden You don't have permission to access / on this server.

上一篇:mysql字符集基础知识梳理


下一篇:IIS6 2.0 4.0 冲突解决 'c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\xxx' -- 'Access is denied. '