Meu Apache parece estar funcionando bem, exceto por duas coisas.
1) Mensagem no 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.
Eu estou rodando no Ubuntu 14.04, Apache 2.4.7, Python 3.6.1 e Django. Eu compilei o mod_wsgi com a versão correta do Python (biblioteca compartilhada). O diretório / home / user tem permissão definida para 755 e tudo do myproject down é 775.
Observe que nosso nome de usuário é "usuário" e o ambiente virtual é myprojectenv.
Snippet de código do 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
De 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>
No arquivo base.ini do nosso projeto, temos o seguinte:
[web_server]
host = 127.0.0.1
port = 8181
url = http://${host}:${port}/
O arquivo ports.conf inclui 80 e 8181.
Eu sei que há uma desconexão em algum lugar, mas não sei onde. Qualquer pista seria ótima. Obrigado.