yum -y install subversion

yum -y install postgresql postgresql-server

cd /opt

svn co http://code.djangoproject.com/svn/django/trunk/ django-trunk

ln -s /opt/django-trunk/django /usr/lib/python2.5/site-packages/django

ln -s /opt/django-trunk/django/bin/django-admin.py /usr/local/bin

yum -y install python-psycopg2

yum -y install httpd

yum -y install mod_ssl

yum -y install mod_python

service httpd start

echo "/dev/sdh /vol ext3 noatime 0 0" >> /etc/fstab

mkdir /vol

mount /vol

df --si

useradd reality.tree

   1.       ...     

2.       # Set defaults for configuration variables     

3.       PGENGINE=/usr/bin     

4.       PGPORT=5432     

5.       PGDATA=/var/lib/pgsql     

6.       if [ -f "$PGDATA/PG_VERSION" ] && [ -d "$PGDATA/base/template1" ]     

7.       then     

8.               echo "Using old-style directory structure"     

9.       else    

10.               PGDATA=/var/lib/pgsql/data    

11.       fi    

12.       PGDATA=/vol/pgsql/data    

13.       PGLOG=/vol/pgsql/pgstartup.log    

14.       ...  

svn checkout https://reality-tree.googlecode.com/svn/trunk/ reality-tree --username <svn user name>

<Location "/">

SetHandler python-program

PythonHandler django.core.handlers.modpython

PythonPath "['/var/www/html/reality-tree'] + sys.path"

SetEnv DJANGO_SETTINGS_MODULE crt_django.settings

PythonDebug On

</Location>

Alias /static /var/www/html/reality-tree/crt_django/static

<Location "/static/">

     SetHandler None

</Location>

Alias /media /opt/django-trunk/django/contrib/admin/media

<Directory /opt/django-trunk/django/contrib/admin/media/>

     Allow from all

</Directory>  

<Location "/media/">

     SetHandler None

</Location>  

<LocationMatch "\.(jpg|gif|png)$">

     SetHandler None

</LocationMatch>  

The advantage is that by knowing & constraining your app, the service can do lots of stuff for you (deployment, auto-scaling &c), & allow you to focus just on business logic