Wolfram Computation Meets Knowledge

如何在 Linux 系统安装并配置 webMathematica?

使用 webMathematica 需要在系统上安装 Java、Servlet 集合和 Mathematica 。Mathematica 和 webMathematica 中的一些函数要求使用 Mathematica 前段。反过来,前段要求 Linux 上有 X Window 系统。通过如下步骤可以安装 webMathematica:

  1. 设置 Java
  2. 设置 Tomcat
  3. 设置 Mathematica
  4. 使许可证文件对 “Tomcat” 用户可用
  5. 安装并设置 webMathematica
  6. 为 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 进行简要说明。

  1. 请前往 http://tomcat.apache.org
  2. 下载 apache-tomcat-N.M.QQ.tar.gz 格式的安装文件,其中 N.M.QQ 表示您下载的 Tomcat 版本号。
  3. 在您希望安装服务器的位置执行:
    sudo tar -xvzf apache-tomcat-N.M.QQ.tar.gz

创建 Tomcat 账户

我们建议您设置一个不同账户,命名为“tomcat”并在其下运行服务器。该账户需要运行 webMathematica 的许可。

  1. 请在终端执行下述指令创建账户:
    sudo useradd tomcat
    sudo passwd tomcat
  2. 通过从您安装 apache-tomcat 服务器的上层目录中执行下述指令,更改 Tomcat 安装目录的所有权和组至“tomcat”:
    sudo chown -R tomcat apache-tomcat-N.M.QQ
    sudo chgrp -R tomcat apache-tomcat-N.M.QQ

测试 Tomcat

  1. 在 Tomcat 安装目录下执行下述指令启动 Tomcat 服务器:
    ./bin/startup.sh
  2. 打开一个网络浏览器并提交 “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

如果您使用的不是缺省目录,请记住您选择的安装目录。

激活

在线手动 激活 Mathematica

在没有安装 X Window 的 Linux 系统上,Mathematica 前端不可用。作为替代,请通过内核激活 Mathematica 。

  1. 请执行下述指令:
    math
  2. 请输入您的激活密钥。激活密钥的形式应该是 XXXX-XXXX-XXXXXX。

设置“Tomcat”用户可用许可证文件

默认情况下,Mathematica 将其许可证信息放在一个用户指定的位置下的 mathpass 文件中。为使您的“tomcat”账户可以使用许可证信息,请复制该 mathpass 文件至 Mathematica 的全局可用的根目录并设置任意账户可读的许可。

  1. 请在 Mathematica 中运行如下指令确定您的 mathpass 文件的位置:
    $PasswordFile
  2. 请运行下属之灵确定根目录位置:
    $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
    

这些文件夹位置用于下述指示。

  1. 许可证目录可能尚不存在。如果这样,请通过执行下述指令创建它:
    sudo mkdir /usr/share/Mathematica/Licensing
  2. 将 mathpass 文件复制到根目录下的许可证目录:
    sudo cp /home/jasong/.Mathematica/Licensing/mathpass /usr/share/Mathematica/
    Licensing/. 
  3. 授权所有账户可以读取该 mathpass 文件:
    sudo chmod a+r /usr/share/Mathematica/Licensing/mathpass

安装并设置 webMathematica

安装

webMathematica 的安装文件包含 webMathematica.war。请将其放入您的 Apache Tomcat 服务器的 webapps 目录以确保启动时能够打开并解压。假设您的 Tomcat 服务器的安装目录定义为 $TOMCAT_INSTALL,请运行:

  1. sudo mv webMathematica.war $TOMCAT_INSTALL/webapps/.
  2. sudo chown tomcat $TOMCAT_INSTALL/webapps/webMathematica.war
  3. sudo chgrp tomcat $TOMCAT_INSTALL/webapps/webMathematica.war
  4. su tomcat
  5. ./$TOMCAT_INSTALL/bin/shutdown.sh
  6. ./$TOMCAT_INSTALL/bin/startup.sh

测试和检修

webMathematica.war 程序包自带可以用于测试 webMathematica 设置的默认页面。

  1. 请指定浏览器至 “localhost:8080/webMathematica” 进入基本页。
  2. 初次测试,请点击 Hello World 范例。当前时间和日期会在 Hello World 页面显示。
  3. 如果 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。

  1. 在命令行中,前往 $TOMCAT_INSTALL/webapps/webMathematica/WEB-INF/ 并找到文件 MSPConfiguration.xml。
  2. 在文本编辑器中代开 MSPConfiguration.xml 并找到下面的部分:
  3. <KernelPool>
          <KernelPoolName>General</KernelPoolName>
          <URLPattern>/*</URLPattern>
    </KernelPool>
  4. 编辑并将这个部分更改为:
    <KernelPool>
          <KernelPoolName>General</KernelPoolName>
          <KernelExecutable>
          /usr/local/Wolfram/Mathematica/11.x/Executables/MathKernel
          </KernelExecutable>
          <URLPattern>/*</URLPattern>
    </KernelPool>
  5. 请注意:这些指南假设 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 无法恰当运行。

  1. 安装 Xvnc 服务器,该服务器通常可以通过像 yum 或 apt-getserver 这样的命令行安装应用获得。
  2. 通过指令 “vncserver” 发行一个 vnc 显示。这将首先要求您提供显示数(通常为1)。
  3. 通过编辑含有如下代码的文件 $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 语言编程帮助
  • 高级安装支持