Проблема с разрешением при записи файла на веб-сервер (flask, apache & wsgi) - PullRequest
0 голосов
/ 16 сентября 2018

Я пытаюсь развернуть свое самое первое веб-приложение, и я ничего об этом не знаю.Это довольно интересно, но я чувствую, что понятия не имею, что я делаю, когда пытаюсь решить проблему.

Я создал сервер в цифровом океане, который работает на Ubuntu 18.04, и я боролся с этим из-запоследние 2 дня, чтобы мой сайт работал гладко.

Теперь я чувствую, что конец близок, но я застрял в проблеме с правами доступа.

Мое приложение работает через флешку.Я использую wsgi_mod и apache для его запуска.

Я записал 2 файла установки, которые могут вам помочь (я думаю?), А также журнал ошибок.

Iтакже пытались применить следующее исправление:

sudo chown -R www-data: www-data /var/www/website.com

sudo cmod -R 775 / var / www /website.com

Я попытался запустить wsgi, используя процесс WSGIDaemon (независимо от того, что он используется, он также не работал).

Пожалуйста, помогите мне!

ПозвольтеЯ знаю, если вам нужно больше вопросов.

Большое спасибо заранее!

Журнал ошибок:

Traceback (most recent call last):
File "/var/www/website.com/wsgi/website.com.wsgi", line 10, in <module>
    from __init__ import app as application
File "/var/www/website.com/akb/__init__.py", line 19, in <module>
    flask_session.Session(app)
File "/var/www/website.com/akb/env3.7/lib/python3.6/site-packages/flask_session/__init__.py", line 5$
    self.init_app(app)
File "/var/www/website.com/akb/env3.7/lib/python3.6/site-packages/flask_session/__init__.py", line 6$
    app.session_interface = self._get_interface(app)
File "/var/www/website.com/akb/env3.7/lib/python3.6/site-packages/flask_session/__init__.py", line 9$
    config['SESSION_USE_SIGNER'], config['SESSION_PERMANENT'])
File "/var/www/website.com/akb/env3.7/lib/python3.6/site-packages/flask_session/sessions.py", line 3$
    self.cache = FileSystemCache(cache_dir, threshold=threshold, mode=mode)
File "/var/www/website.com/akb/env3.7/lib/python3.6/site-packages/werkzeug/contrib/cache.py", line 7$
    os.makedirs(self._path)
File "/usr/lib/python3.6/os.py", line 220, in makedirs
    mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: '/flask_session'

/ var / www / website / wsgi / website.com.wsgi

#!/var/www/website.com/akb/env3.7/bin/python
# -*- coding: utf-8 -*-

import sys
import logging

logging.basicConfig(stream=sys.stderr)
sys.path.insert(0,"/var/www/website.com/akb")

from __init__ import app as application
application.secret_key = 'iuhAqshdad123_&é"_JIHfduh3i123d!!:'

/ etc / apache2 / sites-available / website.com.conf:

WSGIPythonHome /var/www/website.com/akb/env3.7

<VirtualHost *:80>
    ServerName website.com
    ServerAdmin website.root@gmail.com
    ServerAlias www.website.com

    DocumentRoot /var/www/website.com/akb
    <Directory /var/www/website.com/akb>
        <IfVersion < 2.4>
            Order allow,deny,
            Allow from all
        </IfVersion>
        <IfVersion >= 2.4>
            Require all granted
        </IfVersion>
    </Directory>        

    WSGIApplicationGroup %{GLOBAL}

    WSGIScriptAlias / /var/www/website.com/wsgi/website.com.wsgi

    <Directory /var/www/website.com/akb>
        WSGIProcessGroup website.com
        <IfVersion < 2.4>
            Order allow,deny
            Allow from all
        </IfVersion>
        <IfVersion >= 2.4>
            Require all granted
        </IfVersion>
    </Directory>

    Alias /static /var/www/website.com/akb/static
    <Directory /var/www/website.com/akb/static>
        <IfVersion < 2.4>
            Order allow,deny
            Allow from all
        </IfVersion>
        <IfVersion >= 2.4>
            Require all granted
        </IfVersion>
    </Directory>

    Alias /templates /var/www/website.com/akb/templates
    <Directory /var/www/website.com/akb/templates>
        <IfVersion < 2.4>
            Order allow,deny
            Allow from all
        </IfVersion>
        <IfVersion >= 2.4>
            Require all granted
        </IfVersion>
    </Directory>

    ErrorLog /var/www/website.com/errors/error.log
    LogLevel info
    CustomLog /var/www/website.com/errors/access.log combined

1 Ответ

0 голосов
/ 18 сентября 2018

Я наконец исправил проблему:

  • , изменив каталог os на каталог моего env (os.chdir)
  • с использованием chown / chmod для предоставления прав редактирования / создания www-данных
...