2013年6月12日水曜日

【chef】apacheとtomcatの連携をajpで設定する方法

■概要
chefを使ってapacheとtomcatをインストールした場合のajpの設定方法について紹介します
chefを使ってapacheとtomcatをインストールする方法は以下で検証した通りです
http://kakakikikeke.blogspot.com/2013/05/opscodecookbooks.html 

■環境
CentOS 6.2 64bit
Apache 2.2.15
Tomcat 7.0.32.0
Java 1.7.0_17-b02

■tomcat側設定
vi /usr/local/tomcat/default/conf/server.xml
以下のとおり8080の部分をコメントアウトします
<!--
<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
-->

service tomcat restart
netstat -an | grep 8080
8080が起動していないことを確認します

■apache側設定
■confファイルの設定
cd /etc/httpd/sites-available
cp -ipr default-ssl test.conf
vi test.conf
<Location />
  Order allow,deny
  Allow from all
  ProxyPass ajp://localhost:8009/
</Location>
/を設定しているDirectoryタグの閉じタグの直後に記載します
localhostの部分はtomcatがインストールしてある振り分け対象のホスト名を記載してください

ErrorLog /var/log/httpd/error_test.log
CustomLog /var/log/httpd/access_mbaas.log combine
アクセスログとエラーログもVirtualHostごとにわける場合は上記の箇所の設定を変更します

また、ports.confに記載しているNameVirtualHostとtest.confのVirtualHostに記載するIPアドレス(ドメイン)値は同じでなければなりません
例えば、parts.confが「*:443」と記載しているならtest.confも「*:443」と記載しなければなりません

■再起動
cd /etc/httpd/sites-enabled/
ln -s /etc/httpd/sites-available/test.conf test.conf

service httpd restart
apachectl -f /etc/httpd/sites-available/test.conf
エラーができないことを確認する

https://localhost/
にアクセスしてtomcatのROOTコンテキスト(管理画面)が表示されることを確認します

■トラブルシューティング
  • apacheのエラーログにclient denied by server configurationと出ている場合Locationの設定がおかしい可能性があります(Allow from allがない等)
  • apacheのエラーログにInvalid method in requestが出る場合はVirtualHostの設定がおかしい可能性があります(IPアドレスやドメインの指定がおかしい等)

0 件のコメント:

コメントを投稿