(第1回)Zope/Plone開発勉強会

(第1回)Zope/Plone開発勉強会に参加してきました。
タイムテーブルは以下のような感じです。

  • 11:00-11:30 自己紹介とか
  • 11:30-12:00 やること決めたり準備とか
  • 12:00-13:00 昼食
  • 13:00-17:00 もくもくと開発
  • 17:00-18:00 成果発表(できたとこまで)
  • 18:00-18:30 後片付け
  • 18:30- 打ち上げ(いける人で)


最初に自分がやることを発表します。私は「Ploneイチカラ」ということで先ずはインストールして触ってみることを目標に始めました。

開発環境は CentOS 5.3 で行います。zope/plone パッケージが CentOSリポジトリにはないようなので、Fedora EPEL の yum リポジトリからインストールします。必要なときだけ EPEL リポジトリを使用するために enabled の設定を変更しておきます。

# lsb_release -a
LSB Version:	:core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID:	CentOS
Description:	CentOS release 5.3 (Final)
Release:	5.3
Codename:	Final

# wget http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/5Server/i386/epel-release-5-3.noarch.rpm
# rpm -ivh epel-release-5-3.noarch.rpm
# vi /etc/yum.repos.d/epel.repo
enabled = 0

リポジトリの設定が完了したら、Zope/Plone をインストールします。依存関係で他にも幾つかのパッケージがインストールされます。

# yum --enablerepo=epel -y install plone zope
# rpm -q zope plone
zope-2.10.7-1.el5
plone-3.1.6-1.el5

先ず何をして良いのか分からないので、
JZUG さんのチュートリアルをやってみます。

Zope を起動してみる

パスを設定して実行してみます。

# rpm -ql zope | grep runzope
/usr/lib/zope/skel/bin/runzope.bat.in
/usr/lib/zope/skel/bin/runzope.in
/var/lib/zope/bin/runzope
/var/lib/zope/bin/runzope.bat
# ZOPEHOME=/var/lib/zope/bin/
# export PATH=$PATH:$ZOPEHOME
# runzope 
/usr/lib/zope/lib/python/zope/configuration/xmlconfig.py:323:
DeprecationWarning: zope.app.annotation has moved to zope.annotation.
Import of zope.app.annotation will become unsupported in Zope 3.5
  __import__(arguments[0])
/usr/lib/zope/lib/python/Products/GenericSetup/registry.py:744:
DeprecationWarning: Version for profile Products.CMFActionIcons:
actionicons taken from version.txt. 
This is deprecated behaviour and will be removed in GenericSetup 1.5:
please specify the version in metadata.xml. DeprecationWarning)
~~snip~~

ワーニングがたくさん出ましたが起動しているようです。細かいことは気にせずに次へ進みます。起動させたホストの 8080 ポートへアクセスすると "Zope Quick Start" という英語のページが表示されたので成功しているようです。

Zope の管理画面 ZMI(Zope Management Interface) へアクセスします。ユーザとパスワードを聞かれます、、、はて? yum でインストールしたのでそれらを設定した記憶がありません。

# less /usr/share/doc/zope-2.10.7/INSTALL.txt
~~snip~~
http://yourhost:8080/manage

  You will be prompted for a user name and password. Use the user name
  and password you provided in response to the prompts issued during
  the "make instance" process.
~~snip~~

INSTALL ドキュメントを見ると、"make instance" で作成したユーザでログインするようなことが書かれています。本来は、インストール後に Zope の実行環境(Zope)を作成しないといけないようです。

# cat /etc/sysconfig/zope 
ZOPE_INSTANCES="/var/lib/zope"

デフォルトでは、Zope インスタンスは "/var/lib/zope" に作成されるようなので、それにあわせて作成してみます。

# rpm -ql zope | grep mkzopeinstance
/usr/lib/zope/bin/mkzopeinstance.py

# /usr/lib/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: /var/lib/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: t2y
Password: 
Verify password: 

# cat /var/lib/zope/inituser 
t2y:{SHA}JITfbfW8HYCyoO1hZDOjrFCBtIA=

再度、Zope の管理画面 ZMI へアクセスするとログインできました。

一般ユーザを追加します。acl_users を開き、Add... ボタンをクリックして、以下のようなユーザを追加します。

Zope のインストールはこれで完了です。

ファンレス:
Zopeの起動と閲覧
一般ユーザーを追加する

Plone を起動してみる

Zope のインストールは完了したので Plone をセットアップします。Plone は、Zope アプリケーションサーバ上の CMS(Content Management System) としても機能しますが、アプリケーションフレームワークとしての側面も持っています。

先ほどは Zope の管理画面 ZMI からユーザの追加を行いました。コマンドラインでも以下のようにして zope ユーザを追加することができます。また、runzope コマンドを手動で実行せずに service コマンドで起動させます。

# zopectl adduser zope zope
# service zope start
zope を起動中:   [  OK  ]

管理画面にアクセスして、Root Folder のプルダウンから Plone Site を選択します。

ID と Title を入力して "Add Plone Site" ボタンをクリックします。

左側フレームに myplone が追加されました。

myplone のページで view を選択すると、welcome 画面が表示されます。別画面で開くとその URL を確認することができます。

新規イベントを追加してみました。

リファレンス:
dev blog/CMS インストールガイド

余った時間で本読みしてました。

Plone 完全活用ガイド (Gihyo Expert Books)

Plone 完全活用ガイド (Gihyo Expert Books)