2016-08-17 12 views
0

私のUbuntu 16.04/Apache 2.4サーバーでFlaskアプリケーションを実行しようとしていますが、ページをリクエストするときにエラーが発生します。ApacheでFlaskを実行しようとしています:エラー13(検索パーミッションが見つかりません)

ログには、次のことを示しています

[Wed Aug 17 10:13:39.782920 2016] [core:error] [pid 30612:tid 140294142019328] (13)Permission denied: [client 131.180.174.104:57481] AH00035: access to /favicon.ico denied (filesystem path '/home/leon/opendc-production/web-server/opendc.wsgi') because search permissions are missing on a component of the path, referer: https://opendc.ewi.tudelft.nl/ 

私はすべての方法を下に、ApacheのWebサイト上で(13) Permission Deniedページを発見し、手順に従って、sudo chmod 644 opendc.wsgiをやって、sudo chmod 644 hello.py、およびsudo chmod 644 hello.pycだけでなく、sudo chmod +x .cd ..

"パスのコンポーネントに同じ検索権限がありません"というエラーが表示されます。ここで

web-serverディレクトリ内-alのlsの出力です:

drwxrwx--- 3 leon leon 4096 Aug 17 10:36 . 
drwxrwx--- 7 leon leon 4096 Aug 17 10:21 .. 
-rw-rw---- 1 leon leon 93 Aug 16 14:13 .gitignore 
-rw-r--r-- 1 leon leon 106 Aug 16 15:41 hello.py 
-rw-r--r-- 1 leon leon 419 Aug 16 15:45 hello.pyc 
-rw-rw---- 1 leon leon 54044 Aug 16 14:13 openapi-spec.yaml 
-rw-r--r-- 1 leon leon 37 Aug 17 10:36 opendc.wsgi 
-rw-rw---- 1 leon leon 410 Aug 16 14:13 README.md 
drwxrwx--- 6 leon leon 4096 Aug 16 15:40 venv 

はここopendc.wsgiの内容です:

from hello import app as application 

ここhello.pyの内容です:

from flask import Flask 
app = Flask(__name__) 

@app.route('/') 
def hello_world(): 
     return 'Hello, OpenDC!' 

ここです私のの内容:注意すべき

<VirtualHost *:443> 

     # Meta 

     ServerAdmin [email protected] 
     ServerName opendc.ewi.tudelft.nl:443 

     # SSL 

     SSLEngine on 
     SSLCertificateFile /root/opendc.ewi.tudelft.nl.crt 
     SSLCertificateKeyFile /root/opendc.ewi.tudelft.nl.key 
     SSLCertificateChainFile /root/DigiCertCA.crt 

     # WSGI Python app 

     WSGIDaemonProcess opendc user=leon group=adm threads=5 
     WSGIScriptAlias//home/leon/opendc-production/web-server/opendc.wsgi 

     <Directory /home/leon/opendc-production/web-server> 
       WSGIProcessGroup opendc 
       WSGIApplicationGroup %{GLOBAL} 
       Require all granted 
     </Directory> 
</VirtualHost> 

もう一つは、私がFlask installation guideに続くということですので、私は私が前に使ったことがないvirtualenv、でのpythonを持っています。それが何か変わったのか、それとも私が何か違うことをしなければならないのかどうかは分かりません。

私はまた、this SO questionを見つけてそこの助言に従ったが、何も変わっていなかった。

+0

これを見てくださいhttp://flask.pocoo.org/docs/0.11/deploying/mod_wsgi/ 'Order allow deny Allow all from'を使って権限を与えようとしましたか? –

+0

@SteevenBrunnerうん、これは私が元々持っていたものです。もう一度やり直してみてください。同じエラーが出ています。 –

答えて

1

Apacheは特別なユーザーとして実行されます。あなたのファイルがあなたのホームディレクトリの下にある場合、それを読むことはできません。あなたのホームディレクトリの外にそれらを移動する方がよいでしょう。それ以外の場合は、ファイルが格納されている場所まで、すべてのディレクトリ上でchmod o+rxを実行する必要があります。これは、お使いのOSの設定に反します。

+0

ああ、大丈夫です。だから、彼らを置くのに良い場所は何ですか? '/ var/www/project-name'? –

+0

それは '/ etc/apache2/sites-available/opendc.ewi.tudelft.nl.conf'で指定したように' user = leon group = adm'として動作しないのはなぜですか? –

+0

プロジェクトを '/ var/www/opendc.ewi.tudelft.nl/web-server'に移動し、[(13)Permission Deniedエラーページ](http://wiki.apache.org/)の手順を実行します。 httpd/13PermissionDenied)が修正しました。ありがとう! –

関連する問題