(こちらは旧バージョンです。webMathematica2.1の導入に関しては、 こちらをご覧ください。)
決してStuffItで解凍せず、Terminalで tar コマンドを用いて解凍すること。 とくにtomcat関係はStuffItで解凍すると、動作に不具合が生じる。
ここではちょっと古いが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_starthttp://localhost:8080/ にアクセス。Tomcatのページが出ればとりあえず成功。 http://localhost:8080/examples/servlets/ にサンプルプログラムあり。 サンプルプログラムが動けばtomcatインストール成功。
(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を起動し次のようにする。
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[] でできる。
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 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が動かなかった。)
http://localhost:8080/webMathematica でとりあえずページが表示される。 http://localhost:8080/webMathematica/Example/MSP/Hello が動けばインストール成功。 Plot3DLiveが動けばフロントエンドなども全く問題なしであろう。
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 を下記のように編集。
<IfModule mod_webapp.c> <br> WebAppConnection warpConnection warp {ServerNameに設定した名前}:8008 WebAppDeploy examples warpConnection /examples/ WebAppDeploy webMathematica warpConnection /webMathematica/ <br> </IfModule>
(とにかく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などでのパスの設定の際に空白文字があることには注意すべきだろう。