[Tomoyo-dev 1238] mod_ccs : TOMOYO Linux 1.7.2 向け Apache モジュール

Back to archive index

Tetsuo Handa from-****@I-lov*****
2010年 5月 10日 (月) 11:13:50 JST


 熊猫です。

 TOMOYO Linux 1.7.2 で導入されたAPIを使って、バーチャルホストやパス名単位で
異なるドメインでリクエストを処理できるようにするための Apache モジュールである
mod_ccs についてです。

 Apache モジュールを開発するのに必要なパッケージをインストール後、以下の
手順を実行することでダウンロードおよびインストールできます。
( apxs2 コマンドが存在する場合は apxs2 コマンドを使用してください。)

  # wget -O mod_ccs.c 'http://sourceforge.jp/projects/tomoyo/svn/view/branches/mod_ccs.c?root=tomoyo&revision=3640'
  # apxs -i -a -c mod_ccs.c

 何も設定しなかった場合、バーチャルホスト名単位のドメイン遷移が行われます。
例えば Apache が <kernel> /usr/sbin/httpd ドメインで動作しており、バーチャル
ホスト名として cat.example.com と dog.example.com が存在する場合、
cat.example.com 宛に届いたリクエストは
<kernel> /usr/sbin/httpd //cat.example.com ドメインで、
dog.example.com 宛に届いたリクエストは
<kernel> /usr/sbin/httpd //dog.example.com ドメインで処理されます。

 パス名とドメイン名の対応表を設定してやれば、バーチャルホスト名単位のドメイン
遷移に加えて、バーチャルホスト内でのドメイン遷移も行われるようになります。
Apache 設定ファイルのサーバ単位の設定を行う箇所で

  CCS_TransitionMap /path/to/mapping/table/file

のように指定し、 /path/to/mapping/table/file には

  /usr/share/horde3/\*        horde
  /usr/share/horde3/\{\*\}/\* horde
  /var/www/cgi-bin/lxr/\*     lxr
  /var/www/cgi-bin/\{\*\}/\*  cgi-bin
  /\{\*\}/\*.pl               perl-programs
  /\{\*\}/\*.php              php-programs

のように「要求されたパス名」と「遷移するドメイン名」の対応を列挙します。
要求されたパス名を上から順番に比較していき、最初に一致した行のドメイン名に
遷移します。例えば /var/www/cgi-bin/lxr/source の場合、3行目に一致するので
lxr ドメイン( <kernel> /usr/sbin/httpd //cat.example.com //lxr や
<kernel> /usr/sbin/httpd //dog.example.com //lxr )に遷移します。
/path/to/mapping/table/file の中で一致する行が見つからなかった場合には、
default ドメイン( <kernel> /usr/sbin/httpd //cat.example.com //default や
<kernel> /usr/sbin/httpd //dog.example.com //default )に遷移します。

 というわけで、質問や感想などフィードバックをお待ちしています。




tomoyo-dev メーリングリストの案内
Back to archive index