Wolfram Computation Meets Knowledge

How do I install webMathematica on Mac?

webMathematica requires that Java, a Servlet container and Mathematica are installed on your system. This guide walks you through the following steps to get webMathematica installed and running on Mac:

  1. Setting Up Java
  2. Setting Up Tomcat
  3. Setting Up Mathematica
  4. Making Licensing Files Accessible to the “Tomcat” User
  5. Installing and Setting Up webMathematica

 

Setting Up Java

Download and run the Java installer.
 

Setting Up Tomcat

Installation

  1. Go to http://tomcat.apache.org/download-80.cgi.
  2. Download the installer in the format apache-tomcat-<version>.tar.gz.
  3. In the location you wish to install the server, execute:
    sudo tar -xvzf apache-tomcat-<version>.tar.gz

Creating a Tomcat Account

It is recommended that you set up a separate account to run the server under, which we name “tomcat”. This account needs the permissions to run webMathematica.

  1. To create the account, execute in the terminal:
    sudo useradd tomcat
    sudo passwd tomcat
  2. Change the ownership and group of the Tomcat installation directory to the “tomcat” user by executing these commands from the parent directory where you installed the apache-tomcat server:
    sudo chown -R tomcat apache-tomcat-<version>
    sudo chgrp -R tomcat apache-tomcat-<version>

Testing Tomcat

  1. To start the Tomcat server, in the Tomcat installation directory, execute:
    ./bin/startup.sh
  2. Open a web browser and submit “localhost:8080”. If Tomcat has been set up correctly, a page similar to the following one appears:

Common possible issues:

  • The computer’s firewall is blocking requests to tomcat. Tomcat, by default, runs on port 8080. Ensure that the port is open to accept tcp packets on the system running the tomcat server.
  • If you downloaded Java from Oracle’s website, the Tomcat server may not be able to find the Java installation. In such a case, set the system variable JAVA_HOME to Java’s installation directory, e.g. by executing the following on a bash command line or by adding these lines to .bashrc, if your Java was installed in /Applications/jdk1.8.0 :
    JAVA_HOME=/Applications/jdk1.8.0
    export JAVA_HOME

Setting Up Mathematica

You will need to install Mathematica, activate Mathematica and move Mathematica's licensing information into a location that can be accessed globally on your machine.

Installation

Follow the instructions for installing Mathematica on Mac.

Activation

Activate Mathematica using online or manual activation.

Making Licensing Files Accessible to the “Tomcat” User

By default, Mathematica places its licensing information in a mathpass file in a user-specific location. To make your licensing information accessible to your “tomcat” account, copy the mathpass file into the globally accessible base directory of Mathematica and set its permission so that any account can read the file.

  1. To identify the location of your mathpass file, evaluate in Mathematica:
    $PasswordFile
  2. To identify the base directory location, evaluate:
    $BaseDirectory

These folder locations are used in the following instructions.

  1. The Licensing directory may not yet exist. If so, create it by executing the following command:
     sudo mkdir -p /Library/Mathematica/Licensing
  2. Copy the mathpass file to the Licensing directory of the base directory:
    sudo cp /Users/<username>/Mathematica/Licensing/mathpass /Library/Mathematica/
    Licensing/mathpass
  3. Grant read access to the mathpass file for all accounts:
     sudo chmod a+r /Library/Mathematica/Licensing/mathpass

Installing and Setting Up webMathematica

Installation

webMathematica’s installation files contain webMathematica.zip. Place it into the webapps directory of your Apache Tomcat servers and unzip it to ensure it is opened and unpacked at startup. Assuming that you have defined $TOMCAT_INSTALL to represent the installation directory of your Tomcat server, evaluate the following:

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

Testing and Troubleshooting

The webMathematica package comes with some default pages that can be used to test the setup of webMathematica.

  1. Access the base page by pointing a browser to “localhost:8080/webMathematica”.

  2. As a first test, click the Hello World example. The Hello World page providing the current time and date appears.

  3. If Hello World is not working, check the log file by executing:
    less $TOMCAT_INSTALL/logs/webMathematica.log

Common possible issue:

Search the log file for error ....com.wolfram.kerneltools.state.StateMachine [ERROR] Could not find MathLink executable. In such a case, webMathematica could not find the executable of the Mathematica kernel. This can occur if you have installed Mathematica in a non-standard location or if a version of webMathematica is not paired with the recommended Mathematica version, e.g. webMathematica 3.5 was released for Mathematica 12.0 and looks in the default installation directory of Mathematica for the executable.

To point to the correctly paired version of Mathematica, configure webMathematica.

  1. On the command line, go to $TOMCAT_INSTALL/webapps/webMathematica/WEB-INF/ and locate the file MSPConfiguration.xml.
  2. Open MSPConfiguration.xml in a text editor and locate the following section:
  3. <KernelPool>
          <KernelPoolName>General</KernelPoolName>
          <URLPattern>/*</URLPattern>
    </KernelPool>
  4. Edit and change this section to:
    <KernelPool>
          <KernelPoolName>General</KernelPoolName>
          <KernelExecutable>
           /Applications/Mathematica.app/Contents/MacOS/MathKernel
          </KernelExecutable>
          <URLPattern>/*</URLPattern>
    </KernelPool>
  5. Note: These instructions assume Mathematica was named “Mathematica.app”. If you have a different application name, substitute the name you used.

Is this article helpful?
Yes
No

Any comments?

Thank you for your feedback.

Submit

Contact Support

Whether you have a question about billing, activation or something more technical, we are ready to help you.

1-800-WOLFRAM (+1-217-398-0700 for international callers)

Customer Support

Monday–Friday
8am–5pm US Central Time

  • Product registration or activation
  • Pre-sales information and ordering
  • Help with installation and first launch

Advanced Technical Support (for eligible customers)

Monday–Thursday
8am–7pm US Central Time

Friday
8:30–10am & 11am–5pm US Central Time

  • Priority technical support
  • Product assistance from Wolfram experts
  • Help with Wolfram Language programming
  • Advanced installation support