このセクションでは、Apache Tomcat にデプロイする手順の例を示します。新しいバージョンの SOAtest/Virtualize Server にアップデートする方法については「Apache Tomcat にデプロイされた SOAtest/Virtualize Server のアップグレード」を参照してください。
まず、推奨される方法として、WAR ファイルを Apache Tomcat のルート コンテキストにデプロイする方法を説明します。その次に、より簡単な (しかし推奨はされない) インストール方法を説明します。「ルート以外の」コンテキストを使用する方法は、一部のサーブレット コンテナーでは正常に動作しない可能性があることに注意してください。
Apache Tomcat の ROOT コンテキスト パスに WAR ファイルをデプロイする方法の一例は、次のとおりです。
c:/wars/soavirt などを使用できます。<TOMCAT_HOME>/conf/Catalina/localhost/ フォルダーに、空の ROOT.xml ファイルを作成します。作成した ROOT.xml ファイルを開き、次のように Context 要素を追加します (<SOAVIRT_HOME> の場所に応じて docBase の絶対パスを適切に修正してください)。
<Context docBase="c:/wars/soavirt" path="" reloadable="true" /> |
以下のコマンドを実行して、サーバーの秘密鍵と自己署名証明書を保管するキーストア ファイルを作成します。
<JAVA_HOME>/bin/keytool -genkey -alias tomcat -keyalg RSA -keystore /path/to/soavirt.keystore |
指定したディレクトリに soavirt.keystore ファイルが作成されます。
<TOMCAT_HOME>/conf/ ディレクトリにある server.xml 構成ファイルの SSL/TLS HTTP/1.1 Connector エントリのコメントを外し、以下に記載された例を元に更新します。必ず certificateKeystoreFile 属性値を更新してください。
<Connector
protocol="org.apache.coyote.http11.Http11NioProtocol"
port="8443" maxThreads="200"
scheme="https" secure="true" SSLEnabled="true">
<SSLHostConfig sslProtocol="TLS"
certificateVerification="false">
<Certificate certificateKeystoreFile="/path/to/soavirt.keystore"
certificateKeystorePassword="changeit" />
</SSLHostConfig>
</Connector> |
<SOAVIRT_HOME>/WEB-INF/ ディレクトリにある config.properties ファイルで Apache Tomcat が使用するポートを指定します (詳細については「サーバーの設定」を参照)。たとえば、server.port.http=8080 または server.port.https=8443 を使用します。config.properties に指定するポートは、Tomcat の構成で指定したポートと一致していなければなりません。<TOMCAT_HOME>/bin から)。http://localhost:8080/ を参照します (必要に応じてポートを変更してください)。次のようなメッセージが表示された場合、アプリケーションは正しくインストールされています。
There are no deployments on this server.Cannot respond to this request: /. |
デフォルトでは、<SOAVIRT_HOME> に workspace ディレクトリが作成されます。
この方法は、最初の方法よりも簡単ですが、デフォルトの Tomcat ROOT Web アプリケーションを削除するため、推奨されません。
<TOMCAT_HOME>) に展開します。<TOMCAT_HOME>/webapps/ROOT ディレクトリの内容を削除します。<TOMCAT_HOME>/webapps/ROOT に展開します。以下のコマンドを実行して、サーバーの秘密鍵と自己署名証明書を保管するキーストア ファイルを作成します。
<JAVA_HOME>/bin/keytool -genkey -alias tomcat -keyalg RSA -keystore /path/to/soavirt.keystore |
<TOMCAT_HOME>/conf/ ディレクトリにある server.xml 構成ファイルの SSL/TLS HTTP/1.1 Connector エントリのコメントを外し、以下に記載された例を元に更新します。必ず certificateKeystoreFile 属性値を更新してください。
<Connector
protocol="org.apache.coyote.http11.Http11NioProtocol"
port="8443" maxThreads="200"
scheme="https" secure="true" SSLEnabled="true">
<SSLHostConfig sslProtocol="TLS"
certificateVerification="false">
<Certificate certificateKeystoreFile="/path/to/soavirt.keystore"
certificateKeystorePassword="changeit" />
</SSLHostConfig>
</Connector> |
server.port.http=8080 または server.port.https=8443 を追加します。config.properties に指定するポートは、Tomcat の構成で指定したポートと一致していなければなりません。<TOMCAT_HOME>/webapps ディレクトリに移動します。これにより、将来のアップグレード プロセスが容易になります。<TOMCAT_HOME>/bin から)。http://localhost:8080/ を参照します (必要に応じてポートを変更してください)。次のようなメッセージが表示された場合、アプリケーションは正しくインストールされています。
There are no deployments on this server.Cannot respond to this request: /. |
デフォルトでは、<TOMCAT_HOME>/webapps/ROOT に workspace ディレクトリが作成されます。
インフラストラクチャとプロジェクトの要件によっては、Tomcat サーバーで追加の構成が必要になる場合があります。
SOAtest および Virtualize サーバーは Tomcat の RelaxedPathChars および RelaxedQueryChars プロパティをサポートしますこれらのプロパティを使用すると、URI パスおよび URI クエリー文字列で許可するエンコードされていない文字を指定できます。以下の文字を指定できます。" < > [ \ ] ^ ` { | }
詳細については Tomcat のドキュメントを参照してください: https://tomcat.apache.org/tomcat-9.0-doc/config/http.html
許可する文字を指定しない場合、Tomcat サーバーは URI パスおよびクエリーに 1 つ以上のエンコードされていない文字を含むメッセージを拒否します。
Tomcat の server.xml ファイルの <Connector> 要素に relaxedPathChars プロパティと relaxedQueryChars プロパティを追加し、許可する文字を指定します。<Connector> 要素が複数ある場合は、プロトコルが HTTP と HTTPS に設定されている要素に属性を追加します。
例:
<Connector
URIEncoding="UTF-8" allowTrace="true" connectionTimeout="20000"
enableLookups="true" name="default" port="9080" protocol="HTTP/1.1"
redirectPort="9443"
server="Parasoft Server"
relaxedPathChars="" < > [ \ ] ^ ` { | }"
relaxedQueryChars="" < > [ \ ] ^ ` { | }"
/> |