изменить текущий каталог Apache скриптов Python - PullRequest
0 голосов
/ 29 октября 2018

Я настроил Apache для работы с моим приложением Django, используя модуль mod_wsgi. Вот содержание /etc/apache2/sites-enabled/yaraweb.conf:

<VirtualHost my_server_ip:port>
    DocumentRoot /var/www/YaraWeb

    Alias /static /var/www/YaraWeb/yara/static
    <Directory /var/www/YaraWeb/yara/static>
            Require all granted
    </Directory>

    <Directory /var/www/YaraWeb/YaraWeb>
            <Files wsgi.py>
                    Require all granted
            </Files>
    </Directory>

    WSGIDaemonProcess YaraWeb python-home=/var/www/YaraWeb/venv python-path=/var/www/YaraWeb
    WSGIProcessGroup YaraWeb
    WSGIScriptAlias / /var/www/YaraWeb/YaraWeb/wsgi.py

И структура /var/www/YaraWeb выглядит следующим образом:

/var/www/YaraWeb
│   manage.py    
│
└───venv
│   │   bin
│   │   include
│   │   lib
│   │   pip-selfcheck.json
|   |   share
│   
└───yara  => django app
|   │   admin.py
|   │   apps.py
│   |   forms.py
│   |   __init__.py
|   │   main.py
|   │   migrations
│   |   models.py
│   |   static
|   │   templates
│   |   urls.py
│   |   views.py
│    
└───YaraWeb
    │   __init__.py
    │   settings.py
    |   urls.py
    |   wsgi.py

Все работает нормально, сервер работает, но проблема в том, что при регистрации текущего рабочего каталога в моих кодах внутри views.py возвращается /var/www, но я ожидаю, что он будет /var/www/YaraWeb/. Другими словами, мне нужен этот фрагмент кода Python для печати /var/www/YaraWeb/:

import os
print(os.getcwd()) # actually prints /var/www/

В серверных кодах широко используются относительные пути для создания каталогов. Используя относительные пути, разработчик предположил, что все созданные каталоги создаются внутри папки проекта, т.е. /var/www/YaraWeb/, но при текущей настройке Apache все относительные пути пытаются создать каталог внутри /var/www/, что может привести к перезаписи существующих файлов из других проектов. , Есть ли настройка Apache, которая может изменить это поведение?

...