【问题标题】:how to resolve You don't have permission to access / on this server如何解决您无权访问此服务器上的 /
【发布时间】:2016-12-02 15:47:31
【问题描述】:

您好,我需要帮助在 centos6 上集成 django 与 apache 和 mod_wsgi。 我每次都收到以下错误---“禁止您无权访问此服务器上的 /。” 我的 django 项目路径= /home/mchauras/esapp/eswebsite 我的 apache 版本是 2.2.15 我的 .conf 文件看起来像这样----

<VirtualHost *:80>
    DocumentRoot /home/mchauras/esapp/eswebsite/
    Alias /static /home/mchauras/esapp/eswebsite/esapp/static
    <Directory /home/mchauras/esapp/eswebsite/esapp/static>
        Options Indexes FollowSymLinks Includes ExecCGI
        AllowOverride None
        Order deny,allow
        Allow from all
    </Directory>

    <Directory /home/mchauras/esapp/eswebsite/eswebsite>
        <Files wsgi.py>
            Options Indexes FollowSymLinks Includes ExecCGI
            AllowOverride None
            Order deny,allow
            Allow from all
        </Files>
    </Directory>

    WSGIDaemonProcess esapp python-path=/home/user/myproject:/home/mchauras/esapp/eswebsite/myvenv/lib/python3.5/site-packages/
    WSGIProcessGroup esapp
    WSGIScriptAlias / /home/mchauras/esapp/eswebsite/eswebsite/wsgi.py
    ErrorLog /home/mchauras/esapp/eswebsite/error.log
    CustomLog /home/mchauras/esapp/eswebsite/access.log combined
</VirtualHost>

我的wsgi.py文件是这样的---

import os
import sys
from django.core.wsgi import get_wsgi_application
sys.path.append('/home/mchauras/esapp/eswebsite')
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "eswebsite.settings")

application = get_wsgi_application()

【问题讨论】:

    标签: django apache mod-wsgi centos6


    【解决方案1】:

    看起来您没有以管理员用户身份登录,或者您可能需要更改并启用路径中的所有文件权限

    【讨论】:

    • 我已授予所有文件的 755 权限。
    • 您是否使用 ftp 更改了文件权限?我认为您应该先测试在根路径中访问某些文件,也许子文件夹中的某些文件没有获得可读的文件权限
    • 我在项目路径中使用 chmod 命令更改了文件权限。我是 sudo 用户,所以我可以访问 / 路径。
    • 你应该试试,试试这个链接:stackoverflow.com/questions/4807176/…
    【解决方案2】:

    这个特定的错误通常是由于运行 Apache 的用户无法访问 WSGI 脚本文件而导致的。仅仅使文件本身对其他人可读是不够的。从 '/' 到该目录的所有目录也必须可供 Apache 运行的用户访问。由于其他人通常无法读取用户的主目录,因此 Apache 用户无法看到它。最好将应用程序目录移到主目录之外。

    另一个可能的原因,虽然通常会导致稍微不同的错误,但启用了 SELinux,其中 SELinux 上的 Apache httpd 服务器的配置文件不允许访问您的应用程序所在的目录。

    【讨论】:

      猜你喜欢
      • 2016-07-24
      • 2013-06-30
      • 2019-02-22
      • 2017-03-11
      • 2017-05-04
      • 2015-10-06
      • 2015-10-07
      相关资源
      最近更新 更多