It is just like me. I borrowed from http://michal.karzynski.pl/blog/2010/10/19/run-multiple-websites-one-django-project/
Basically, you will create a virtualhost entry in the http.conf file for each domain.
# Virtual hosts setup NameVirtualHost * <VirtualHost *> ServerName example1.com WSGIDaemonProcess APPLICATION_NAME processes=5 python-path=/home/USERNAME/webapps/APPLICATION_NAME:/home/USERNAME/webapps/APPLICATION_NAME/lib/python2.6 threads=1 WSGIScriptAlias / /home/USERNAME/webapps/APPLICATION_NAME/domain1.wsgi </VirtualHost> <VirtualHost *> ServerName example2.com WSGIDaemonProcess APPLICATION_NAME_www processes=5 python-path=/home/USERNAME/webapps/APPLICATION_NAME:/home/USERNAME/webapps/APPLICATION_NAME/lib/python2.6 threads=1 WSGIScriptAlias / /home/USERNAME/webapps/APPLICATION_NAME/domain2.wsgi </VirtualHost>
Then you will want to create two different wsgi files for each domain and place them in the directory where your project is located. WSGIScriptAlias ββis the path to the wsgi file, so make sure they are the same ...
Example Wsgi file:
import os import sys from django.core.handlers.wsgi import WSGIHandler os.environ['DJANGO_SETTINGS_MODULE'] = 'PROJECT_NAME.domain1_settings'
Then you need to create two additional settings files ... so you will have
settings.py domain1_settings.py domain2_settings.py
domain1_settings.py and domain2_settings.py import settings.py:
example domain1_settings.py:
from settings import * SITE_ID = 1 ROOT_URLCONF = 'domain1_urls' INSTALLED_APPS = ( 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages',
Finally, you will want to create two separate urls files.
domain1_urls.py and domain2_urls.py
domain1_urls.py will be the default for site_id 1, and domain2_urls.py will be the default for site_id 2.