Date: 2009-09-05
Tags: python

buildoutで開発 番外編2: buildoutでDeliverance環境を作る

Zope/Plone勉強会3 でDeliverance環境を作った手順をまとめてみました。 とりあえず環境を作りたい!という人向け。

ちなみにDeliveranceについては以下を参照ください。

環境を作る

とりあえずVirtualEnv環境を作ります。PythonとVirtualEnvは入っている前提で。

deliv1フォルダにbuildout.cfgを書きます:

[buildout]
parts = deliverance

# mr.developer
extensions = mr.developer
sources = sources
auto-checkout = deliverance

[deliverance]
recipe = zc.recipe.egg
eggs =
    deliverance
    PasteScript
    PasteDeploy

[sources]
deliverance = svn http://codespeak.net/svn/z3/deliverance/trunk

buildoutを実行します。

Deliveranceの設定ファイル等をPasterで自動生成します。

できました。現時点のファイル構成:

c:\\Project\\buildout\\deliv\
  +--bin
  |  +-- deliverance-handtransform-script.py
  |  +-- deliverance-handtransform.exe
  |  +-- deliverance-proxy-script.py
  |  +-- deliverance-proxy.exe
  |  +-- deliverance-speed-script.py
  |  +-- deliverance-speed.exe
  |  +-- deliverance-static-script.py
  |  +-- deliverance-static.exe
  |  +-- deliverance-tests-script.py
  |  +-- deliverance-tests.exe
  |  +-- develop-script.py
  |  +-- develop.exe
  |  +-- paster-script.py
  |  +-- paster.exe
  |
  +--DelivTest
  |  +--etc
  |  |  +-- deliv-users.htpasswd
  |  |  +-- deliverance.xml
  |  |  +-- supervisor.d
  |  |  +-- supervisord.conf
  |  +--logs
  |  +--theme
  |  |  +-- style.css
  |  |  +-- theme.html
  |  +--var
  |
  +--develop-eggs
  +--parts
  +--src
      +--deliverance
          + deliveranceのソースコード

【注意】ここで、Windowsの人はDeliveranceの不具合修正が必要かも. ここからパッチを取得してください

Deliveranceを設定する

Deliveranceのコンフィグファイル DelivTest/etc/deliverance.xml をちょっと書き換えます。

  1. htpasswd形式のファイルがめんどくさいので、管理画面のID/PWを直接指定します

  2. proxy先をgoogleにしてみます

  3. rule設定として、styleを全部削除してみます

deliverance.xml:

<ruleset>
  <server-settings>
    <server>localhost:8000</server>
    <execute-pyref>true</execute-pyref>
    <dev-allow>127.0.0.1</dev-allow>
    <dev-user username="admin" password="admin" />
  </server-settings>

  <proxy path="/_theme">
    <dest href="{here}/../theme" />
  </proxy>

  <proxy path="/">
    <dest href="http://www.google.co.jp" />
  </proxy>

  <theme href="/_theme/theme.html" />

  <rule>
    <drop content="//head/style" />
    <replace content="children:body" theme="children:#content" nocontent="abort" />
  </rule>
</ruleset>

実行

起動します。

ブラウザで http://localhost:8000/ にアクセスすると、 へんなGoogleの画面になるはず。

あとはtheme.htmlの書き方とか、ruleの書き方を勉強してカスタマイズするべし。