WindowsにwebMathematicaをインストールする方法
webMathematicaを使うためには,Java,Servletコンテナ,およびMathematicaがシステムにインストールされていなければなりません.このガイドでは,WindowsにwebMathematicaをインストールして実行するステップについてご説明します.
- Javaの設定
- Tomcatの設定
- Mathematicaの設定
- webMathematicaがライセンスファイルにアクセスできるようにする方法
- webMathematicaをインストールして設定する方法
- フロントエンドをテストする方法
Javaの設定
Javaインストーラをダウンロードして実行します.
Tomcatの設定
インストール
Tomcatインストーラをダウンロードして実行します.32-bit/64-bit Windows Service Installer apache-tomcat-<version>.exeのダウンロードをお勧めします.
Tomcatのテスト
- Tomcatサーバを起動するためには,「スタート」メニューの「Apache Tomcat」から「Configure Tomcat」アプリケーションを開きます.
- 「Start」ボタンをクリックします.
- Webブラウザを開き,「localhost:8080」にアクセスします.Tomcatが正しく設定されている場合には,以下と同じようなページが開きます.
- Tomcatサーバを終了するためには,「Stop」ボタンをクリックします.
考えられる問題
- コンピュータのファイアウォールがTomcatへのリクエストをブロックしている場合があります.Tomcatはデフォルトでポート8080上で実行されます.Tomcatサーバを実行しているシステム上でTCPパケットが受信できるようにポートを開いてください.
- Javaがデフォルト以外の場所にインストールされている場合には,環境変数JAVA_HOMEを設定して,Javaのインストールの位置をTomcatに知らせてください.
- コントロールパネルを開き,「システム」で検索します.
- 「環境変数の変更」をクリックします.「システムのプロパティ」のダイアログが表示されます.
- 「環境変数」ボタンをクリックします.
- システム変数の「新規」ボタンをクリックします.「新しいシステム変数」ウィンドウが開きます.
- 変数名に「JAVA_HOME」と記入し,Java JDKのインストール場所を「変数値」とします.
- どちらかのウィンドウで「OK」ボタンをクリックし,ウィンドウを閉じます.
Tomcatアカウントの作成(推奨)
Tomcatサーバ(通常「tomcat」と呼ばれる)を実行するための専用のユーザアカウントを作成することをお勧めします.このアカウントはTomcatサーバを実行するための承認が必要です.
- アカウントを作成するためには,ユーザを加えます.
- 「スタート」メニューの「Apache Tomcat」から「Configure Tomcat」アプリケーションを開きます.
- Tomcatサーバのアカウント情報を設定するために「Log On」タブを選びます.
- 「This account」を選んでアカウント情報を入力してください.
- 「Apply」をクリックして変更を保存します.
- 新しいアカウントを使ってTomcatサーバを起動するために,「General」タブに戻ります.
- 「Start」ボタンをクリックしてください.
- Webブラウザを開き,「localhost:8080」にアクセスします.ユーザが正しく設定されていたら,以下のTomcatのランディングページが開きます.
- 「OK」をクリックしてアプリケーションを閉じます.
Mathematicaの設定
Mathematicaをインストールし,Mathematicaをアクティベートしてから,Mathematicaのライセンス情報を,使用しているマシンで大域的にアクセスできる場所に置きます.
インストール
WindowsにMathematicaをインストールする方法の手順に従ってください.
アクティべーション
オンラインまたは手動のアクティべーションを使って,Mathematicaをアクティベートします.
webMathematicaがライセンスファイルにアクセスできるようにする方法
Mathematicaはデフォルトでそのライセンス情報をユーザ固有の場所にあるmathpassファイル内に置きます.使用しているwebMathematicaでライセンス情報にアクセスできるようにするには,mathpassファイルを大域的にアクセス可能なMathematicaのベースディレクトリにコピーして,すべてのアカウントがファイルを読み取れるようにパーミッションを設定します.
- mathpassファイルの場所を調べたい場合には,Mathematicaで以下を評価します.
$PasswordFile
- ベースディレクトリの場所を調べたい場合には,以下を評価します.
$BaseDirectory
- $PasswordFileにあるmathpassをコピーして,$BaseDirectoryにあるLicensingサブディレクトリにこれを貼り付けます.これらのディレクトリにアクセスするには,Windowsの隠しファイルや隠しフォルダを表示する必要があるかもしれません.
webMathematicaをインストールして設定する方法
インストール
- ユーザポータルからwebMathematicaのインストールファイルをダウンロードします.
- それをTomcatのインストールディレクトリ(通常
C:\Program Files (x86)\Apache Software Foundation\Tomcat 8.5
)の“webapps”サブディレクトリに展開します. - 「Configure Tomcat」アプリケーション内でTomcatサーバを再起動します.
テストとトラブルシューティング
webMathematicaパッケージには,テスト用のWebページがいくつか含まれています.
- ブラウザで「localhost:8080/webMathematica」を指定します.
- 「Hello World」の例をクリックします.
- テキストエディタで
<Tomcat_Install>\webapps\webMathematica\WEB_INF\MSPConfiguration.xml
(<Tomcat_Install>
はTomcatのインストールディレクトリ)を開きます. - 以下のセクションを見付けます.
<KernelPool> <KernelPoolName>General</KernelPoolName> <URLPattern>/*</URLPattern> </KernelPool>
- このセクションを編集し,以下のように変更します.
<KernelPool> <KernelPoolName>General</KernelPoolName> <KernelExecutable> C:\Program Files\Wolfram Research\Mathematica12.x\MathKernel </KernelExecutable> <URLPattern>/*</URLPattern> </KernelPool>
- レジストリの項目を探します.
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager \SubSystems\Windows %SystemRoot%system32csrss.exe ObjectDirectory=Windows SharedSection=1024,3072,512 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off MaxRequestThreads=16
- SharedSection変数に提供されている3つ目の変数を削除します.つまり上の例では,「1024,3072,512」を「1024,3072」で置き換えてください.
- コンピュータを再起動します.
「Hello World」がうまく作動しない場合には,Tomcatのインストールディレクトリの「logs」サブディレクトリにあるwebMathematica.logファイルにエラーメッセージがないかどうかをチェックします.
考えられる問題
ログファイルでエラー....com.wolfram.kerneltools.state.StateMachine [ERROR] Could not find MathLink executable
を探します.このエラーが生じた場合,webMathematicaがMathematicaカーネルの実行ファイルを見付けられなかったことを示しています.このエラーは,Mathematicaを非標準的な場所にインストールした場合,あるいはお使いのwebMathematicaが推奨されるバージョンのMathematicaと一緒に使われていない場合に起ります.例えば,webMathematica 3.5.2はMathematica 12.2に対応する等です.現在サポートされている製品のバージョンと一緒に使うのに推奨されるバージョンはこちらでご覧ください.
正しいバージョンのMathematicaと一緒に使われるようにするには,webMathematicaを設定する必要があります.
注意:ここでは,Mathematica 12.xがC:\Program Files\Wolfram Research\Mathematica12.x\MathKernel
にインストールされているものとしています.インストールディレクトリが異なる場合には,その使用したインストールディレクトリで置き換えてください.
フロントエンドをテストする方法
webMathematicaのベースWebページから, 「Plot Example」を選びます.ページが開いたら,「Plot」ボタンをクリックします.
システムによっては,プロットの代りにFrontEndError: ExportString failed: -Graphics-
が表示されることがあります.これは,Mathematicaのフロンドエンドが起動しなかったことを示している場合もあります.
Windowsでは,Tomcatサーバによって起動されたMathematicaカーネル等のように,非インタラクティブなユーザに割り当てられるメモリの量が限られています.そのようなカーネルがMathematicaのフロントエンドを必要とする計算を行わなければならない場合には,このメモリ割当ての設定により,フロントエンドが起動しないことがあります.
使用可能なメモリを増やすためには,非インタラクティブなユーザにもインタラクティブなユーザと同じ量のメモリを使用できるようにする必要があります.
[English]