Configuring Soft Links Between PhixFlow and Tomcat

This page is for administrators who need to link the Tomcat webserver to files stored on the PhixFlow Server.

Overview

Application designers use images and files in their applications. You can add a soft link (also called datalink or symlink) to the Tomcat webserver so that it can access files when serving application pages. The soft link acts as a shortcut between the two directories and lets the Tomcat webserver "see" the files.

For more information about soft links, see this article on Creating Symbolic Links.

Sections on this page

Upgrade Considerations

You need to configure soft links in the /tomcat/webapps/phixflow directory.

When you upgrade PhixFlow to the latest version, the process replaces everything in /tomcat/webapps/phixflow, and therefore deletes the soft links. After upgrade you must reinstate the soft links after completing the special upgrade instructions; see Upgrading PhixFlow.

This is also why you must never add files directly to /tomcat/webapps/phixflow or it's subdirectories.

Creating Soft Links 

In the following commands:

  • path/folder_name is the full path to the directory to which you want to link
  • soft_link is the path to the directory where you want to access the soft link.

On Linux create soft links using the ln command

ln -s path/folder_name soft_link

If a file path includes spaces, enclose it in double-quotes. 

Example ln command
sudo ln -s /opt/phixflow/data/ /opt/tomcat/webapps/phixflow/datalink

On Windows create soft links using the mklink command

By default, the mklink command creates links to specific files. To link to a directory, use the /D option.

mklink /D soft_link path/folder_name

Example mklink command
mklink /D c:\app\tomcat\webapps\phixflow\datalink c:\path\phixflow\data

Securing Soft Links

To ensure soft links from Tomcat to PhixFlow directories are secure, configure the context.xml file as follows:

  1. Edit /opt/tomcat/conf/context.xml
  2. Find the line: <Resources cachingAllowed="true" cacheMaxSize="1000000" />
  3. Replace it with: <Resources allowLinking="true" cachingAllowed="true" cacheMaxSize="1000000" />

Example Soft Links

In the following example, Tomcat has a soft link called images-link to a files/images directory in PhixFlow.

OSSoft link in a Tomcat directory
points to → 
PhixFlow server directory containing files
Linux<path>/tomcat/webapps/phixflow/images-link

/opt/phixflow/files/images/

Windows<path>\tomcat\webapps\phixflow\images-link<path>/phixflow/files/images//

You can also create soft links within the PhixFlow server, for example to simplify paths.

OSSoft link in Tomcat directory
points to → 
Soft link in PhixFlow server
points to → 
Directory containing files
Linux<path>/tomcat/webapps/phixflow/proj1-images

/opt/phixflow/images/project1/

/opt/phixflow/allprojects/apps/project1/files/images/
Windows<path>\tomcat\webapps\phixflow\proj1-images<path>/phixflow/images/project1/<path>/phixflow/allprojects/apps/project1/files/images/