HowTos/Apacheの設定

出典: ScalixWikiJP

Scalix Wiki -> How-Tos -> HowTos/Apacheの設定

このセクションは HowTos/ApacheConfiguration(米国サイト)をもとに作成しています。

目次

Scalix はどのように Apache を利用していますか?

Scalixのウェブベースのアプリケーションは、Scalix Web Access (/webmail)、Scalix管理コンソール (/sac), Scalix Management Agent、Scalix Messaging Services (/api) 、Scalixモバイルウェブクライアント (/m) です。これらは全てTomcatアプリケーションです。

Scalixでは、ApacheとTomcatを連携させるためにmod_jkを使用しています。これにより、ApacheがTomcatの実装から幾分切り離せ、慣れ親しんだApacheの設定の考え方を使うことができます。 最近のディストリビューションでは、mod_proxy_ajp の利用は mod_jk に置き換えられています。 特に、Fedra Core 5 と、RedHat ES 4 ではそのようになっています。

このドキュメントで使用している $APACHE は、/etc/httpd または /etc/apache2 を意味します。(どちらであるかは、ディストリビューションに依存します)


どのような設定ファイルが使用されていますか?

scalix-tomcat-connector.conf

ScalixのApacheの設定は、$APACHE/conf.d 配下にある、scalix-tomcat-connector.conf から始まります。このファイルには text、XML、CSS まはた javascript ファイルをの圧縮を許可するための mod_deflate モジュールのロードについて詳しく記述されています。また、mod_jk モジュールや、mod_proxy_ajp モジュールも利用可能であればロードされます。最後に、/etc/opt/scalix-tomcat/connector/[ajp|jk]/instance-*.conf がインクルードされます。これらのファイルは、マシン上で定義されている、各Scalixインスタンスについて定義します。

instance-*.conf

instance-*.conf ファイルは、ajp と jk の実装で異なります。これらの違いについては、後ほど説明します。共通の設定は、インストーラが Scalix インストーラが設定する、バーチャルホスト エントリのインスタンスを生成することです。2つのバーチャルホストエントリが定義されています。1つは、ポート 80 (httpd) で、もう1つは、ポート 443 (https) です。両方のバーチャルホストエントリには、利用可能なScalixウェブアプリケーションを定義する app-$instance.*.conf ファイルを示すための Include 行が含まれています。

注意:これらのバーチャルホストエントリは、ウェブアプリケーションを呼び出す際の URL に含まれるべきホスト名を定義しています。もし、ホスト名が変更された場合は、これらを変更する必要があります。ただしエントリの待ち受けで、*:80 または *:443 という表記を使った場合、Apache から、これらのバーチャルホストが既存のものと衝突しているという警告を受けるでしょう。この件につきましては、各ディストリビューションが提供している Apache のドキュメントを参考にしてください。

mod_jk 対して、instance-*.conf ファイルは mod_jk ワーカーを定義しています。ワーカーは、Tomcat と接続する信頼できるスレッド/プロセス です。ワーカーはホスト名とポート番号の定義を含んでいます。ポート番号は 8009 です。 workers.conf ファイルは、定義されているワーカーのリストを含んでいます。Scalix インスタンスごとに1つずつワーカーが定義されます。

注意:通常のScalixインストールでは、デフォルトのApache設定から定義されるSSLオプションは、テンプレートとして使用されます。ユーザへの SSL アクセスを提供する場合は、証明書とキーがホスト名を指定するようにしなければなりません。そうしないと、ブラウザはホスト名が不適切である、もしくは、証明書が不正であるとエラーを表示します。

app-$instance.*.conf

これらのファイルは、Tomcat にリダイレクトする URL を定義します。mod_jk については、 JkMount コマンドを使って実行され、使用されるワーカーを指定します。mod_proxy_ajp については、Tomcat プロセスがリッスンするホスト名とポート番号を指定する ProxyPass コマンドを使って実行されます。

なぜ、このような設定方法なのでしょうか?

各インスタンスの設定が、インスタンス内で完結しているので、マルチインスタンスや HA 環境などでも操作が簡単になります。