Zope 2.10 のインストール

Python のバージョンを確認

Zope 2.10 を動かすには Python 2.4.3 または 2.4.4 が必要です(2.4.4 推奨、2.5.x は未対応)。まず -V オプションを付けてPython を起動、そのバージョンを確認してください。

$ python -V
Python 2.4.4

2.4.3/2.4.4 以外のバージョンが表示された場合は、別途 2.4.4 をインストールしましょう。別バージョンのインストール方法については InstallingAnotherVersionOfPython を参照してください。

zope アカウントの登録

公開サーバ上で Zope を動かす場合、通常 zope プロセスは専用のアカウント を使って動かします。adduser コマンドを使ってユーザ zope とグループ zope を登録、zope のホームディレクトリを作成してください(RedHat の場合 adduser コマンドだけで同名のグループとホームディレクトリ /home/zope が作成されます)。

$ sudo adduser zope

インストール

Zope 2.10.5 を /opt/Zope-2.10.5 にインストールするものとして説明をします。

zope.org からソースをダウンロードして展開した後、configure と make を実行します。

$ sudo mkdir /opt/Zope-2.10.5
$ tar zxvf Zope-2.10.5-final.tgz
$ cd Zope-2.10.5-final
$ ./configure --prefix=/opt/Zope-2.10.5
$ make
$ sudo make install

Python 2.4.3/2.4.4 をシステム標準の Python とは別にインストールしているときは configure に --with-python オプションが必要です。

$ ./configure --with-python=/opt/python2.4.4/bin/python --prefix=/opt/Zope-2.10.5

インストールが完了したら ユーザ zope の権限で mkzopeinstance.py を実行し、データや設定ファイルを置くインスタンス・ディレクトリと管理者アカウントを設定します。なお、似た名前のスクリプトに mkzeoinstance.py というのがあるので間違えないように注意してください。

$ sudo -u zope /opt/Zope-2.10.5/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/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                 <- 管理者アカウント名
Password:                       <- パスワードを入力
Verify password:                <- もう一度パスワードを入力

以上でインストールは完了ですが、Zope は標準の文字のエンコーディングに iso-8859-15 を使うようになっているため、utf-8 に変更しておきましょう。設定ファイル /home/zope/zope.conf では以下の行がコメントアウトされているので、行頭の # を削除して有効にします。

default-zpublisher-encoding utf-8

設定を変更したら Zope を起動して動作を確認してみましょう。起動用のスクリプト zopectl はインスタンス・ディレクトリの下にある bin にインストールされています。

$ sudo -u zope /home/zope/bin/zopectl  start
. daemon process started, pid=15593

デフォルトの設定で Zope は 8080 番ポートを使用するようになっているため、URL http://ホスト名:8080/ でアクセスできます。また管理画面の URL は http://ホスト名:8080/manage となります。管理画面へのアクセスには mkzopeinstance.py で設定したユーザ名とパスワードを使用します。

起動に失敗したときはエラーメッセージを確認してください。多くの場合 root の権限で起動しようとしていたり、インスタンス・ディレクトリの var や log に正しいパーミッションを設定していないことが原因です。

停止する場合もやはりユーザ zope 権限で zopectl を実行します。

$ sudo -u zope /home/zope/bin/zopectl  stop
. daemon process stopped

管理画面(ZMI Zope Management Interface)で使用する文字コードの設定

Zope で使用する文字コードの設定 ルート・フォルダに string タイプのプロパティ management_page_charset を追加、使用する文字コード(UTF-8)を値に設定します。管理画面にログインしたら Properties タブをクリックして、次のように入力してください。

細かな設定

一般的な HTTP ポートを80番を使用し、ログと pid ファイルをそれぞれ /var/log/zope と /var/run/zope に変更する例を示します。

まずログと pid 用のディレクトリを用意し、パーミッションを設定します。

$ sudo mkdir /var/log/zope
$ sudo chmod 750 /var/log/zope
$ sudo chown zope:zope /var/log/zope
$ sudo mkdir /var/run/zope
$ sudo chown zope:zope /var/run/zope/

設定ファイル /home/zope/etc/zope.conf の以下の部分を変更します。

effective-user zope # 常に ユーザ zope 権限で起動する

pid-filename /var/run/zope.pid # pid ファイルのパス

<http-server>
 # valid keys are "address" and "force-connection-close"
 address 80 # HTTP ポートは80番を使用
 # force-connection-close on
 # You can also use the WSGI interface between ZServer and ZPublisher:
 # use-wsgi on
</http-server>

<eventlog>
 level info
 <logfile>
   path /var/log/zope/event.log # イベントログのパス
   level info
 </logfile>
</eventlog>

<logger access>
 level WARN
 <logfile>
   path /var/log/zope/access.log # アクセスログのパス
   format %(message)s
 </logfile>
</logger>

自動起動用のスクリプト例

RedHat 系 Linux なら以下のスクリプトを /etc/init.d/zope として保存、実行パーミッションを付加してから chkconfig zope on します。

#!/bin/sh
# zope Init script for starting up the Zope server
#
# chkconfig: - 87 12
# description: Zope Application Server
#
# config: /home/zope/etc/zope.conf
# pidfile: /var/run/zope/zope.pid

case "$1" in
   start|stop|status|restart|help)
       su -c "/home/zope/bin/zopectl $@"
       ;;
   *)
       echo $"Usage: $0 {start|stop|status|restart|help}"
       exit 1
esac
exit 0

最終更新 2007-12-09 18:18:56

Yasushi Iwata のウェブログです。

XML-Image Letterimage

© 2007, Yasushi Iwata