Jul 032007
サイトのTopをTomcatで処理させたい場合、ROOTとしてウェブアプリケーションを配備すればよい、ということを書きました(サイトのTop自身もTomcatに処理させる)。
でも、アプリケーションをビルドする際にROOT.warとするのもちょっとイヤだったので、プロジェクト名.warで固めたアーカイブ(someproject.war)をROOTとして利用できる方法にチャレンジしてみました。
サイトURLはhttp://www.example.com/と仮定します。
server.xmlへの仮想ホスト設定
Hostコンテナでwww.example.comを定義します。
<Host name="www.example.com" deployXML="false" appBase="/var/tomcat5/sites/www.example.com" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> </Host>
ROOT.xmlを用意
docBaseにwarファイルへの絶対パスを指定したROOTコンテキストファイルを用意します。
<Context path="" docBase="/usr/local/webapps/someproject.war" debug="0" reloadable="true"> </Context>
warファイルの置き場所はHostコンテナのappBaseには含めないようにします。
ROOT.xmlの置き場所は$CATALINA_HOME/conf/Catalina/www.example.com/配下になります(厳密には$CATALINA_HOME/conf/[enginename]/[hostname]/以下です)。
これでTomcatを起動すると/usr/local/webapps/someproject.warが/var/tomcat5/sites/www.example.com/ROOTとして展開されて、www.example.comのサイトTopとして利用できるようになります。
ちなみにこの応用として、Context定義をROOT.xmlではなくsubdir.xmlで用意すれば、www.example.com/subdirとして配備することも可能になります。
Sorry, the comment form is closed at this time.