webMathematica Technical Notes


webMathematicaを Mac OS X で動かすまで

(こちらは旧バージョンです。webMathematica2.1の導入に関しては、 こちらをご覧ください。)

手順の概要

  1. Mathematica 4.1.5 or 4.2 インストール(大前提!)
  2. Tomcat のインストール
  3. J/Link のインストール
  4. MSP Mathematica のインストール
  5. webMathematica のインストール
  6. Optional: Apache との連携 (mod_webapp のインストール)

必要なもの

※ダウンロード時の注意

決してStuffItで解凍せず、Terminalで tar コマンドを用いて解凍すること。 とくにtomcat関係はStuffItで解凍すると、動作に不具合が生じる。

Tomcatのインストール

(参考資料 http://developer.apple.com/internet/java/tomcat1.html)

ここではちょっと古いがtomcat-4.0.3を用いる。 (最新版の4.1.10にはエラーメッセージの表示時に文字抜けなどの不具合があった。) tarで展開したディレクトリ jakarta-tomcat-4.0.3 を /usr/local/ の下に置く。(ダウンロード時にStuffItで自動展開しないこと!)

ディレクトリとその下の所有者を自分にしておく。

http://developer.apple.com/internet/java/tomcat1.html

の記述に従い、~/bin/に以下の起動・停止スクリプトを作成。

  [~/bin/tomcat_start]

  #!/bin/sh
  export CATALINA_HOME=/usr/local/jakarta-tomcat-4.0.3
  export JAVA_HOME=/usr
  $CATALINA_HOME/bin/startup.sh

  [~/bin/tomcat_stop]

  #!/bin/sh
  export CATALINA_HOME=/usr/local/jakarta-tomcat-4.0.3
  export JAVA_HOME=/usr
  $CATALINA_HOME/bin/shutdown.sh

  [Tomcatテスト]
  $ ~/bin/tomcat_start
http://localhost:8080/ にアクセス。Tomcatのページが出ればとりあえず成功。 http://localhost:8080/examples/servlets/ にサンプルプログラムあり。 サンプルプログラムが動けばtomcatインストール成功。

J/Link

(Mathematica 4.2を使っている場合はここでの作業は不要。「MSP Mathematica」の項目へ跳ぶ。)

http://www.wolfram.com/solutions/mathlink/jlink/ より J/Link on Mac OS Xを取得。 展開して、JLinkというディレクトリごと ~/Library/Mathematica/4.1/AddOns/Applications/ の中に入れる。Mathematicaを起動し「ヘルプ」->「ヘルプ用索引の再構成」により JLinkのドキュメントが「アドオン」に入る。

Mathematica+J/Link テスト

Mathematicaを起動し次のようにする。

  In[1]:= <<JLink`
  In[2]:= InstallJava[]
  Out[2]=LinkObject[/Users/kawazoe/Library/Mathematica/4.1/AddOns/Applications/JLink/JLink.app/Contents/MacOS/JavaApplicationStub,2,2]
  In[3]:=JavaNew["java.lang.String","abc"][getBytes[]]
  Out[3]={97,98,99}
となればOK。Javaの終了は QuitJava[] でできる。

MSP Mathematica

webMathematica CDROM 内の MSP.tar.gz を展開してできるディレクトリMSPを ~/Library/Mathematica/4.1/AddOns/Applications/ (4.2の場合は、~/Library/Mathematica/Applications/ )にコピー。

Mathematicaを起動し「ヘルプ」->「ヘルプ用索引の再構成」によりwebMathematica のドキュメントがヘルプの「アドオン」に入る。

~/Library/Mathematica/*/MSP/Configuration/MSP.conf をwolframのページからとってきたMac OS X用と入れ替え、 使用しているMathematicaのバージョンに合わせて適切に設定を書き換える。 さらに

  MSPIncludesDirectory=/webMathematica/MSPIncludes
という行を追加。

webMathematica

webMathematica CDROM 内の webMathematica.tar.gz を展開。できたwebMathematica ディレクトリを /usr/local/jakarta-tomcat-4.0.3/webapps/ の中にコピー。 /usr/local/jakarta-tomcat-4.0.3/webapps/webMathemataica/WEB-INF/web.xmlを をwolframのページからとってきたMac OS X用と入れ替え、MSP.confの置き場所の 情報を正しく設定する。

さらに、J/LinkのJLink.jarとSystemFiles/を /usr/local/jakarta-tomcat-4.0.3/webapps/webMathemataica/WEB-INF/lib/ に入れる。Mathematica 4.2の場合は、どちらも /Applications/Mathematica\ 4.2.app/AddOns/JLink/ にある。 (これについては、wolframのwebMathematicaのページに、 「Mac OS X で tomcat を使うにはJ/Linkの JLink.jarとSystemFiles/をwebMathematica レイアウト内に入れる必要がある」との情報あり。 通常、CLASSPATHを設定してJ/Linkの場所を指定するが、Mac OS X+tomcatでは、 実際、上記のようにしないと、tomcatがJ/Linkを見つけられずMSPが動かなかった。)

webMathematica テスト

http://localhost:8080/webMathematica でとりあえずページが表示される。 http://localhost:8080/webMathematica/Example/MSP/Hello が動けばインストール成功。 Plot3DLiveが動けばフロントエンドなども全く問題なしであろう。

Tomcat with apache (optional, 暫定版)

http://jakarta.apache.org/builds/jakarta-tomcat-4.0/archives/v4.0.1/bin/macosx/ より webapp-module-1.0-tc40-macosx.tar.gz を取得。 (これ以降のバージョンではOS X用にビルドされたバイナリなし) 展開後の中身のうち、 webapp-module-1.0-tc40/mod_webapp.so のみを /usr/libexec/httpd/ に移動。

/etc/httpd/httpd.conf を下記のように編集。

(とにかくServerNameを設定することが必要。これなしでは他の設定が合っていても Web Serverが起動しない。)

http://FQDN/examples/servlets/

http://FQDN/webMathematica/

などでアクセスしてスクリプトが動けばOK。 現在のところtomcat付属のservletsは動くが、webMathematicaのスクリプトは動いていない。 (現在はapacheのmod_proxyを利用してtomcat+mathematicaサーバに要求を飛ばすようにしている。 将来、負荷分散のためmathematica稼働マシンを複数用意する場合を考えればこのほうがよいだろう。)

※ 上記文中の~/Library/Mathematica/4.1/AddOns/Applications/は /Applications/Mathematica 4.1.app/AddOns/Applications/ でも多分よい。ただし、MSP.confなどでのパスの設定の際に空白文字があることには注意すべきだろう。

[トップページへ戻る]


Sat May 31 14:40 JST 2003 更新