Zope と Apacheの連携

やっぱりZopeとApacheの両方で別ポートを開けるのがいやだし、ApacheをFrontendにして使いたいので、連携を検討。
JackさんのJ-Lab wikipageによると3種類くらいやり方があって、FastCGIを使うとheaderでもApacheが応答しているように見えるらしい。というわけでFastCGI方式を採用。
hide fukumotoさんのabsent minded logZope on VDS/VPSをまるまる参考に作業した。
Zopeと接続するunix domain socketは/tmp/foo.socを使うことにする。
まずはzope.confの設定。サンプルにもとからあるfast-cgiの設定行のコメントを外し、addressでunix domain socketのパスを指定する。
<fast-cgi>
  address /tmp/foo.soc
</fast-cgi>
さらに、文字コード周りの設定を追加。euc_jpでいいのかちゃんと調べてないけど、とりあえずこれでいいや。
rest-input-encoding euc_jp
rest-output-encoding euc_jp
zopeを再起動して、/tmp/foo.socができていることを確認。
続いてapacheの設定。apache上でzopeのdocument rootは/usr/local/www/data/barにする。このとき、/usr/local/www/data/barというふぁいるもディレクトリも作ってはいけない。
FastCGIは使えるようにした上で、さらに以下の設定をhttpd.confに追加。
<IfModule mod_fastcgi.c>
    FastCgiIpcDir /tmp
    FastCgiExternalServer /usr/local/www/data/bar \
        -socket foo.soc \
        -pass-header Authorization

    <Location /myblog>
      SetHandler fastcgi-script
    </Location>

</IfModule>
さらに,文字化け防止のために
AddDefaultCharset EUC-JP
あとはApacheを再起動すれば終了。
動作確認はhide fukumotoさんのZope on VDS/VPSを参照。

カテゴリー: FreeBSD, Install, Software パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です