このドキュメントは zc.buildout を用いた Zope の始め方について 説明しています。
zc.buildout は、与えられたソフトウェアの 設定と環境について同じものを繰り返し構築することをサポートする 強力なツールです。 Zope の開発者は Zope 開発に際して zc.buildout と関連するパッケージを使っています。
Zope を使うためには、以下の前提条件をそろえる必要があります:
ここでの設定方法では、 zc.buildout を使って Zope ソフトウェアを インストールしますが、サーバーの “インスタンス” は buildout 環境の外に生成します。
Zope ソフトウェアのインストールは、 zc.buildout を使って、 以下の手順で行います:
Linux では、以下のように行います:
$ wget http://pypi.python.org/packages/source/Z/Zope2/Zope2-<Zope version>.tar.gz
$ tar xfvz Zope2-<Zope version>.tar.gz
$ cd Zope2-<Zope version>
$ /path/to/your/python bootstrap/bootstrap.py
$ bin/buildout
これで Zope はインストールされ、次は インスタンスの作成 を行う必要があります。
Zope のインストールが終わったら、次は “インスタンスホーム” の作成を 行います。これは Zope サーバープロセスが使用する設定とデータファイルを 置くディレクトリです。インスタンスホームは mkzopeinstance スクリプト で以下のようにして作成します:
$ bin/mkzopeinstance
なお、必要であれば Python インタプリタを明示的に指定することも出来ます:
$ bin/mkzopeinstance --python=$PWD/bin/zopepy
mkzopeinstance の実行中に管理者アカウントのユーザー名とパスワード の入力を求められるでしょう。コマンドラインオプションの詳細を見るため には、スクリプトを --help オプション付きで実行します:
$ bin/mkzopeinstance --help
ノート
従来のような”同一ディレクトリ(inplace)”でのビルドはサポートされません。 mkzopeinstance は buildout 環境の外で行ってください。
ここまでは、 Zope 本体とインスタンスを分けて用意する方法を説明してきましたが、 もう一つの方法として、 zc.buildout を使って buildout 環境の中に Zope ソフトウェアと、設定と、インスタンスデータを一括で用意する事も出来ます。 このためには以下の手順で環境を構築して下さい:
buildout.cfg
[buildout]
parts = instance
extends = http://download.zope.org/Zope2/index/<Zope version>/versions.cfg
[instance]
recipe = zc.recipe.egg
eggs = Zope2
interpreter = py
scripts = runzope zopectl
initialization =
import sys
sys.argv[1:1] = ['-C',r'${buildout:directory}/etc/zope.conf']
これは最小の、しかし buildout の全ての有意な技術を使用している例です。
etc/zope.cfg
%define INSTANCE <インスタンスディレクトリのパス>
python $INSTANCE/bin/py[.exe Windowsで]
instancehome $INSTANCE
Zope2のeggの中には、完全なzope.cfgの設定が含まれています:
$ cat eggs/Zope2--*/Zope2/utilities/skel/etc/zope.conf.in
<zope.confの他の設定、例えば、データベースやログファイルなど>
環境を構築する例は以下のようになります:
$ mkdir /path/to/instance
$ cd /path/to/instance
$ mkdir etc logs var
$ wget http://svn.zope.org/zc.buildout/trunk/bootstrap/bootstrap.py
$ vi buildout.cfg
$ /path/to/your/python bootstrap.py
$ bin/buildout
$ cat eggs/Zope2--*/Zope2/utilities/skel/etc/zope.conf.in > etc/zope.conf
$ vi etc/zope.conf # replace <<INSTANCE_HOME>> with buildout directory
$ bin/zopectl start
インスタンスディレクトリ内の bin サブディレクトリに、 これ以降使っていくことになる runzope と zopectl スクリプトが作成されます。
zopectl は引数無しで起動する事で対話モードで使用することができます。 help や help <command> と入力すれば、各種コマンドを調べる ことができます。これらのコマンドはコマンドラインからも使用できます。
なお、 plone.recipe.zope2instance などのレシピを使うことで、前述の手順を自動化することが出来ます。
インストールが完了したら、 Zope の設定と実行 ドキュメントを参照して、 Zope の設定を行い、実行しましょう。
(Translated by Shimizukawa, r110522, original-site)