如何在 Linux 系统安装并配置 webMathematica?
使用 webMathematica 需要在系统上安装 Java、Servlet 集合和 Mathematica 。Mathematica 和 webMathematica 中的一些函数要求使用 Mathematica 前段。反过来,前段要求 Linux 上有 X Window 系统。通过如下步骤可以安装 webMathematica:
- 设置 Java
- 设置 Tomcat
- 设置 Mathematica
- 使许可证文件对 “Tomcat” 用户可用
- 安装并设置 webMathematica
- 为 Linux 的 Minimal 或 Server 版本配置 Xvnc
设置 Java
不仅 webMathematica 需要 Java,任何 Java Servlet 集合也需要 Java。您可以从 http://www.oracle.com/us/downloads/index.html 处获取 Oracle 的 Java。
在有些 Linux 发行中,Java 程序包也可以通过命令行或其软件中心安装:
RedHat / CentOS / Fedora
sudo yum install java-1.8.0-openjdk
sudo yum install java-1.8.0-openjdk-devel
Debian / Ubuntu
sudo apt-get install openjdk-8-jre
sudo apt-get install openjdk-8-jdk
请在命令行中执行下述指令来核实安装成功:
java -version
设置 Tomcat
安装
webMathematica 设计为在 Java Servlet 集合内运行。在不同种类的可用 Servlet 集合中,这里只是针对 Apache Tomcat 进行简要说明。
- 请前往 http://tomcat.apache.org。
- 下载 apache-tomcat-N.M.QQ.tar.gz 格式的安装文件,其中 N.M.QQ 表示您下载的 Tomcat 版本号。
- 在您希望安装服务器的位置执行:
sudo tar -xvzf apache-tomcat-N.M.QQ.tar.gz
创建 Tomcat 账户
我们建议您设置一个不同账户,命名为“tomcat”并在其下运行服务器。该账户需要运行 webMathematica 的许可。
- 请在终端执行下述指令创建账户:
sudo useradd tomcat sudo passwd tomcat
- 通过从您安装 apache-tomcat 服务器的上层目录中执行下述指令,更改 Tomcat 安装目录的所有权和组至“tomcat”:
sudo chown -R tomcat apache-tomcat-N.M.QQ sudo chgrp -R tomcat apache-tomcat-N.M.QQ
测试 Tomcat
- 在 Tomcat 安装目录下执行下述指令启动 Tomcat 服务器:
./bin/startup.sh
- 打开一个网络浏览器并提交 “localhost:8080”。如果 Tomcat 设置正确,类似于下面这个页面的网页将会出现:
可能出现的常见问题:
- 计算机的防火墙屏蔽了给 Tomcat 的请求。默认情况下 Tomcat 在8080端口运行。请确保正在运行 tomcat 服务器的系统可以接收 tcp 程序包。
- 如果您是从 Oracle 网站下载的 Java,Tomcat 服务器可能无法找到 Java 安装文件。这种情况下,请将系统变量JAVA_HOME 设置到 Java 的安装目录,例如,如果您的 Java 安装在
/usr/local/jdk1.8.0 处,您可以在 bash 之领航执行下面的指令或将其加入
.bashrc:JAVA_HOME=/usr/local/jdk1.8.0 export JAVA_HOME
设置 Mathematica
设置 Mathematica 要求安装该程序、用您的激活密钥激活它并将 至requires 将生成的许可证信息移至机器上可以全局使用的地址。
安装
安装 Mathematica ,请用以下指令运行 Linux 安装程序。确定您使用合适的文件名称:
sudo sh Mathematica_11.x_LINUX.sh
如果您使用的不是缺省目录,请记住您选择的安装目录。
激活
在没有安装 X Window 的 Linux 系统上,Mathematica 前端不可用。作为替代,请通过内核激活 Mathematica 。
- 请执行下述指令:
math
- 请输入您的激活密钥。激活密钥的形式应该是 XXXX-XXXX-XXXXXX。
设置“Tomcat”用户可用许可证文件
默认情况下,Mathematica 将其许可证信息放在一个用户指定的位置下的 mathpass 文件中。为使您的“tomcat”账户可以使用许可证信息,请复制该 mathpass 文件至 Mathematica 的全局可用的根目录并设置任意账户可读的许可。
- 请在 Mathematica 中运行如下指令确定您的 mathpass 文件的位置:
$PasswordFile
- 请运行下属之灵确定根目录位置:
$BaseDirectory
例如:
Mathematica 11.x.x Kernel for Linux x86 (64-bit) Copyright 1988-2017 Wolfram Research, Inc. In[1]:= $PasswordFile Out[1]= /home/user/.Mathematica/Licensing/mathpass In[2]:= $BaseDirectory Out[2]= /usr/share/Mathematica
这些文件夹位置用于下述指示。
- 许可证目录可能尚不存在。如果这样,请通过执行下述指令创建它:
sudo mkdir /usr/share/Mathematica/Licensing
- 将 mathpass 文件复制到根目录下的许可证目录:
sudo cp /home/jasong/.Mathematica/Licensing/mathpass /usr/share/Mathematica/ Licensing/.
- 授权所有账户可以读取该 mathpass 文件:
sudo chmod a+r /usr/share/Mathematica/Licensing/mathpass
安装并设置 webMathematica
安装
webMathematica 的安装文件包含 webMathematica.war。请将其放入您的 Apache Tomcat 服务器的 webapps 目录以确保启动时能够打开并解压。假设您的 Tomcat 服务器的安装目录定义为 $TOMCAT_INSTALL
,请运行:
-
sudo mv webMathematica.war $TOMCAT_INSTALL/webapps/.
-
sudo chown tomcat $TOMCAT_INSTALL/webapps/webMathematica.war
-
sudo chgrp tomcat $TOMCAT_INSTALL/webapps/webMathematica.war
-
su tomcat
-
./$TOMCAT_INSTALL/bin/shutdown.sh
-
./$TOMCAT_INSTALL/bin/startup.sh
测试和检修
webMathematica.war 程序包自带可以用于测试 webMathematica 设置的默认页面。
- 请指定浏览器至 “localhost:8080/webMathematica” 进入基本页。
- 初次测试,请点击 Hello World 范例。当前时间和日期会在 Hello World 页面显示。
- 如果 Hello World 不工作,请执行下述指令查看日志文件:
less $TOMCAT_INSTALL/logs/webMathematica.log
可能出现的常见问题:
在上述日志文件中搜索错误 ....com.wolfram.kerneltools.state.StateMachine [ERROR] Could not find MathLink executable
。这种情况下,webMathematica 无法找到 Mathematica 内核的可执行文件。如果您的 Mathematica 安装在非标准位置或 webMathematica 版本与推荐使用的 Mathematica 版本不匹配,这种问题就可能出现。比如 webMathematica 3.4.3 的发表是匹配 Mathematica 11.3 的,并将在 Mathematica 的默认安装目录下寻找可执行文件。
为找到正确匹配的 Mathematica 版本,需配置 webMathematica。
- 在命令行中,前往
$TOMCAT_INSTALL/webapps/webMathematica/WEB-INF/
并找到文件 MSPConfiguration.xml。 - 在文本编辑器中代开 MSPConfiguration.xml 并找到下面的部分:
- 编辑并将这个部分更改为:
<KernelPool> <KernelPoolName>General</KernelPoolName> <KernelExecutable> /usr/local/Wolfram/Mathematica/11.x/Executables/MathKernel </KernelExecutable> <URLPattern>/*</URLPattern> </KernelPool>
<KernelPool>
<KernelPoolName>General</KernelPoolName>
<URLPattern>/*</URLPattern>
</KernelPool>
请注意:这些指南假设 Mathematica 11.x 安装于 /usr/local/Mathematica/11.x/
。如果您使用了不同的安装目录,请替换为您使用的安装目录。
为 Linux 的 Minimal 或 Server 版本配置 Xvnc
Linux 的很多 “Server” 或 “Minimal” 分发不默认包含 X Window。而 Mathematica 函数和一些 webMathematica 函数需要可用的 X Window 服务器。例如,没有某种 X Window 系统则 Plot Example 无法恰当运行。
- 安装 Xvnc 服务器,该服务器通常可以通过像 yum 或 apt-getserver 这样的命令行安装应用获得。
- 通过指令 “vncserver” 发行一个 vnc 显示。这将首先要求您提供显示数(通常为1)。
- 通过编辑含有如下代码的文件
$TOMCAT_INSTALL/webapps/webMathematica/WEB-INF/MSPConfiguration.xml
配置 webMathematica ,从而使用显示:<KernelPool> .... <FrontEndLaunchFlags> -display :1 -nogui 1000x500+10+10 </FrontEndLaunchFlags> .... </KernelPool>
[English]
1-800-WOLFRAM (+1-217-398-0700 美国境外用户)
客服支持
周一至周五
8am–5pm 美国中部时区
- 产品注册或激活
- 预售信息和订单
- 安装帮助和首次启动
高级技术支持 (面向特定用户)
周一至周四
8am–7pm 美国中部时区
周五
8:30–10am & 11am–5pm 美国中部时区
- 优先技术支持
- Wolfram 专家助理专员
- Wolfram 语言编程帮助
- 高级安装支持