|
9.3 サイトの設定
9.3 サイトの設定 このセクションではwebMathematica サイトの設定についてまとめます.ほとんどの設定情報は設定ファイルのMSP.confに入れられています.このファイルの内容はシステムと個々のMathematica カーネルを初期化するために使われます.これについては「Mathematica の初期化」のセクションにより詳しい説明があります. webMathematica は複数のカーネルプールがサポートできます.カーネルプールとは特別に設定できるMathematica カーネルのグループのことでMSPの場所に関するセクションで詳しく説明してあります.余分なプールの設定をしない場合は,使われるプールは1つだけです.これがGeneralプールと呼ばれるものです. 9.3.1 MSP.conf MSP.confはメインの設定ファイルです.これに加え,追加のカーネルプールもそれぞれ設定ファイルを持つことができます.Testsという名前のプールの設定ファイルはTests.confとなります.プールの設定ファイルはMSP.confにある設定を上書きすることができます.プールの設定ファイルでパラメータが設定されていなければ,その値はMSP.confから継承されます.MSP.confでのみ意味を持ち,プールの設定ファイル中の設定は無視してサイト全体の操作を変更するパラメータがいくつかあります. では,それぞれの定義をより詳しく見てみましょう. CheckToExpression このパラメータは,第1引数がMSPリクエストと共に送られた文字列のときMathematica コマンドのToExpressionがセキュリティチェックを行うかどうかをコントロールします.デフォルトではテストが行われます.しかし設定をfalseにするとテストは行われません.
CheckToExpression=false
一般的なサイトではこの機能を修正すべきではありません.これについては「セキュリティ」のセクションでより詳しく説明してあります. このパラメータはサイト全体に変更を加えるもので,MSP.confでしか設定できません. CollectStreams このパラメータは,Mathematica カーネルで開いた入出力のストリームを自動的に閉じるかどうかをコントロールします.デフォルトでは閉じられます.しかし設定CollectStreamsをfalseにするとストリームは閉じられません.
CollectStreams=false
一般的なサイトではこの機能を修正しない方がよいでしょう.これについては「セキュリティ」のセクションでより詳しく説明してあります. このパラメータはMSP.confやプール固有の設定ファイルで使えます. FrontEndGraphics このパラメータはフロントエンドでグラフィックスを描画するか,カーネルのみで描画するかをコントロールします.trueのときはフロントエンドが使われます.falseのときはカーネルだけが使われます.デフォルト設定はtrueです.この設定はMathematica の変数MSP`Utility`FrontEndGraphicsの初期化に使われます.数式のタイプセットにはFrontEndGraphicsの設定に関係なく常にフロントエンドが使われます.
FrontEndGraphics=true
フロントエンドで生成された画像はより品質が高くなりますので,このパラメータは変更しないことを強くお勧めします.フロントエンドの実行に問題があるときににだけお使いください. このパラメータはMSP.confやプール固有の設定ファイルで使えます. FrontEndLaunchCommand 画像を作ったりNotebook APIの関数を使ったりするために,webMathematica はMathematica フロントエンドを必要とします.フロントエンドの起動にはFrontEndLaunchCommandを使った特別の設定パラメータを置くとよいでしょう.フロントエンドを起動するためには別のコマンドを使うこともできます. 例えば,描画のためにフロントエンドを別のXサーバに接続したいような場合は,下記のようにするとよいでしょう.
FrontEndLaunchCommand=mathematica -mathlink -display :1 -nogui -geometry 1000x500+10+10
これはフロントエンドに固定ジオメトリのサーバモードでDISPLAY 1を使うように指示します. このパラメータはMSP.confやプール固有の設定ファイルで使えます. ImageAltText このパラメータは生成されたimgタグのalt属性の値を設定します.デフォルト値は「Created by webMathematica」です.
ImageAltText="This image was created by my server."
このパラメータはMSP.confやプール固有の設定ファイルで使えます. JLinkNativeLibraryDirectory サーブレットコンテナの中には,J/Link ネイティブライブラリをWebアプリケーションのレイアウトからインストールしないものがあります.このような場合は,ネイティブライブラリを中央の任意の場所に置いて,この場所をMSP.confで指定します.次の例をご覧ください.
JLinkNativeLibraryDirectory=/usr/local/jlink
このパラメータで指定されるディレクトリは,通常webMathematica/WEB-INF/libにあるSystemFilesディレクトリを含んでいなければなりません.Linuxでは次のようなレイアウトになります.
jlink SystemFiles Libraries Linux libJLinkNativeLibrary.so
このパラメータはサイト全体に変更を加えるもので,MSP.confでしか設定できません.
KernelAcquireLimit このパラメータはシャットダウンするまでに各カーネルがカーネルプールから引き出されてもよい回数を指定します.一般に一定の間隔で各カーネルをシャットダウンするとよいようです.しかし,それほど頻繁にする必要はありません.次の例では各カーネルが500回毎にシャットダウンされます.
KernelAcquireLimit=500
このパラメータはMSP.confやプール固有の設定ファイルで使えます. KernelConnectLimit このパラメータはwebMathematica がカーネルを起動するまでの待ち時間を指定します.指定時間内でカーネルが起動できなければエラーが報告されます.この例では各カーネルは100秒後に再スタートされます.
KernelConnectLimit=100000
このパラメータはMSP.confやプール固有の設定ファイルで使えます. KernelInitialization これは選択的なパラメータで,カーネルの初期化の最後で処理されるMathematica のカーネルに追加的な評価を与えるものです.特別なパッケージをロードしたりMSP関数の詳細を設定したりするときに使えます.この例ではカーネルが起動される度にコマンドNeeds["MyApplication`"]が評価されます.
KernelInitialization=Needs[ "MyApplication`"]
KernelInitializationのデフォルトコンテキストにあるシンボルに定義を与えると,この定義は各リクエストの後処理のコードでクリアされ,シンボルは除去されます.これはコンテキストを適切に使うためにMathematica のパッケージ形式以外で書かれたパッケージをKernelInitializationからロードした際にも起ります.定義はどんなものでも名前の保存のためにそれ自身のコンテキストを使っていなければなりません.これは,例えばTestNameSpace`Computeのように,コンテキストを持った名前を前置することで,あるいはBeginPackage[]やEndPackage[]を正しく使うことで行えます. KernelInitializationパラメータを使うもうひとつの理由は,パッケージによっては正しく初期化するためにフロントエンドが必要なものがあるからです.このようなパッケージはUseFrontEndでwebMathematica にロードします.次をご覧ください.
KernelInitialization=UseFrontEnd[Needs[ "MyApplication`"]]
このパラメータはMSP.confやプール固有の設定ファイルで使えます. KernelNumber KernelNumberパラメータはシステムがスタートするときに起動されるカーネルの数を与えます.この数に相当するライセンスがあることを確認してください.ライセンスが不十分な場合は,起動できないカーネルも出てきます.これはログファイルに書き込まれます.
KernelNumber=2
このパラメータはMSP.confやプール固有の設定ファイルで使えます. KernelPools このパラメータは「複数カーネルプール」で説明してあるように,Mathematica カーネルの追加プールの名前を指定するのに使われます.次の例ではExamplesとTestという2つのプールが指定されています.
KernelPools=Examples, Test
このパラメータはサイトに変更を加えるもので,MSP.confでしか設定できません. KernelTimeLimit このパラメータはページを処理するときの最大時間(ミリ秒)を与えます.時間をオーバーすると,カーネルはシャットダウンされ再スタートされます.この例では1ページを処理する時間が60秒以上かかるとカーネルが再スタートされます.ログシステムがカーネルのシャットダウンを記録します.
KernelTimeLimit=60000
このパラメータはMSP.confやプール固有の設定ファイルで使えます. MathLinkArguments これはJ/LinkのメソッドcreateKernelLinkの引数として使われます.これが設定されていないと,Mathematica が実行されているプラットフォームに適したデフォルトが使われます.典型的な設定は以下の通りです.
MathLinkArguments=-linkname 'math -mathlink' -linkmode launch
MathLinkArgumentsがMathematica を起動するコマンドを与えます.特別なコマンドラインの引数が必要な場合は,ここで設定することができます.例えば,特別なパスワードファイルを付けてMathematica を起動したいような場合は,-pwfileコマンドラインオプションが使えます.Mathematica を起動する実行ファイルに完全パス名を与える必要がある場合もあります. このパラメータはMSP.confやプール固有の設定ファイルで使えます. MSPDirectory このパラメータは,MSPスクリプトに関するセクションで説明してあるようなwebMathematica で使う少し古いタイプのMSPスクリプトに対してのみ有効です.これはMSPスクリプトの場所を表しています.これが設定されていない場合はデフォルト値が使われます.このディレクトリはMSPがロードするであろうパッケージや他のアプリケーションが保存できるように,Mathematica $Pathに置かれます.
MSPDirectory=/usr/local/mathematica/AddOns/Applications/MSP/MSPScripts
このパラメータはMSP.confやプール固有の設定ファイルで使えます. JSPはWebアプリケーションの内側にあるので,この設定はwebMathematica でのJSPの実装にはあまり意味がありません. PackagesDirectory これは選択的なパラメータで,Mathematica の変数$Pathに加えるディレクトリを与えます.パッケージのロードやインストールに関しては「パッケージとアプリケーション」のセクションもご覧ください.
PackagesDirectory=/usr/local/files/Code
このパラメータはMSP.confやプール固有の設定ファイルで使えます. PoolPath このパラメータは「複数カーネルプール」のセクションで説明してあるように,JSPスクリプトをカーネルプールにマッピングするのに使われます.次の例ではExampleDirディレクトリにあるJSPがプールExamplesを使い,TestDirディレクトリにあるJSPがプールTestを使います.
PoolPath.Examples=ExampleDir PoolPath.Test=TestDir
このパラメータはサイト全体に変更を加えるもので,MSP.confでしか設定できません. RequestLog この選択的なパラメータは,webMathematica がログシステムに作る出力を抑制するために使われます.デフォルトでは出力行は各リクエストによって生成されます.RequestLogがfalseに設定されるとこれが抑制されます.
RequestLog=false
このパラメータはサイト全体に変更を加えるもので,MSP.confでしか設定できません. SecurityConfigurationFile このパラメータを使うと,MSP`Utility`AllowedContexts,MSP`Utility`DisallowedContexts,MSP`Utility`AllowedSymbols,MSP`Utility`DisallowedSymbolsに独自の定義を行って独自のセキュリティモデルを変更することができます.定義は/WEB-INF/confディレクトリのファイルに入れ,ファイルの名前は設定パラメータSecurityConfigurationFileで設定します.例えば,設定情報がSecurityConfiguration.mというファイルにある場合は以下を加えなければなりません.
SecurityConfigurationFile=SecurityConfiguration.m
セキュリティについては前のセクションもご覧ください. このパラメータはMSP.confやプール固有の設定ファイルで使えます. StaticFileExtensions このパラメータはサーバが返す静的ファイルの拡張子とコンテントタイプを与えます.これはMSPスクリプトが相対URLを持つ画像(あるいは他のファイル)を参照するために使われます.これについては「静的なファイルを含む」で詳しく説明してあります.典型的な設定は以下のようになります.
StaticFileExtensions=gif:image/gif, jpg:image/jpeg, jpeg:image/jpeg
このパラメータはサイトを変更します.MSP.confでしか設定できません. 静的な内容はサーブレットコンテナによって処理されるので,この設定はwebMathematica でのJSPの実装にはあまり意味がありません. VerboseLogs VerboseLogsパラメータはシステムが記録するログのレベルをコントロールします.falseの設定では重大なエラーだけをサイトの各リクエストにつき1項目だけ記録します.trueの設定ではより多くの情報を記録します.
VerboseLogs=true
このパラメータはサイトを変更します.MSP.confでしか設定できません. WebApplicationName サーブレットコンテナの中にはWebアプリケーションをロードした後でディレクトリ名を変更するものがあります.webMathematica はURLの生成にWebアプリケーションの名前を必要とするので,これは問題となりかねません.名前が間違っているとURLも間違ったものになってしまい,グラフィックスが見えないといった問題につながります.これはMSP.conf中のWebアプリケーションの名前を調べることで解決します.以下をご覧ください.
WebApplicationName=webMathematica
このパラメータはサイトを変更します.MSP.confでしか設定できません. 9.3.2 セキュリティの設定 webMathematica のセキュリティシステムはカスタマイズすることができます.詳しくは「セキュリティ」のセクションをご覧ください. 9.3.3 Xサーバの設定 フロントエンドをXサーバに接続するためには,特別設定が必要な場合がしばしばあります.これはインストールの「X Window Systemの設定(Unixのみ)」の項で説明してあります.これはUnix上でwebMathematica を起動するときしか問題になりません.
|