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