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 )に遷移します。 というわけで、質問や感想などフィードバックをお待ちしています。