Tomcatで仮想ホストを構成する場合、$CATALINA_BASE/conf/server.xml内の<Host>セクションに、追加したい仮想ホスト情報を追加する必要があります。
今回は次のように仮想ホストを2つ追加しました。
<Host name="ganymean.org" appBase="webapps/ganymean.org"
unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="ganymean.org_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
</Host>
<Host name="krcb.biz" appBase="webapps/krcb.biz" unpackWARs="true"
autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="krcb.biz_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
</Host>
ポイントは、$CATALINA_BASE/webapps配下にホスト名に対応したフォルダを作成し、appBaseにそのフォルダを指定することによって、仮想ホスト毎にWebアプリケーションを自動配置できるようにしてあることです。仮想ホスト毎にWebアプリケーションを自動配置する必要がない場合には、デフォルトのwebappsで良いと思います。
次に、仮想ホスト毎のデフォルトコンテキストの設定です。
Tomcat6以降では、server.xmlファイル内に<Context>要素を配置することは推奨しないとドキュメントに書かれているので、$CATALINA_BASE/conf/Catalina/仮想ホスト名/ROOT.xmlにコンテキストを設定します。
仮想ホストganymean.orgの場合、$CATALINA_BASE/conf/Catalina/ganymean.org/ROOT.xmlを次のとおり設定します。
<?xml version="1.0" encoding="UTF-8"?>
<Context path="" docBase="/var/www/vhosts/ganymean.org/httpdocs" debug="0" reloadable="true" />
当初、<Host>要素のappBaseと<Context>要素のdocBaseに同じ”ウェブルートディレクトリ”を指定していましたが、Tomcatが「同じディレクトリを指定してはダメ!」とエラーを吐くので、docBaseに"ウェブルートディレクトリ"を設定しています。なお、pathにはデフォルトコンテキストであることを示す””を設定しています。
以上の設定により、Apache&Tomcat上でRailoが無事動くようになりました。
最近のコメント