2016-07-28 10 views
0

こんにちは私はdjangoをcentos6のApacheとmod_wsgiと統合するのに助けが必要です。 毎回次のエラーが表示されます---「禁止されていますあなたはこのサーバーにアクセスする権限がありません」 私のDjangoプロジェクトパス= /ホーム/ 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ファイルはthis-のようなものです -

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() 

答えて

0

あなたのようなそのルックスは、管理者ユーザとしてログインしていないか、多分あなたは変更する必要があり、この特定のエラーは通常、常にユーザーのApacheによって引き起こされているパス

+0

私はすべてのファイルに対して755の許可を与えました。 –

+0

あなたはftpを使ってファイル許可を変更しましたか?私はあなたがルートパスでいくつかのファイルにアクセスするためにテストする必要があります、おそらくサブフォルダ内のいくつかのファイルは、読み取り可能なファイルのアクセス許可を得ていない – Evinn

+0

私はプロジェクトのパス内でchmodコマンドを使用してファイルのアクセス許可を変更しました。 私はsudoユーザーですので、/ pathにアクセスできます。 –

0

内のすべてのファイルのアクセス許可を有効にいいえWSGIスクリプトファイルにアクセスできます。ファイル自体を他人に読めるようにするだけでは不十分です。 '/'からそのディレクトリまでのすべてのディレクトリは、Apacheが実行するユーザがアクセスできるものでなければなりません。ユーザーのホームディレクトリは通常他の人が読むことができないので、Apacheユーザーはそれを見ることができません。アプリケーションディレクトリをホームディレクトリの外に移動する方がよいでしょう。

もう1つの考えられる原因は、SELinux上のApache httpdサーバーのプロファイルがアプリケーションのあるディレクトリへのアクセスを許可しないSELinuxを有効にしていることです。

関連する問題