Мой Apache, кажется, работает нормально, за исключением двух вещей.

1) Сообщение в error.log:

[wsgi:warn] [pid 1234:tid 12345678] (2)No such file or directory: mod_wsgi (pid=1234): Unable to stat Python home /home/user/myproject/myprojectenv:/home/user/myproject/myprojectenv/myproject. Python interpreter may not be able to be initialized correctly. Verify the supplied path and access permissions for whole of the path.
  1. Когда я пытаюсь перейти по адресу 127.0.0.1:8181 в браузере, я получаю сообщение 403 Запрещено.

Я работаю на Ubuntu 14.04, Apache 2.4.7, Python 3.6.1 и Django. Я скомпилировал mod_wsgi с правильной версией Python (разделяемая библиотека). В каталоге /home /user установлено 755 разрешений, и все, начиная с myproject и ниже, - 775.

Обратите внимание, что наше имя пользователя - "пользователь", а виртуальная среда - myprojectenv.

Фрагмент кода из apache2.conf:

IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf
Include ports.conf

<Directory />
   Options FollowSymLinks
   AllowOverride None
   Require all denied
</Directory>

<Directory /usr/share>
   AllowOverride None
   Require all granted
</Directory>

<Directory /var/www/>
   Options Indexes FollowSymLinks
   AllowOverride None
   Require all granted
</Directory>

<Directory /home/user/myproject/projectenv/myproject/myapp>
   <Files wsgi.py>
    Require all granted
   </Files>
</Directory>

IncludeOptional sites-enabled/*.conf
IncludeOptional conf-enabled/*.conf

От 000-default.conf:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:8181>
    ServerName localhost
    ServerAlias localhost
    ServerAdmin webmaster@localhost
    DocumentRoot /home/user/myproject/myprojectenv/myproject
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    Alias /static/ /home/user/myproject/myprojectenv/myproject/myproject_static/
    <Directory /home/user/myproject/myprojectenv/myproject/myproject_static>
        Require all granted
    </Directory>
    <Directory /home/user/myproject/myprojectenv/myproject/myapp>
       <Files wsgi.py>
          Require all granted
       </Files>
    </Directory>

    WSGIDaemonProcess myproject user=user home=/home/user/myproject/myprojectenv/lib/python3.6 python=path=/home/user/myproject/myprojectenv/myproject python-home=/home/user/myproject/myprojectenv:/home/user/myproject/myprojectenv/myproject
    WSGIProcessGroup myproject
    WSGIApplicationGroup localhost:8181
    WSGIScriptAlias /home/user/myproject/myprojectenv/myproject /home/user/myproject/myprojectenv/myproject/myapp/wsgi.py
</VirtualHost>

В файле base.ini нашего проекта мы имеем следующее:

[web_server]
host = 127.0.0.1
port = 8181
url = http://${host}:${port}/

Файл ports.conf включает в себя 80 и 8181.

Я знаю, что где-то есть разрыв, но я не знаю где. Любые подсказки были бы великолепны. Благодарю.

0