Zope

準備

VinePlusから以下をdownloadし、rpmでインストールpythonは1.5入っているので
インストール後リンクをする。
expat-1.95.2-0vl3.i386.rpm
expat-devel-1.95.2-0vl3.i386.rpm
libexpat-1.95.2-0vl3.i386.rpm --- 必須
python2.1-2.1.3-0vl2.i386.rpm --- 必須
python2.1-devel-2.1.3-0vl2.i386.rpm --- 必須
python2.1-tkinter-2.1.3-0vl2.i386.rpm
python2.1-tools-2.1.3-0vl2.i386.rpm

# rpm -ivh expat-* libexpat-1.95.2-0vl3.i386.rpm
# rpm -ivh python2.1-*

# cd /usr/bin
# mv python python.org
# ln -s python2.1 python

バージョン確認
$ python -v
# /usr/lib/python2.1/site.pyc matches /usr/lib/python2.1/site.py
import site # precompiled from /usr/lib/python2.1/site.pyc
(略)
Python 2.1.3 (#1, Oct  4 2002, 22:16:42)
       ^^^^^^<---Version情報

これで準備完了。

ただし、Vine2.6r3ではXwindowからコントロールパネル ->ネットワークを
開くとき以下のようなエラーが出る

Traceback (most recent call last):
  File "/usr/lib/rhs/netcfg/netcfg_ja.py", line 32, in ?
    from rhentry import *
  File "/usr/lib/rhs/python/rhentry.py", line 21, in ?
    import rand
ImportError: No module named rand

これではGUIではネットワークの設定ができなくなる(Pythonのバージョン違いによる)

Zopeのインストール

ZopeからZope-2.6.4-src.tgz をDownload。2.7はpythonが2.3.2以降しか対応していないため2.6をインストール
$ tar zxvf Zope-2.6.4-src.tgz
$ cd Zope-2.6.4-src
$ python w_pcgi.py
(略)
running build_ext
chmod 0711 /home/okada/Zope-2.6.4-src/var
------------------------------------------------------------------------------
setting dir permissions
------------------------------------------------------------------------------
creating default database
chmod 0600 /home/okada/Zope-2.6.4-src/var/Data.fs
------------------------------------------------------------------------------
Creating start script, start
chmod 0711 /home/okada/Zope-2.6.4-src/start
------------------------------------------------------------------------------
Creating stop script, stop
chmod 0711 /home/okada/Zope-2.6.4-src/stop
------------------------------------------------------------------------------
creating default inituser file
Note:
        The initial user name and password are 'admin'
        and 'Bfjm9Un!'.  <--adminのパスワードが表示される

        You can change the name and password through the web
        interface or using the 'zpasswd.py' script.

chmod 0600 /home/okada/Zope-2.6.4-src/inituser
------------------------------------------------------------------------------

Done!

インストール時のadminのパスワードがランダムなため変更する
$ python zpasswd.py access
Username: admin
Password:   <---パスワード入力
Verify password:   <---パスワード入力

Please choose a format from:

SHA - SHA-1 hashed password
CRYPT - UNIX-style crypt password
CLEARTEXT - no protection.

Encoding: CRYPT  <---上の3つから選ぶ
Domain restrictions:   <---Enterを入力

起動/設定

$ ./start &
------
2004-04-18T13:48:12 INFO(0) zdaemon Started subprocess: pid 2147
------
2004-04-18T13:48:23 INFO(0) ZODB Opening database for mounting: '144284448_10822
63703.322859'
------
2004-04-18T13:48:23 INFO(0) ZODB Mounted database '144284448_1082263703.322859'
at /temp_folder
------
2004-04-18T13:48:41 INFO(0) Zope New disk product detected, determining if we ne
ed to fix up any ZClasses.
------
2004-04-18T13:48:41 INFO(0) ZServer HTTP server started at Sun Apr 18 13:48:41 2
004
        Hostname: vvine26r3
        Port: 8080
------
2004-04-18T13:48:41 INFO(0) ZServer FTP server started at Sun Apr 18 13:48:41 20
04
        Hostname: vvine26r3.ism.co.jp
        Port: 8021
------
2004-04-18T13:48:41 INFO(0) ZServer PCGI Server started at Sun Apr 18 13:48:41 2
004
        Unix socket: /home/okada/Zope-2.6.4-src/var/pcgi.soc
------
2004-04-18T13:49:00 INFO(0) ZODB conflict error at /manage_main (1 conflicts sin
ce startup at 2004-04-18T13:48:41)


アクセスは

http://(host IP):8080/

停止

$ ./stop

設定

http://192.168.10.15:8080/manageをアクセス

User:admin
Passwd:******
を入力

adminではページが出来ないので左からacl_usersをクリックしユーザを作成
Name,Password,(Confirm) を入力しRoles:Managerを選択してユーザを作成
logoutして再度作成ユーザでhttp://192.168.10.15:8080/manageをアクセス

マシン起動時Zopeを起動させるには
/etc/rc.d/rc.localに
su - okada -c "/home/okada/Zope-2.6.4-src/start &"

アクセスポート指定

z2.pyに
## HTTP configuration
##

# Port for HTTP Server. The standard port for HTTP services is 80.
HTTP_PORT=8080

## FTP configuration

# Port for the FTP Server. The standard port for FTP services is 21.
FTP_PORT=8021

等があるのでこれを変更。

TitleとEdit本文の日本語化(コードの設定)

TitleとEdit中に日本語を使用すると文字コードで表示される
#2376;#4567などのように、それをEUCコード日本語として表示する設定

lib/python/App/dtml/manage_page_header.dtmlの

先頭あたりに
<html>
<head>
<dtml-call "RESPONSE.setHeader('content-type','text/html; charset=EUC-JP')"> <--追加
<dtml-if "REQUEST.get('management_page_charset')">
    <dtml-comment>
    A page-specific encoding specification. Good.
    </dtml-comment>
を追加

21行目あたりの
<dtml-call "REQUEST.set('management_page_charset','iso-8859-1')">
を
<dtml-call "REQUEST.set('management_page_charset','EUC-JP')">
に変更

startファイルに
PGCLIENTENCODING=EUC_JP
exec /usr/bin/python $cwd/z2.py -D "$@"
を追加する。

			DE JE2ISM  2004/04/18

[参考]

http://zope.jp/howto/