俺だけのために Ore! Tips!

FreeBSD 6.0-R に Zope をセットアップ

2005年12月 2日 作業


FreeBSD で Zope を動かす。

とりあえず、インストールは packages で行ったので楽勝。何の問題も無し。
(ports から入れた場合でもやり方は一緒。make の最後に *** Error code 1 (ignored) と表示されることがあるが、文字通り無視してよい。そのまま make install してやればちゃんとインストールされる)

まず、インスタンス(実体データ)の置き場所を決め、そこに mkzopeinstance.py を実行し必要なファイルを作成するのでありんす。

gumi# mkdir /usr/local/share/Zope
gumi# /usr/local/bin/python2.3 /usr/local/www/Zope/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: /usr/local/share/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: xxx0001<本当は表示されない>
Verify password: xxx0001<本当は表示されない>
gumi# ls -la /usr/local/share/Zope
total 22
drwxr-xr-x   9 root  wheel   512 12  1 17:01 .
drwxr-xr-x  39 root  wheel  1024 12  1 17:00 ..
drwxr-xr-x   2 root  wheel   512 12  1 17:01 Extensions
drwxr-xr-x   2 root  wheel   512 12  1 17:01 Products
-rw-r--r--   1 root  wheel   410 12  1 17:01 README.txt
drwxr-xr-x   2 root  wheel   512 12  1 17:01 bin
drwxr-xr-x   2 root  wheel   512 12  1 17:01 etc
drwxr-xr-x   2 root  wheel   512 12  1 17:01 import
-rw-r--r--   1 root  wheel    40 12  1 17:01 inituser
drwxr-xr-x   2 root  wheel   512 12  1 17:01 log
drwxr-xr-x   2 root  wheel   512 12  1 17:01 var

うむ。ちゃんとファイルが出来ている。
続けて、設定ファイルの修正を行うのである。

gumi# cd /usr/local/share/Zope/etc
gumi# pwd
/usr/local/share/Zope/etc
gumi# ls -la
total 30
drwxr-xr-x  2 root  wheel    512 12  1 17:01 .
drwxr-xr-x  9 root  wheel    512 12  1 17:01 ..
-rw-r--r--  1 root  wheel  25778 12  1 17:01 zope.conf.sample
gumi# cp zope.conf.sample zope.conf
※とりあえず、何も編集せず起動するか試してみる(笑)
gumi# pwd
/usr/local/share/Zope/etc
gumi# grep python ../bin/zopectl
PYTHON="/usr/local/bin/python2.3"
SOFTWARE_HOME="/usr/local/www/Zope/lib/python"


よし、python のバージョンにも間違い無し(他のソフトの関係とかで、Python 2.4 系もインストールされている場合があるが、どうも Zope は 2.3系でないと問題あるらしい)

gumi# ../bin/zopectl start
. daemon process started, pid=11493

そして、すぐ落ちた・・・
ディレクトリのパーミションを変えるの忘れてた。

gumi# cd ../
gumi# chown -R root:nogroup *
gumi# chown -R nobody var
gumi# bin/zopectl start
/usr/local/lib/python2.4/whrandom.py:38: DeprecationWarning: the whrandom module is deprecated; please use the random module
DeprecationWarning)
. daemon process started, pid=21443
gumi# ps -aux|grep 21443
root    21456  0.0  0.4  1524   968  p1  S+    5:29PM   0:00.00 grep 21443

ありゃ、起動していない。もう落ちた?
もうひとつの起動コマンド runzope を実行してみる。

gumi# bin/runzope &

すると、「change the effective-user directive in zope.conf」とのエラーメッセージ。

etc/zope.conf に、
effective-user nobody
を追加。

再度、実行。
gumi# bin/runzope &

すると今度は
IOError: [Errno 13] Permission denied: '/usr/local/share/Zope/log/event.log'
というエラーメッセージ。

gumi# chown nobody log
gumi# bin/runzope &
------
2005-12-01T19:15:02 INFO(0) ZServer HTTP server started at Thu Dec  1 19:15:02 2005
        Hostname: gumi.netandfield.com
        Port: 8080
------
2005-12-01T19:15:02 INFO(0) ZServer FTP server started at Thu Dec  1 19:15:02 2005
        Hostname: gumi.netandfield.com
        Port: 8021
------
2005-12-01T19:15:02 INFO(0) Zope Set effective user to "nobody"
------
2005-12-01T19:15:03 INFO(0) Zope Ready to handle requests

うはぁ、やっと実行出来ましたよ。
runzope はエラーを吐いてくれるが、zopectl の方は何のエラーメッセージも出さないのでちょっとハマったよ。最初は runzope で起動してみるべきやね。

http://192.168.0.40:8080/ にアクセスして、Zope Quick Start 画面を見ることが出来ましたこのみ。

Zope スタート画面

前ページに戻る


Copyright (C) 2005 S.Maaasamasa.