I use a bunch of Ubuntu 16.04 + Apache 2.4 + Django 1.10 + Python3.5 + wsgi + virtualenv.
The apache configuration ordered following
WSGIDaemonProcess myproject python-path/home/admin/web/domen.com/private/myprojectenv:/home/admin/web/domen.com/private/myprojectenv/lib/python3.5/site-packages
WSGIProcessGroup myproject
WSGIScriptAlias / /home/admin/web/domen.com/private/myproject/wsgi.py
wsgi.py standard
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.settings")
application = get_wsgi_application()
Reinstall everything. Fat, you see the error 500.
log:
from django.core.wsgi import get_wsgi_application
ImportError: No module named 'django'
I managed razobratsya a problem below will describe its solution.
My system Ununtu 16.04, Vesta panel 0.9.8-17 (including all blew nginx + apache).
Since I needed python3 for him, and I will describe, if you have nothing to pothon2 all except Similar Containers installed packages.
Install the package, and the environment itself Jango took from here https://www.digitalocean.com/community/tutorials/how-to-serve-django-applications-with-apache-and-mod_wsgi-on-ubuntu-16-04
What has changed:
wsgi.py
import os, sys
sys.path.append ( '/ home / admin / web / domen.com / private') # The path to the folder with Django project
from django.core.wsgi import get_wsgi_application
os.environ.setdefault ( "DJANGO_SETTINGS_MODULE", "myproject.settings")
application = get_wsgi_application ()
Apache Configuration for West Side:
<VirtualHost 172.11.11.11:8080>
ServerName domen.com
ServerAlias www.domen.com
ServerAdmin info@domen.com
DocumentRoot /home/admin/web/domen.com/public_html
ScriptAlias / cgi-bin / /home/admin/web/domen.com/cgi-bin/
Alias / vstats / /home/admin/web/domen.com/stats/
Alias / error / /home/admin/web/domen.com/document_errors/
#SuexecUserGroup Admin admin
CustomLog /var/log/apache2/domains/domen.com.bytes bytes
CustomLog /var/log/apache2/domains/domen.com.log combined
ErrorLog /var/log/apache2/domains/domen.com.error.log
<Directory /home/admin/web/domen.com/public_html>
AllowOverride All
Options + Includes -Indexes + ExecCGI
php_admin_value open_basedir /home/admin/web/domen.com/public_html:/home/admin/tmp
php_admin_value upload_tmp_dir / home / admin / tmp
php_admin_value session.save_path / home / admin / tmp
</ Directory>
<Directory /home/admin/web/domen.com/stats>
AllowOverride All
</ Directory>
<IfModule mod_ruid2.c>
RMode config
RGroups www-data
</ IfModule>
<IfModule itk.c>
AssignUserID admin admin
</ IfModule>
Alias / static /home/admin/web/domen.com/private/static
<Directory /home/admin/web/domen.com/private/static>
Require all granted
</ Directory>
<Directory /home/admin/web/domen.com/private/myproject>
<Files wsgi.py>
Require all granted
</ Files>
</ Directory>
WSGIScriptAlias / /home/admin/web/domen.com/private/myproject/wsgi.py
WSGIDaemonProcess myproject user = admin group = admin python-path = / home / admin / web / domen.com / private / env / lib / python3.5 / site-packages
WSGIProcessGroup myproject
IncludeOptional /home/admin/conf/web/apache2domen.com.conf*
</ VirtualHost>
I am satisfied by all of the admin. In WSGIDaemonProcess necessarily need to specify Ucero and Korhogo GROUP from all handled differently is a problem with access to the database
Initially block <IfModule mod_ruid2.c>
looks like this:
<IfModule mod_ruid2.c>
RMode config
RUidGid admin admin
RGroups www-data
</ IfModule>
But I removed vnem RUidGid admin group admin, as it blocked the start and gave a 503 error (if anyone knows of such a feature then write in the comments)
This server is ready to run.