Apache2.4.*提示Forbidden You don't have permission to access / on this server.

前言:

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

虚拟主机配置步骤:

配置一个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>

猜你喜欢

转载自www.linuxidc.com/Linux/2016-12/138759.htm
今日推荐