Installing mod_wsgi on WAMP server running on Windows 7

These are the following things you need to do to setup Apache for Django. I assume you are using Python 2.7 (32-bit) on Windows (32-bit) with WAMP server (32-bits) installed.

  1. Download mod_wsgi-win32-ap22py27-3.3.so. Or download your respective .so compatible file

  2. Change its name to mod_wsgi.so and copy it to /Program Files/Apache Software Foundation/Apache22/modules on Windows.

  3. Open httpd.conf using Admin rights. Now, you will find a list of lines with LoadModule .... Just add LoadModule wsgi_module modules/mod_wsgi.so to that list.

    Your are partially done.. you can restart the apache and shouldn't find any errors.

  4. Now you need to link it to your Django project.

  5. In your Django project root folder, add apache folder and create django.wsgi (don't change this name) and apache_mydjango.conf.

  6. In httpd.conf add the following line at the bottom of the page.

    Include "d:/projects/mysite/apache_django_wsgi.conf"

Open django.wsgi and add the following lines:

import os, sys

sys.path.append('d:/projects/mysite')
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'

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

Open apache_djang_wsgi.conf and add:

Alias /images/ "d:/projects/mysite/templates/images/"
<Directory "d:/projects/mysite/images>
Order allow,deny
Allow from all
</Directory>

WSGIScriptAlias / "d:/projects/mysite/apache/django.wsgi"

<Directory "d:/projects/mysite/apache">
Allow from all
</Directory>

<VirtualHost *:80>
    DocumentRoot d:/projects/mysite
    ServerName 127.0.0.1

</VirtualHost>

Note:

I am assuming your Django project hierarchy is something like this:

mysite/
        mysite/
                 settings.py
                 urls.py, wsgi.py.
        manage.py
        <apache> / apache_django_wsgi.conf, django.wsgi

Best tutorial links:

  1. port25.technet.com | Published my microsoft.
  2. mod_wsgi Quick Install guide
  3. Django site
  4. Django site

Actually I don't understand why people are unable to fix it. I've seen lots of questions on it here and I even posted few...So, I thought to write a initial setup version directly as answer