apache 500 internal error when updating from django 1.3 to 1.4

376 views Asked by At

Originally when I installed Django 1.3 with wsgi on my ubuntu server I used the included setup.py file and so when I wanted to update followed the Remove any old versions of Django section of the install guide by renaming the "django" folder in my site-packages "django.old" and then installing the new version by using the the setup.py file for Django 1.4

After restarting my apache server I got a standard 500 Internal error. I checked the apache error log and discovered that ADMIN_MEDIA_PREFIX has been deprecated so following the Django 1.4 release notes I removed ADMIN_MEDIA_PREFIX from the settings file and moved the admin files into the static directory under a folder called "admin" as indicated.

I restarted my apache server again and received the same standard 500 error but this time when I tried running a tail on the apache error log no new errors registered.

Without any further error messages I am really stuck so any help will be appreciated.

Below is the content of my apache site config file and the wsgi file

site config:

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName  www.mysite.com
    ServerAlias mysite.com

    # Indexes + Directory Root.
    # DirectoryIndex index.html index.htm index.php
    DocumentRoot /home/www/www.mysite.com/htdocs/

    # CGI Directory
    ScriptAlias /cgi-bin/ /home/www/www.mysite.com/cgi-bin/
    <Location /cgi-bin>
            Options +ExecCGI
    </Location>

    # Logfiles
    ErrorLog  /home/www/www.mysite.com/logs/error.log
    CustomLog /home/www/www.mysite.com/logs/access.log combined

    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>
    <Directory /home/www/www.mysite.com/htdocs/>
            Options FollowSymLinks MultiViews
            AllowOverride All
           allow from all
    </Directory>

    ### Connect Django to the URL using WSGI (the django recommended method)
    WSGIScriptAlias /myproject /django/myproject/django.wsgi

    ### Alias to the location of the static dir (images, css, js etc.)
    Alias /myproject/static /django/myproject/static
    <Directory /django/myproject/static>
            Order deny,allow
            allow from all
    </Directory>
</VirtualHost>

django.wsgi:

import sys
import os
import django.core.handlers.wsgi

sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/..')
os.environ['DJANGO_SETTINGS_MODULE'] = 'myproject.settings'

application = django.core.handlers.wsgi.WSGIHandler()

sys.path.insert(0, '/django/myproject/')
sys.path.insert(0, '/django/myproject/')

from django.core.handlers.wsgi import WSGIHandler

application = WSGIHandler()

Please note I have tried to remove or rename any identifying information from these files for security reasons, so if there is an obvious syntax error etc. it is probably due to this editing. The original versions of these files are the same accept for the name changes and worked well under Django 1.3

1

There are 1 answers

1
Cícero Verneck Corrêa On

django 1.4 have a wsgi.py file configuratiom included:

See the documentation: https://docs.djangoproject.com/en/1.4/howto/deployment/wsgi/#the-application-object