Pentaho BI platform: 2010年1月アーカイブ

Pentahoは、単体でもWebサーバーとして機能を持つTomcatを使用しています。
一般的にTomcatは以下の理由により、Apacheと連携することが推奨されています。

  1. 静的なページに関して Tomcat は Apache ほど速くありません。
  2. Tomcat は、Apache ほど 細かな設定ができません。
  3. Tomcat は、Apache ほど 頑強ではありません。
  4. Tomcat は、 Apache のモジュール(例 Perl, PHP, その他)でしか提供していない機能に対する多くのサイトの要望に答えられないかもしれません。

今回はアーカイブインストールしたPentaho3.0(Tomcat5.5)をAJPコネクタを使用してApache2.2を連携する方法をご紹介します。

※Pentahoはアーカイブインストールした場合のみです。インストーラーでインストールした場合はうまく連携できません。
※Apache2.2ではAJPコネクタ(mod_proxy_ajp)がパッケージに含まれているため、Apache設定ファイルとTomcat設定ファイルの設定のみで連携が可能となります。
※以下の手順に記載されるパスは環境に合わせて読み替えてください。

手順① Apache設定ファイル(httpd.conf)の修正

※以下は、ApatcheとTomcatが同一サーバーであることが前提です。

AJP用の設定ファイル(/etc/httpd/conf.d/proxy_ajp.conf)を開き、以下を追加します。

ProxyPass /pentaho/ ajp://localhost:8009/pentaho/
ProxyPass /pentaho-style/ ajp://localhost:8009/pentaho-style/

proxy_ajp.confを編集し終わったら保存して終了します。

(補足)
上記の代わりに/etc/httpd/conf/httpd.confを開き、以下を追加しても結構です。

<Location /pentaho/>
ProxyPass ajp://localhost:8009/pentaho/
</Location>
<Location /pentaho-style/>
ProxyPass ajp://localhost:8009/pentaho-style/
</Location>

httpd.confを編集し終わったら保存して終了します。

手順② Tomcat設定ファイル(server.xml)の修正

/biserver-ee/tomcat/conf/server.xmlを開きます。
ポート「8080」の部分を検索しConnector宣言部分をコメントアウトします。

<!-- Connector port="8080" maxHttpHeaderSize="8192"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               connectionTimeout="20000" disableUploadTimeout="true" useBodyEncodingForURI="true" / -->

さらにポート「8009」のAJPのConnector宣言部分を以下のように設定します。

<Connector port="8009" maxThreads="150"
               enableLookups="false" redirectPort="8443" protocol="AJP/1.3"
               connectionTimeout="20000" useBodyEncodingForURI="true" />

※8080のポートを使わなくなったため、PentahoのBase URLも8080を削除する必要があります。

手順③ 動作確認

Pentaho(Tomcat)とApacheが起動している場合は両方終了します。
Pentaho(Tomcat)を起動させます。(起動するまでしばらくお待ちください。)
Pentahoが起動した後、Apacheを起動します。
※完全にTomcatが起動していない状態でApacheを起動すると失敗する場合があります。その場合はApacheをしばらく待ってから再起動してください。

両方が正常に起動したらhttp://(localhost)/pentaho/にアクセスします。
無事、Pentahoのログイン画面が表示されれば完了です。


★Have a nice Open Source Day★
KSKソリューションズ Pentahoチーム