Debian etchでApache2.2とPloneの連携ができない?
多くのサイトで紹介されているApacheとPlone(Zope)の連携記事を参考に連携しようとしたがうまくいかなかった。
Debian etch上でploneをapt-getでインストールした場合は、Virtual Host Monsterはすでに登録されているので、Zope上での作業はいらないはず。
Apache2.2の次のモジュールをイネーブルにする。
- mod_proxy
- mod_proxy_http
- mod_rewrite
sudo a2enmod mod_proxy_http
sudo a2enmod mod_rewrite
/etc/apache2/sites-enabled/000-defualtの<VirtualHost>タグ内に次の行を追加する。KentuckPloneSiteは、このPloneサイトのIdである。
RewriteEngine on
RewriteRule /plone(.*) /http://localhost:8081/VirtualHostBase/http/kentuck.net:80/ \
KentuckPloneSite/VirtualHostRoot/_vh_plone/$1
これで、「http://kentuck.net/plone/」でこのサイトのトップページが表示されるはずであるが、ブラウザでは次のようなエラーが表示される。

Hatena::DiaryのKohiro2さんの日誌(http://d.hatena.ne.jp/kohiro2/archive)の中の2007-03-30の記事「[Debian][Apache] Tomcat と連携できない… → 解決!」を見つけた。その記事によると、アクセスするフォルダのアクセス権を設定すると、ApacheとTomcatが連携できるとあった。
それを参考に、/etc/apache2/sites-enabled/000-defualtの<VirtualHost>タグ内のRewrtiteの行の上に
次の行を追加する。
<Location "/plone">これで、http://kentuck.net/plone/でこのサイトのトップページを表示できて、他のページへの移動もできるようになった。Kohiro2さんに感謝!
Options Multiviews
Order deny,allow
Allow from all
</Location>

