2006/03/07 更新
このFAQを書いたきっかけについては Zopeメモのアーカイブを参照して下さい。
ご意見ご感想は、Zopeメモメーリングリストに投稿してみてください
Zope 2.x について書いています。Zope 3.x は別物と考えて、他をあたってください。
一言ではとても言い表せません。十分とはいえませんがこちら で解説しています。
1冊だけ選べというのであれば、The ZopeBook でしょう。翻訳本もありますが元になった版の対象とする Zope のバージョンがやや古いので、英語に抵抗が無ければ、オリジナルのものが良いでしょう。原著にはオンライン版もあります。
もう1冊ということであれば、Zope Bibleをお勧めします。
もっと他には?という方はこちらをご覧下さい。
いろんな OSで動作します。
MS Windows にはバイナリが用意されています(安定性の面で 95/98/Me はやめたほうが良いでしょうが)。
UNIX の仲間(含 Linux/FreeBSD)で Cコンパイラがあれば、ソースからビルドして動く可能性大です。その場合
が必要です。
NetBSD では Zopeのpackage(pkgsrc) があれば、それを使うと良いでしょう。
現在2つの系統のバージョンがあります
それぞれ別のものと考えるのが良いでしょう。 3.x 系は、普通 Zope 3 と呼ばれ、Zope とバージョン番号なしで書かれているものは 2.x のことを言っています。
Zope は、それを動かすのに必要な Python のバージョンに依存しますし、Plone を使う場合は、サポートしているバージョンの Zope を使う必要があります。
Windows の場合は、インストーラーから、UNIX系の場合はソースからインストールするのが良いでしょう。
以下は、ソースからインストールする場合の超抜粋($(INSTANCE_HOME)は、どこかインストールしたい場所)
|
bash-2.05b$ /opt/Zope-2.7/bin/mkzopeinstance.py Please choose a directory in which you'd like to install Zope "instance home" files such as database files, configuration files, etc. Directory: /home/nakagami/zope <---------(1) Zope インスタンスを作るディレクトリを入力 Please choose a username and password for the initial user. These will be the credentials you use to initially manage your new Zope instance. Username: admin <----------(2) 管理者のユーザーIDを入力 Password: <----------(3) 管理者のパスワードを入力 Verify password: <----------(4) もう1回パスワードを入力 |
詳しくはThe Zope Bookの該当する章を見てください。
Plone.org の ダウンロードサイトには、 各プラットフォームのインストールパッケージ形式のアーカイブがあります。 これらでは、Zope の他に Plone や、いろいろなおまけプロダクトもインストール されてさらにお得です。
Windowsへのインストールは紅茶好きの猫さんの書いた手順がわかり易いと思います。
Zopeのインストールはそのままに、手前に Squidを置く方法はこちらを見て下さい。
Zope の設定だけでやるのは・・・
2.7 の場合は、まず、$(INSTANCE_HOME)/etc/zope.conf の http-server
ディレクティブのところの address 8080 を 80 に変更します。
次に、Zope を実行する root でないユーザーID を決め(以下では foo)
$(INSTANCE_HOME)/etc/zope.conf に effective-user foo を加えます。
以上の設定を行なったあと、Zopeの起動を root で行なうように設定します。
日本語を使うの意味に大きく4つの意味に分けられます(狭義に日本語を使うというのは 1.に相当するでしょう)。
いずれの場合も文字コードは、UTF-8 もしくは EUC-JP
を使いましょう。Zope 自体が UNICODE centric
な方向に進んでいるので、連動する RDBMS等の事情が許せば
UTF-8 を使うのが良いでしょう。
Shift JIS 、7bit JIS
では使用できないと考えたほうが良いです。(どうしても使いたい場合は、自分でプログラムするか、フロントに
DeleGate等の文字コード変換プロキシを置くようにする方法が考えられますが)
管理画面(ZMI)で、フォルダオブジェクトのプロパティに management_page_charset (文字列型)として、'UTF-8' や 'EUC-JP' を設定すると、そのフォルダ内では指定した文字コードで DTML や Page Template が編集できる(=日本語表示のWebページが作れる)ようになります。
Zope にはオブジェクトを検索するための ZCatalog というオブジェクトがあります。ZCatalog による検索については The Zope Book を参照してください。オリジナルの Zopeのままでは、日本語の検索ができません。日本語での検索を可能にするためには、日本語のための Splitterが必要になります。初心者であれば、インストールが簡単な ejSplitter を使うのが良いでしょう。
Zopeのバージョンが2.6 以降であれば jaMailHost をインストールします。
一貫して、文字コードに UTF-8 もしくは EUC-JP
を使うのであれば、特に必要なものはありません。文字コード変換を行いたい場合は、Zope
を起動している Python
に日本語関連のモジュールをインストールすれば、そのモジュールが使えるようになります。
いろいろありますが、ここでは
を紹介しておきます。
基本的には、アーカイブを解いて、$(INSTANCE_HOME)/Products (2.6 の場合は lib/python/Products) ディレクトリにコピーすることによりインストールしますが、手順については、プロダクトのアーカイブの中にあるはずです。
プロダクトは、ものによって品質にばらつきがあり、Zopeのバージョンが上がることにより動かなくなっているものもありますので、その点注意が必要です。使うにあたっては
を確認する必要があります。業務で使うような場合は、いざとなればソースを見て自分で直すぐらいの意気込みが必要です。
また、Zope のバージョンが上がることにより、そのプロダクトが動かなくなってしまう可能性があります。そのときに
のいずれかになるので、プロダクト自体のメンテナンスが続けられそうかどうか(また、過去にデータ移行ツールが用意されたかなど) 、ソースを見て自分でもメンテナンスできそうか、を確認しておいたほうが良いでしょう。
使い方については、The Zope Book を参照してください。
私は、以下のデータベースを使ってみたことがあります
MySQLを使ってないのは、単に嗜好の問題で、実績はあるようです。
ZODBCDAは、現状では、難ありですが、ソースを直せばちゃんと動きそうです。コンパイラを持っている方、直してください。
Zopeに同梱されている ZGadflyDA は、実用には耐えないようです。
Zopeのソースを読みましょう。特に lib/pythyon/App にある管理画面(ZMI)のソースが参考になります。
Zopeを debug mode で起動していませんか?
Zope 2.6 以前の場合は、start スクリプト(Windowsでは start.bat)で
z2.py 起動している行の -D オプションを外してみましょう。
Zope 2.7 以降の場合は、etc/zope.conf に debug-mode offを追加してみましょう。
それでも遅いと思っているあなたの Zope マシンが大量のメモリをもっているなら、etc/zope.conf の <zodb_db main>~</zodb_db> の中で cache-size 20000 などと、キャッシュサイズを大きくしてみると良いでしょう。