Documentation9. 付録

 

サイトの設定

このセクションではwebMathematica サイトの設定についてまとめます.ほとんどの設定情報は設定ファイルのMSP.confに入れられています.このファイルの内容はシステムと個々のMathematica カーネルを初期化するために使われます.これについては「Mathematica の初期化」のセクションにより詳しい説明があります.

webMathematica は複数のカーネルプールがサポートできます.カーネルプールとは特別に設定できるMathematica カーネルのグループのことで「より高度なトピック」の「複数カーネルプール」で詳しく説明してあります.余分なプールの設定をしない場合は,使われるプールは1つだけです.これがGeneralプールと呼ばれるものです.

MSP.conf

MSP.confはメインの設定ファイルです.これに加え,追加のカーネルプールもそれぞれ設定ファイルを持つことができます.Testsという名前のプールの設定ファイルはTests.confとなります.プールの設定ファイルはMSP.confにある設定を上書きすることができます.プールの設定ファイルでパラメータが設定されていなければ,その値はMSP.confから継承されます.MSP.confでのみ意味を持ち,プールの設定ファイル中の設定は無視してサイト全体の操作を変更するパラメータがいくつかあります.

では,それぞれの定義をより詳しく見てみましょう.

CheckToExpression

このパラメータは,第1引数がwebMathematica のリクエストと共に送られた文字列のときMathematica コマンドのToExpressionがセキュリティチェックを行うかどうかをコントロールします.デフォルトではテストが行われます.しかし設定をfalseにするとテストは行われません.

CheckToExpression=false

一般的なサイトではこの機能を修正すべきではありません.これについては「セキュリティ」のセクションでより詳しく説明してあります.

このパラメータはサイト全体に変更を加えるもので,MSP.confでしか設定できません.

CollectStreams

このパラメータは,Mathematica カーネルで開いた入出力のストリームを自動的に閉じるかどうかをコントロールします.デフォルトでは閉じられます.しかし設定CollectStreamsfalseにするとストリームは閉じられません.

CollectStreams=false

一般的なサイトではこの機能を修正しない方がよいでしょう.これについては「セキュリティ」のセクションでより詳しく説明してあります.

このパラメータはMSP.confやプール固有の設定ファイルで使えます.

FileCheckPeriod

このパラメータは,webMathematica が作成するテンポラリファイルをどの程度頻繁に削除するかをコントロールします.テンポラリファイルの最短ライフタイムをミリ秒単位で設定します.以下はこれを1000000ミリ秒に設定した例です.

FileCheckPeriod=1000000

このパラメータはサイト全体に変更を加えるもので,MSP.confでしか設定できません.

FrontEndLaunchFlags

画像を作ったりNotebook APIの関数を使ったりするために,webMathematicaMathematica フロントエンドを必要とします.フロントエンドの起動にはFrontEndLaunchFlagsを使った特別の設定パラメータを置くとよいでしょう.

例えば,描画のためにフロントエンドを別のXサーバに接続したいような場合は,下記のようにするとよいでしょう.

FrontEndLaunchFlags= -mathlink -display :1 -nogui -geometry 1000x500+10+10

これはフロントエンドに固定ジオメトリのサーバモードでDISPLAY 1を使うように指示します.

このパラメータはMSP.confやプール固有の設定ファイルで使えます.

FrontEndLaunchName

画像の作成やノートブックAPI機能の使用のために,webMathematicaMathematica のフロントエンドを使います.非常に特殊な場合には,フロントエンドバイナリの名前を明示的な値に設定すると役に立つことがあります.一般的には,適切な値が自動的に選ばれるので,この必要はありません.

例えば,フロントエンドの場所を設定するために,以下を使うことができます.

FrontEndLaunchName=D:\\Program Files\\Wolfram Research\\Mathematica\\5.2\\Mathematica.exe

これはwebMathematica にD:ドライブのフロントエンドを使うように指示します.一般的にはこのパラメータを使う必要はありません.

このパラメータは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パラメータを使うもうひとつの理由は,パッケージによっては正しく初期化するためにフロントエンドが必要なものがあるからです.このようなパッケージはDeveloper`UseFrontEndでwebMathematica にロードします.次をご覧ください.

KernelInitialization=Developer`UseFrontEnd[Needs[ "MyApplication`"]]

このパラメータはMSP.confやプール固有の設定ファイルで使えます.

KernelNumber

KernelNumberパラメータはシステムがスタートするときに起動されるカーネルの数を与えます.この数に相当するライセンスがあることを確認してください.ライセンスが不十分な場合は,起動できないカーネルも出てきます.これはログファイルに書き込まれます.

KernelNumber=2

このパラメータはMSP.confやプール固有の設定ファイルで使えます.

KernelPools

このパラメータは「複数カーネルプール」で説明してあるように,Mathematica カーネルの追加プールの名前を指定するのに使われます.次の例ではExamplesTestという2つのプールが指定されています.

KernelPools=Examples, Test

このパラメータはサイトに変更を加えるもので,MSP.confでしか設定できません.

KernelTimeLimit

このパラメータはページを処理するときの最大時間(ミリ秒)を与えます.時間をオーバーすると,カーネルはシャットダウンされ再スタートされます.この例では1ページを処理する時間が60秒以上かかるとカーネルが再スタートされます.ログシステムがカーネルのシャットダウンを記録します.

KernelTimeLimit=60000

このパラメータはMSP.confやプール固有の設定ファイルで使えます.

MathLinkArguments

これはJ/LinkのメソッドcreateKernelLinkの引数として使われます.これが設定されていないと,Mathematica が実行されているプラットフォームに適したデフォルトが使われます.典型的な設定は以下の通りです.

MathLinkArguments=-linkname 'math -mathlink' -linkmode launch

MathLinkArgumentsMathematica を起動するコマンドを与えます.特別なコマンドラインの引数が必要な場合は,ここで設定することができます.例えば,特別なパスワードファイルを付けてMathematica を起動したいような場合は,-pwfileコマンドラインオプションが使えます.Mathematica を起動する実行ファイルに完全パス名を与える必要がある場合もあります.

このパラメータはMSP.confやプール固有の設定ファイルで使えます.

MSPDirectory

このパラメータは,「以前のwebMathematica 技術」の章で説明してあるような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 がログシステムに作る出力を抑制するために使われます.デフォルトでは出力行は各リクエストによって生成されます.RequestLogfalseに設定されるとこれが抑制されます.

RequestLog=false

このパラメータはサイト全体に変更を加えるもので,MSP.confでしか設定できません.

SecurityConfigurationFile

このパラメータを使うと,MSP`Utility`AllowedContextsMSP`Utility`DisallowedContextsMSP`Utility`AllowedSymbolsMSP`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でしか設定できません.

セキュリティの設定

webMathematica のセキュリティシステムはカスタマイズすることができます.詳しくは「セキュリティ」のセクションをご覧ください.

Xサーバの設定

フロントエンドをXサーバに接続するためには,特別設定が必要な場合がしばしばあります.これはインストールの「X Window Systemの設定(Unixのみ)」の項で説明してあります.これはUnix上でwebMathematica を起動するときしか問題になりません.