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 linksoft_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.
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
mklink /D c:\app\tomcat\webapps\phixflow\datalink c:\path\phixflow\data
Tomcat configuration
If you have installed Tomcat according to the standard recommendations (Install Tomcat), you will already have the configuration you need.
But to check, or in case of problems:
For Linux installations only, configure the context.xml
file as follows:
- Open
/opt/tomcat/conf/context.xml
- Find the line:
<Resources cachingAllowed="true" cacheMaxSize="1000000" />
- Replace it with:
<Resources allowLinking="true" cachingAllowed="true" cacheMaxSize="1000000" />
For Windows installations, you must not include this option. It is not needed, and adding it can cause security issues.
Example Soft Links
In the following example, Tomcat has a soft link called images-link
to a files/images
directory in PhixFlow.
OS | Soft link in a Tomcat directory | points to → | PhixFlow server directory containing files |
---|---|---|---|
Linux | <path>/tomcat/webapps/phixflow/images-link |
| |
Windows | <path>\tomcat\webapps\phixflow\ | <path>/phixflow/ |
You can also create soft links within the PhixFlow server, for example to simplify paths.
OS | Soft 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/allprojects/apps/project1/ | ||
Windows | <path>\tomcat\webapps\phixflow\proj1-images | <path>/phixflow/images/project1/ | <path>/phixflow/ |
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 linksoft_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.
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
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:
- Edit
/opt/tomcat/conf/context.xml
- Find the line:
<Resources cachingAllowed="true" cacheMaxSize="1000000" />
- 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.
OS | Soft link in a Tomcat directory | points to → | PhixFlow server directory containing files |
---|---|---|---|
Linux | <path>/tomcat/webapps/phixflow/images-link |
| |
Windows | <path>\tomcat\webapps\phixflow\ | <path>/phixflow/ |
You can also create soft links within the PhixFlow server, for example to simplify paths.
OS | Soft 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/allprojects/apps/project1/ | ||
Windows | <path>\tomcat\webapps\phixflow\proj1-images | <path>/phixflow/images/project1/ | <path>/phixflow/ |