パーソナルツール
現在位置: ホーム MY CLEF Ploneをoldstyleな環境からbuildout環境へ移行する
ドキュメントアクション

Ploneをoldstyleな環境からbuildout環境へ移行する

いずれはbuildoutに移行する必要があるので移行を試みてみます。基本的にはディレクトリ構造が変化するだけでoldstyle風に運用することは可能なはずです。デフォルトのbuildoutではZopeとPloneがセットアップされますので、とりあえずそれを使い、その他のプロダクトはbuildoutを使わずにoldstyleでProductsフォルダへ放り込んでしまえばよいと思われます。ということでまずはoldstyle風の環境へ移行してみます。

とりあえず素のbuildout環境を作ります。easy_installをインストールし、

easy_install ZopeSkel

とすれば必要なモノは取りそろうはずです。
「paster create --list-template」で「plone3_buildout」が見えていれば問題ないでしょう。

$ paster create --list-template
Available templates:
  archetype:          A Plone project that uses Archetypes
  basic_namespace:    A project with a namespace package
  basic_package:      A basic setuptools-enabled package
  basic_zope:         A Zope project
  kss_plugin:         A KSS plugin template
  nested_namespace:   A project with two nested namespaces.
  paste_deploy:       A web application deployed through paste.deploy
  plone:              A Plone project
  plone2.5_buildout:  A buildout for Plone 2.5 projects
  plone2.5_theme:     A Theme for Plone 2.5
  plone2_theme:       A Theme Product for Plone 2.1 & Plone 2.5
  plone3_buildout:    A buildout for Plone 3 projects
  plone3_portlet:     A Plone 3 portlet
  plone3_theme:       A Theme for Plone 3.0
  plone_app:          A Plone App project
  plone_hosting:      Plone hosting: buildout with ZEO and any Plone version
  plone_pas:          A Plone PAS project
  recipe:             A recipe project for zc.buildout
  silva_buildout:     A buildout for Silva projects

「plone3_buildout」テンプレートを指定してnagosui.orgというbuildout環境を生成しました。途中でいろいろ尋ねられますが、デフォルトのままでよっぽど大丈夫でしょう。
今はテスト稼動のためにHTTPポートを9080に指定しています(後ほど8080に変更します)。

$ paster create -t plone3_buildout nagosui.org
Selected and implied templates:
  ZopeSkel#plone3_buildout  A buildout for Plone 3 projects

Variables:
  egg:      nagosui.org
  package:  nagosuiorg
  project:  nagosui.org
Enter zope2_install (Path to Zope 2 installation; leave blank to fetch one) ['']:
Enter plone_products_install (Path to directory containing Plone products; leave blank to fetch one) ['']:
Enter zope_user (Zope root admin user) ['admin']:hoge
Enter zope_password (Zope root admin password) ['']: hogehoge
Enter http_port (HTTP port) [8080]: 9080
Enter debug_mode (Should debug mode be "on" or "off"?) ['off']:
Enter verbose_security (Should verbose security be "on" or "off"?) ['off']:
Creating template plone3_buildout
Creating directory ./nagosui.org
  Copying README.txt to ./nagosui.org/README.txt
  Copying bootstrap.py to ./nagosui.org/bootstrap.py
  Copying buildout.cfg_tmpl to ./nagosui.org/buildout.cfg
  Recursing into products
    Creating ./nagosui.org/products/
    Copying README.txt to ./nagosui.org/products/README.txt
  Recursing into src
    Creating ./nagosui.org/src/
    Copying README.txt to ./nagosui.org/src/README.txt
  Recursing into var
    Creating ./nagosui.org/var/
    Copying README.txt to ./nagosui.org/var/README.txt
-----------------------------------------------------------
Generation finished
You probably want to run python bootstrap.py and then edit
buildout.cfg before running bin/buildout -v

See README.txt for details
-----------------------------------------------------------

最後のドキュメンテーションを読むと、このあと

  • 「python bootstrap.py」を実行する
  • (必要があれば)buildout.cfgを編集する
  • 「bin/buildout -v」を実行する

という手順になるようです。

今作ったディレクトリに入って中身を確認すると、確かに「bootstrap.py」が見えます。

$ cd nagosui.org
$ ls
README.txt  bootstrap.py  buildout.cfg  products/  src/  var/

ここで「python bootstrap.py」を実行します。ウチではpythonのバージョン2.3と2.4と2.5が入っていますので、バージョン2.4を使うために「python bootstrap.py」ではなく「python2.4 bootstrap.py」としています。

$ python2.4 bootstrap.py
Creating directory '/home/nyusuke/nagosui.org/bin'.
Creating directory '/home/nyusuke/nagosui.org/parts'.
Creating directory '/home/nyusuke/nagosui.org/eggs'.
Creating directory '/home/nyusuke/nagosui.org/develop-eggs'.
Generated script '/home/nyusuke/nagosui.org/bin/buildout'.

これで「bin/buildout」スクリプトが生成されましたので、これを実行します。ちなみに「-h」や「--help」オプションを付けると詳細な使用法を参照できます。「-v」はverboseモード(ログ出力モード)です。

$ bin/buildout -v

環境ができあがったので内容を確認してみます。

$ ls
README.txt  bootstrap.py  develop-eggs/  eggs/   products/  var/
bin/        buildout.cfg  downloads/     parts/  src/

移行に関係ありそうなのは、「products」「var」の2つでしょうか。productsディレクトリには今まで通りREADME.txtしかありませんが、varディレクトリの方は「filestorage」「instance」「log」のサブディレクトリがあるようです。

$ ls var/
README.txt  filestorage/  instance/  log/

試しに素の状態でZopeを起動させてみるとfilestorageディレクトリにData.fsが生成されましたので、これまでのData.fsをfilestorageディレクトリにコピーすればよいようです。
プロダクトに関しては、Plone自体は「parts/plone」ディレクトリに入っていますので、手順としては

  • Plone以外のプロダクトをproductsディレクトリにコピー
  • Data.fsをvar/filestorageディレクトリにコピー

すればいいような気がします。

コピーしたらインスタンスを立ち上げます。これまでの「zopectl」コマンドは「instance」コマンドに名前が変わったので

$ bin/instance start

とします。
ただし私の環境ではFSS、ATAmazonでエラーが出ましたので、この2つを外して起動しました。

とりあえず起動できて、もうこれでいいやと思ってしまいましたので、HTTPポートを8080へ変更します。

HTTPポートはbuildout.cfgで設定されていますのでこれを編集します。

[instance]
...
...
http-address = 8080

編集したら変更を反映させるためにbuildoutスクリプトを実行します。

$ bin/buildout -v

最後にインスタンスをリスタートして移行完了とします。

カテゴリ
Zope Zope
Plone Plone
コメントを追加

下のフォームに記入してコメントを追加することができます。プレーンテキスト形式。

(必須)
(必須)
(必須)

このBlogについて
Plone, Zope, Pythonなどのトピックについてのメモです。
カテゴリ
Plone (101)
Plone Products (23)
COREBlog2 (31)
COREBlog1 (29)
ReadingCOREBlog (7)
Zope (66)
Turbogears (18)
Django (12)
Python (27)
Linux (32)
Nagosui (13)
Design (35)
Misc (49)
moblog (5)
Mac (1)
最近のエントリ
Ploneのレイヤー機能を使ってテーマを管理する nyusuke 2010年01月03日
MacOSXにPython2.4をインストール nyusuke 2009年03月21日
Ploneを3.1から3.2へアップグレード nyusuke 2009年03月01日
Plone3.2+その他もろもろのレシピ nyusuke 2009年03月01日