Mac OS X Snow Leopard で行う必要があるのは次のとおりです。
- djangoappengine ディレクトリを「ROOT/common-apps」に直接配置します。common-apps ディレクトリの外に配置すると、appengine が混乱し、ROOT を PROJECT_DIR として使用する代わりに、djangoappengine ディレクトリを PROJECT_DIR として使用する可能性があります。また、common-apps ディレクトリにinit .py を追加する必要がある場合もあります。
- django-nonrel を ROOT ディレクトリの外側に配置し、ROOT/common-apps/django から NONROOT/django-nonrel/django へのシンボリック リンクを作成します。django-nonrel を common-apps ディレクトリに直接配置すると、デプロイ時に app-engine の 3000 ファイル アップロード制限を超える可能性があります。
- 空の ROOT/public ディレクトリを作成します。Passenger は、このディレクトリの親をプロジェクト ルートとして使用します。
- MYAPPNAME.local が /etc/hosts であると仮定して、Apache vhost を以下のように構成します。
- Passenger_wsgi.py を作成し、以下のように ROOT ディレクトリに配置します。
仮想ホスト:
<VirtualHost *:80>
ServerName MYAPPNAME.local
DocumentRoot /Users/mike/Projects/ROOT/public
<Directory /Users/mike/Projects/ROOT/public>
AllowOverride all
Options -MultiViews
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Passenger_wsgi.py:
import os, sys
# BUG there must be a better way than listing everything individually...
sys.path.append('/Users/mike/Projects/ROOT/')
sys.path.append('/Users/mike/Projects/ROOT/common-apps/')
sys.path.append('/Users/mike/Projects/NONROOT/django-nonrel/')
sys.path.append('/usr/local/google_appengine/')
sys.path.append('/usr/local/google_appengine/lib/yaml/lib/')
sys.path.append('/usr/local/google_appengine/lib/antlr3/')
sys.path.append('/usr/local/google_appengine/lib/django/')
sys.path.append('/usr/local/google_appengine/lib/cacerts/')
sys.path.append('/usr/local/google_appengine/lib/ipaddr/')
sys.path.append('/usr/local/google_appengine/lib/webob/')
sys.path.append('/usr/local/google_appengine/google/appengine/api/')
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
うまくいけば、私は何か重要なことを忘れていませんでした。