オープンソースCMS Plone3.2のインストール設定手順


オープンソースソフトウェアでありながら高度なセキュリティ、高機能なフロー制御機能などにより、CIA, FBIなどのクリティカルサイトで多数の実績のあるCMS、Ploneのインストールおよび設定を概説します。 

ソフトウェアの入手

Plone3.2.xのパッケージは、Ploneのコミュニティサイト Plone.orgからダウンロードすることができる。

plone.org ダウンロードページ

「Plone」はWebアプリケーションサーバであるZopeのCMF(Contents Management Framework)を使用して作成されたCMFサイトであり、それ自身が単独の実行環境を提供するようなソフトウェアではない。言い換えれば、Ploneは「CMSエンジンであるZopeを手軽に利用できるように一般的な既成の設定やパーツを提供してくれるサンプルサイト」である。

したがって、Ploneを利用するにはそのプラットフォームであるZopeが必要であり、Plone,Zope共にプログラミング言語/実行環境としてPythonを必要としている。これら3つのソフトウェアを別個にインストールすることは可能だが、必要な手間に対して得られるものはほとんどない。カスタマイズされたZopeとPythonを含む「Unified Installer」で一括してインストールすれば、最低限の初期設定でPloneを動作させることができる。Plone3.2.xは以下の3つのポーティングが提供されている。

  • UNIX系OS版(Linux, FreeBSD, OS X, UNIX, Solaris)
  • MAC版(Mac OS X用バイナリ版, intel/PPC 10.4, 10.5)
  • Windows版

Zope/Ploneのプロダクションサイト用にWindowsホストを利用することは、「とりあえず試してみるのに手軽」と考える人もいるだろう。だが、他の多くのWEBアプリケーション同様、PloneにWindowsサーバを使うことにデメリットをあげられるとして、メリットは思いつかない。したがって、われわれはLinuxホストへのインストールのみを取り上げることとする。

インストールの対象ホストがインターネットに接続されplone.orgのwebサイトへのアクセスが可能な状態にある場合、以下のようにwgetを使用してダウンロードするのが簡単。

# cd /usr/local/src/
# wget http://launchpad.net/plone/3.2/3.2.2/+download/Plone-3.2.2-UnifiedInstaller.tgz

ビルド作業はrootユーザでログイン

Ploneでは、どのユーザにてビルド作業を行うかにより、Zope+Ploneを実行するユーザが決定される。rootユーザでログインしてビルド作業を行った場合、権限が制限された”plone”という専用ユーザが作成され、Zopeサーバはploneにより起動される。他のユーザでログインしてビルドした場合、Zopeサーバはそのユーザと同一の権限にて起動される。テスト目的などを除けば、rootユーザでビルドすべきだ。

tarボールの解凍

解凍

取得したPlone3.2.xのtarボール(例:Plone-3.2.2-UnifiedInstaller.tgz)を、好みのディレクトリにて解凍する(例では/usr/local/src/を使用)。

# tar -zxf Plone-3.2.2-UnifiedInstaller.tgz

うまく解凍されれば、”Plone-3.2.2-UnifiedInstaller”というディレクトリが作成されている。

インストールモードの選択

Ploneには以下の2つのインストールモードがあり、インストール時に指定しなければならない。正確には以下の指定はZopeサーバの動作モードを決定する。

スタンドアローン (単体サーバで動作)
Zeoサーバ (クラスター構成でクラスターノードにZODBを提供するZeoサーバとして動作)
Zeoは後からインストールすることも可能。ここでは、スタンドアローンにてインストールする。

# cd /usr/local/src/Plone-3.2.2-UnifiedInstaller
# ./install.sh standalone

参考までにZeoサーバとしてインストールする場合のパラメータ指定は以下のとおり。

# cd /usr/local/src/Plone-3.2.2-UnifiedInstaller
# ./install.sh zeo

基本的に、上記の操作だけで、Python, Zope, Ploneのインストールが開始される。完了まで何もすることはない。

Plone+Zope+Pythonは、デフォルト(上記の例)で、/usr/local/Plone以下にインストールされる。これを変更したい場合、以下の例のようにパラメータ “–target=<インストール場所>“にて指定可能。

# ./install.sh –target=/usr/local/Plone-3.2.2 standalone

最低限の設定

実際にZopeサーバとして実行される単位は「インスタンス」と呼ばれる。HTTPサーバサービスのリッスンポートが重複しなければ一台の物理サーバ上で複数のインスタンスを実行することもできる。Tomcatになれている人はserver.xmlの設定でリッスンポートを変えて、複数のTomcatを実行する場合を考えればいい。

install.shの実行が終了すると、インストールパス(デフォルトでは/usr/local/Plone)の直下に”zinstance”の名称で、デフォルトのインスタンスが作成され、ZopeプロダクトのひとつとしてPloneサイトがインストールされている。

Zopeインスタンスの設定はインストールパス直下の”buildout.xml”に記述されている。実用に際しては、各種python eggの登録などを目的に追加・変更する箇所がいくつかあるが、取り敢えずデフォルト状態で実行してみるのであれば、HTTPサーバサービスのポート番号の変更方法のみで十分である。

ZopeのHTTPサーバサービスのデフォルトのリッスンポートはTCP 8080だが、このポートはTomcat, JBoss AS等多くのWEBアプリケーションサーバが取り合っている。Zopeのポート変更は至って簡単なので、Tomcat等と併用の可能性を考えて、あらかじめ変更しておいて損は無い。変更はbuildout.xmlの前半すぐの部分にある以下のパラメータで行う。以下の例では7080に設定している。

############################################
# Ports
# —–
# Specify the port on which your Zope installation
# will listen:
http-address=7080

Zopeは、FTPサーバとWebDAVサーバサービスを提供している。上記のポート番号を決定する際は、FTPとWebDAVの各サーバサービスのリッスンポートがhttpサービスのポートに連続して相対的に割り当てられるということに注意しなければならない。

buildout.xmlに何らかの変更を加えた場合は、かならず以下のように”buildout”を実行する。さもなければ、変更は反映されない。

# cd /usr/local/Plone/zinstance
# bin/buildout

Zope+Ploneの起動と停止

Zope+Plone(Zopeインスタンス)の起動と停止は以下の操作にて行う。

起動

# /usr/local/Plone/zinstance/bin/plonectl start

停止

# /usr/local/Plone/zinstance/bin/plonectl stop

起動後、ブラウザで当該ホストのport 7080をアクセスして、以下のPloneの画面が表示されれば、とりあえず基本インストールは完了。

Plone3.2.x Top page

Plone3.2.x Top page

管理者のパスワード

Zopeの管理画面の利用、Ploneサイトの管理・編集、ユーザ管理等に際して、管理者としてログインしなければならない。管理者のアカウントはインストール時に自動作成される。ログインIDは”admin”であり、パスワードはデフォルトインスタンスのディレクトリ直下にあるテキストファイル 「adminPassword.txt」に平文で記載されている。安全のためこのファイルはパスワード安全に転記した後に、できるかぎり早く削除しておくのが良い。