wiki.zope.jp
HowToSetupSiteAccessEnhanced
   
RecentChanges WikiHelp WikiPractice JumpSearch

ZopeでVirtual Host

1台のホストを複数サイトに見せかける仮想ホスト機能は、 標準で提供されているSiteAccessプロダクト(Site Root)で実現できます。 しかし、SiteAccess Enhanced(VirtualHostMonster)なら、より柔軟な仮想ホストが簡単に構築できます。

  1. SiteAccess Enhancedをダウンロードします。

    SiteAccess Enhancedは 以下のサイトからダウンロードできます。

    http://www.zope.org/Members/sfm/SiteAccessEnhanced (英語)

    ダウンロードしたファイルのファイル名はSiteAccess.tgzになるはずです。

  2. zopeのプロダクトフォルダにダウンロードしたファイルを展開します。

    zopeのプロダクトフォルダは一般に「zopeをインストールしたディレクトリ」の lib/python/Productsです。

    ※ あなたがDebianを使っており、Debianのパッケージシステム(.deb)からzopeをインストールした場合、 zopeのプロダクトフォルダは/var/lib/zope/Prouctsになります。

    実際に展開するには以下のコマンドを使います。:

             # tar -xzvf SiteAccess.tgz -C 「zopeのプロダクトフォルダ」
    

    zopeのプロダクトフォルダが/usr/local/zope/lib/python/Productsだとすると、これは以下のようになります。:

             # tar -xzvf SiteAccess.tgz -C /usr/local/zope/lib/python/Products
    

  3. zopeを再起動します。

    zopeの管理画面から、Root FolderにあるControl_Panelにアクセスして、zopeを再起動してください。 zopeが起動していないなら、起動してください。

    これでSiteAccess Enhanced(Virtual Host Monster)が使えるようになります。

  4. コンテンツを置くフォルダを用意します。

    Zopeのroot以下に、次のようにフォルダを作成します:

             /weekend
             /cmfrocks
             /mojix_wiki
    

  5. VirtualHostMonsterオブジェクトを作成します。

    やはりroot直下に、VirtualHostMonsterを作成します。 つづいて、そのeditタブで以下のように対応を書いていきます:

             Domain                    Path
             www.zopeweekend.com       /weekend/
             www.cmfrocks.org          /cmfrocks/
             wiki.mojix.org            /mojix_wiki/
    

    注) ZopeはDNSの設定まではやってくれないので、別途DNSの設定が必要です:-) また、手っ取り早い方法として、*.yourdomain.tldを、Aレコードとして登録するとサブドメインはいくらでも作れるようになります。

Apacheの仮想ホストとの連携

ZopeをApacheのバックエンドに使っている場合、http://www.apache.site1/ へのアクセスをZopeの /sitefolder1 に、http://www.apache.site2/ へのアクセスを /sitefolder2 に渡したいときがあります。

以下のようにSiteAccess Enhancedで仮想ホストを作っておき、Apacheのmod_rewriteを使って、URLを書き換えてやれば簡単に実現できます:

    SiteAccess Enhancedの設定
      Domain                    Path
      www.apache.site1          /sitefolder1/
      www.apache.site2          /sitefolder2/

    Apacheの設定 
      LoadModule rewrite_module /usr/lib/apache/1.3/mod_rewrite.so
      RewriteEngine On
      RewriteMap  lowercase   int:tolower

      RewriteCond ${lowercase:%{SERVER_NAME}} ^www.apache.site1$
      RewriteRule /(.*)$ http://localhost:9673/VirtualHostBase/http/www.apache.site1:80/sitefolder1/$1 [P,L]

      RewriteCond ${lowercase:%{SERVER_NAME}} ^www.apache.site2$
      RewriteRule /(.*)$ http://localhost:9673/VirtualHostBase/http/www.apache.site2:80/sitefolder2/$1 [P,L]

注) Zopeは、Apacheと同じマシンの、ポート番号9673で動作しているものとします。より柔軟な仮想ホストが簡単に構築できます。


Last edited Sat, 09 Sep 2006 17:11:37 +0900 Edit this page