user1163236
user1163236

Reputation: 223

Django-apache integration using wsgi mod

I am trying to configure my apache with django but its giving me error urls.py not found. My django project name is mysite in directory /var/www My django app name is books in /var/www/mysite/books

Here are the directory contents of /var/www/mysite

ls -l /var/www/mysite
total 68
drwxrwxrwx 2 root    root    4096 2012-01-18 18:38 apache
drwxr-xr-x 2 ajinkya ajinkya 4096 2012-01-22 13:06 books
-rwxr-xr-x 1 ajinkya ajinkya   70 2012-01-18 18:37 index.html
-rwxr-xr-x 1 ajinkya ajinkya   63 2012-01-18 18:31 index.html~
-rwxrwxrwx 1 root    root       0 2012-01-12 21:04 __init__.py
-rwxrwxrwx 1 ajinkya ajinkya  124 2012-01-12 21:22 __init__.pyc
-rwxrwxrwx 1 root    root     503 2012-01-12 21:04 manage.py
-rw-rw-r-- 1 ajinkya ajinkya  665 2012-01-22 13:06 manage.pyc
-rwxrwxrwx 1 root    root    6166 2012-01-22 12:28 settings.py
-rwxrwxrwx 1 ajinkya ajinkya 6166 2012-01-18 18:22 settings.py~
-rw-rw-r-- 1 ajinkya ajinkya 3381 2012-01-22 13:06 settings.pyc
-rw------- 1 ajinkya ajinkya 1209 2012-01-14 13:53 urls.py
-rw------- 1 ajinkya ajinkya 1133 2012-01-14 13:53 urls.pyc
-rw------- 1 ajinkya ajinkya  431 2012-01-11 22:05 views.py
-rw------- 1 ajinkya ajinkya  709 2012-01-12 16:54 views.pyc
-rw------- 1 ajinkya ajinkya  350 2011-09-14 22:33 x.py

ls -l /var/www/mysite/books

total 52
-rw-r--r-- 1 ajinkya ajinkya  318 2011-09-21 06:22 admin.py
-rw-r--r-- 1 ajinkya ajinkya  356 2011-09-21 06:22 admin.pyc
-rw-r--r-- 1 ajinkya ajinkya  865 2012-01-09 16:17 forms.py
-rw-r--r-- 1 ajinkya ajinkya 1736 2012-01-09 16:17 forms.pyc
-rw-r--r-- 1 ajinkya ajinkya    0 2012-01-05 18:51 __init__.py
-rw-r--r-- 1 ajinkya ajinkya  142 2012-01-05 18:53 __init__.pyc
-rw-r--r-- 1 ajinkya ajinkya 1247 2012-01-05 19:03 models.py
-rw-r--r-- 1 ajinkya ajinkya 3282 2012-01-05 19:03 models.pyc
-rw-r--r-- 1 ajinkya ajinkya  582 2011-09-21 09:22 search.html
-rw-r--r-- 1 ajinkya ajinkya  383 2011-09-21 04:51 tests.py
-rw-r--r-- 1 ajinkya ajinkya  804 2012-01-22 13:06 tests.pyc
-rw-r--r-- 1 ajinkya ajinkya   16 2011-09-21 22:16 thanks.html
-rw-r--r-- 1 ajinkya ajinkya 2706 2012-01-11 22:05 views.py
-rw-r--r-- 1 ajinkya ajinkya 3361 2012-01-12 16:54 views.pyc

httpd.conf file in /etc/apache2/httpd.conf

MaxRequestsPerChild 1
ServerName localhost
PythonPath "['/var/www','/var/www/mysite','/var/www/mysite/books','/var/www/templates'] + sys.path"
DocumentRoot /var/www
<Location "/mysite/">
SetHandler python-program
    PythonHandler django.core.handlers.modpython
    SetEnv DJANGO_SETTINGS_MODULE mysite.settings
    PythonOption django.root /mysite
 PythonDebug On
</Location>
WSGIScriptAlias / /var/www/mysite/apache/django.wsgi

Sites available"localhost" file /etc/apache2/sites-available/localhost

<Virtualhost *:80>
ServerName localhost
DocumentRoot /var/www/mysite/   
<Directory /var/www/mysite>
Options FollowSymLinks
AllowOverride None
  Order allow,deny
  Allow from all
  SetEnv DJANGO_SETTINGS_MODULE mysite.settings
</Directory>
WSGIDaemonProcess mysite processes=2 threads=15 display-name=%{GROUP}
WSGIProcessGroup mysite
</Virtualhost>

django wsgi /var/www/mysite/apache/django.wsgi

import os
import sys

sys.path.insert(0, '/var/www')
sys.path.insert(1.'/var/www/mysite')
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'
from django.core.handlers.wsgi import WSGIHandler
application = WSGIHandler()

Upvotes: 1

Views: 479

Answers (1)

second
second

Reputation: 28637

it may be a permissions issue. apache (by default) runs as the user www-data, which needs to be able to read all django files, but your urls.py is

-rw------- 1 ajinkya ajinkya 1209 2012-01-14 13:53 urls.py

Upvotes: 0

Related Questions