Я пытаюсь запустить тестовое приложение Flask на моем сервере Ubuntu 16.04/Apache 2.4, и при обращении к страницам я получаю ошибки 403
.Пытается запустить Flask на Apache: ошибка 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/
Я нашел (13) Permission Denied страницу на веб-сайте Apache и следуют шаги, делая sudo chmod 644 opendc.wsgi
, sudo chmod 644 hello.py
и sudo chmod 644 hello.pyc
, а также sudo chmod +x .
и cd ..
весь путь вниз.
Я по-прежнему получаю то же самое, что и «разрешения поиска, отсутствующие на компоненте пути».
Вот вывод логинсервера -al в каталоге web-server
:
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!'
Вот содержимое моего /etc/apache2/sites-available/opendc.ewi.tudelft.nl.conf
:
<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
, который я никогда не использовал раньше. Не знаю, изменит ли это что-либо или если я должен сделать что-то по-другому из-за этого.
Я также нашел this SO question и последовал совету туда, но это ничего не изменило.
Посмотрите на это http://flask.pocoo.org/docs/0.11/deploying/mod_wsgi/ Вы пытались предоставить разрешения с помощью «Разрешить заказ», deny Allow from all '? –
@SteevenBrunner yep, вот что я изначально. Просто изменил его на это, чтобы повторить попытку, и я получаю ту же ошибку. –