README
author ymh <ymh.work@gmail.com>
Wed, 27 Oct 2010 23:43:15 +0200
changeset 15 397487a6bf90
parent 1 eb9188f2ee4f
permissions -rw-r--r--
new version 00.05
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
     1
==============================
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
     2
Dring 93 - Ubuntu 10.04
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
     3
==============================
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
     4
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
     5
1 - Database creation
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
     6
2 - Virtualenv installation
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
     7
3 - Settings
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
     8
4 - Database synchronization
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
     9
5 - .htaccess files
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    10
6 - WSGI script file
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    11
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    12
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    13
1 - Database creation
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    14
======================
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    15
Create a database in Postgres:
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    16
  createdb -U username -W -h 127.0.0.1 d
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    17
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    18
Access to te database in Postgres:
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    19
  psql -U username -W -h 127.0.0.1 dbname
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    20
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    21
\d to view the list of all relations
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    22
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    23
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    24
2 - Virtualenv installation
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    25
============================
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    26
Run the bootstrap script generator:
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    27
  python create_python_env.py 
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    28
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    29
Run project-boot.py this way:
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    30
  python hg/dring93/sbin/virtualenv/project-boot.py --no-site-packages --setuptools --unzip-setuptools --type-install=local --ignore-packages=MYSQL path/to/env/Env
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    31
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    32
To activate the environment:
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    33
  source path/to/env/Env/bin/activate
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    34
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    35
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    36
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    37
3 - Settings
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    38
=============
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    39
Enter the db settings in dring93/web/dring93/config.py:
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    40
DATABASES = {
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    41
    'default': {
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    42
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    43
        'NAME': 'dbDring',
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    44
        'USER': 'iriuser', 
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    45
        'PASSWORD': 'iriuser',
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    46
        'HOST': 'localhost',
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    47
        'PORT': '5432',
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    48
    }
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    49
}
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    50
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    51
Change the URL paths:
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    52
BASE_URL = '/dev/~user/dring93/'
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    53
WEB_URL = 'http://www.iri.centrepompidou.fr/'
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    54
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    55
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    56
In your public_html, create a symbolic link that points to the application:
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    57
  ln -s path/to/project/dring93 dring93
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    58
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    59
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    60
4 - Database synchronization
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    61
=============================
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    62
Synchronize the database, in dring93/web/dring93:
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    63
  python manage.py syncdb
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    64
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    65
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    66
5 - .htaccess files
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    67
====================
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    68
Write dring93/web/.htaccess:
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    69
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    70
# Permanent redirection to dring93/franculture
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    71
RedirectMatch permanent /~user/dring93/?$ /~user/dring93/dring93
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    72
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    73
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    74
Write dring93/web/dring93/.htaccess:
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    75
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    76
# Set environmental variables used in the wsgi file
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    77
SetEnv DJANGO_SETTINGS_MODULE dring93.settings
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    78
SetEnv PY_USE_XMLPLUS true
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    79
SetEnv PROJECT_PATH /path/to/project/dring93/web
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    80
SetEnv PYTHON_PATH /path/to/virtual/environment/Env/lib/python2.6/site-packages
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    81
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    82
Options ExecCGI FollowSymLinks
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    83
SetHandler wsgi-script
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    84
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    85
RewriteEngine On
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    86
RewriteCond %{REQUEST_FILENAME} !-f
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    87
RewriteRule ^(.*)$ /path/to/wsgiscript/modwsgi.wsgi/$1 [QSA,PT,L]
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    88
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    89
# html cache options
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    90
Header set Pragma "no-cache"
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    91
Header set Cache-Control "no-cache"
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    92
Header set Expires "-1"
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    93
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    94
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    95
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    96
6 - WSGI script file
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    97
======================
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    98
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    99
Write the WSGI file modwsgi.wsgi
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
   100
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
   101
import os, sys, site
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
   102
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
   103
def application(environ, start_response):
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
   104
        os.environ['DJANGO_SETTINGS_MODULE'] = environ['DJANGO_SETTINGS_MODULE']
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
   105
        os.environ['PY_USE_XMLPLUS'] = environ['PY_USE_XMLPLUS']
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
   106
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
   107
        sys.path.append(environ['PROJECT_PATH'])
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
   108
        site.addsitedir(environ['PYTHON_PATH'])
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
   109
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
   110
        import django.core.handlers.wsgi
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
   111
        _application = django.core.handlers.wsgi.WSGIHandler()
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
   112
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
   113
        return _application(environ, start_response)
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
   114
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
   115
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
   116
Notes:
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
   117
- The 'environ' argument is unrelated to the 'os.environ' argument. It catches the variables that were defined with 'SetEnv' in the .htaccess file.
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
   118
- 'sys.path.append' adds the project path to the PYTHONPATH
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
   119
- 'site.addsitedir' activates the virtual environment