Apache 2.4在Fedora上部署Django时出现错误“禁止您没有访问此服务器上的/ static /的权限”

时间:2018-09-01 05:54:46

标签: django apache django-rest-framework python-3.6

我是django的新手,在apache上部署django时遇到了这个禁止的错误。我已经尝试了Google几乎所有可用的解决方案,但仍然没有解决这个问题。

当前我正在使用:

  • Python3.6
  • Apache 2.4
  • Fedora 28

我还尝试过将项目移至/ var / www,但这对我也不起作用。

这是我的httpd.conf文件的外观:

<VirtualHost *:80>
ServerName rohit.com
DocumentRoot /home/rohit/django_ionic/
ServerAdmin root@localhost


Alias /static /home/rohit/django_ionic/drfx/static
<Directory "/home/rohit/django_ionic/drfx/static">
Options Indexes FollowSymLinks
Allow from all
Require all granted
</Directory>

<Directory /home/rohit/django_ionic/drfx/drfx>
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>

WSGIDaemonProcess mysite1 python-path=/home/rohit/django_ionic/drfx:/usr/lib/python3.6/site-packages
WSGIProcessGroup mysite1
WSGIScriptAlias / /home/rohit/django_ionic/drfx/drfx/wsgi.py
WSGIApplicationGroup %{GLOBAL}

<Directory /home/rohit/django_ionic/drfx/drfx/>
<Files wsgi.py>
Allow from all
Require all granted
</Files>
</Directory>
</VirtualHost>

我还为我的django文件夹授予了chown权限。 另一个问题是我的用户和组是apache,我已经看到了许多使用用户和组作为www-data:www-data的解决方案。通过使用apache:apache授予权限,这真的有什么区别吗?

1 个答案:

答案 0 :(得分:1)

您正在使用2.x和2.4版本中的混合配置。

From the docs:

  

因此,即使仍然可以进行混合配置,也请尽量避免   升级时:保留旧指令,然后迁移到   以后再使用新的,或者只是批量迁移所有内容。

从文档中

在此示例中,没有身份验证,并且所有请求都被拒绝。

2.2配置:

Order deny,allow
Deny from all

2.4配置:

Require all denied

在此示例中,不进行身份验证,并且所有请求都被允许。

2.2配置:

Order allow,deny
Allow from all

2.4配置:

Require all granted