Ga7 5 1 Upgrade Guide
Ga7 5 1 Upgrade Guide
Guide
Version 7.5.1
Copyright Terms and Conditions
Copyright © Fortra, LLC and its group of companies. All trademarks and registered trademarks are the property of their respective
owners.
The content in this document is protected by the Copyright Laws of the United States of America and other countries worldwide. The
unauthorized use and/or duplication of this material without express and written permission from Fortra is strictly prohibited. Excerpts and
links may be used, provided that full and clear credit is given to Fortra with appropriate and specific direction to the original content.
202404081248
Table of Contents
Upgrade Process
An upgrade script (program) is available which will perform all the necessary steps to
upgrade GoAnywhere MFT. See the Upgrade File section to determine which upgrade
script you require. Download the appropriate upgrade script by visiting the GoAnywhere
Customer Portal at my.goanywhere.com.
1. Ensure you have a backup of GoAnywhere MFT including the database (i.e. a
snapshot) so you can restore your instance if needed.
2. Review the Important Version Updates section for information on the GoAnywhere
version you are upgrading to.
3. Verify your system meets the minimum requirements for the upgrade.
n Check if there are any updates available for GoAnywhere MFT by logging in to its
browser interface as a user with the Product Administrator role. From the main
menu bar, point to Help and then click Check for Updates. The system checks for
updates and provides you with further upgrade options. The Check for Update
process provides guidance to upgrade GoAnywhere MFT to the latest version.
n Since GoAnywhere MFT must be restarted to apply the updates, it is important that
you perform the upgrade process when no projects or file transfers are active in
GoAnywhere MFT. Also, no other external processes must be running against the
database that GoAnywhere is running on (such as a database backup).
n It is recommended that you clean up the temporary workspace by deleting the older
files and subfolders from under the folder named
[installfolder]/userdata/workspace.
n Create backups or VM snapshots of any GoAnywhere MFT or Gateway servers.
n Consider testing an upgrade in your development environment prior to upgrading
your production environment.
NOTE:
GoAnywhere MFT automatically backs up the embedded Derby database during the
upgrade.
Important Version
Updates
7.5.0
Database Connection Pool Update
With 7.5.0, GoAnywhere MFT has updated its database connection pooling library. With
the inclusion of the improved connection pool, it is suggested that your GoAnywhere
MFT’s Maximum Pool Size amount be reviewed before upgrading. The new connection
pool is more aggressive during its initialization which can result in all connections being
consumed on the database server if the Maximum Pool Size for MFT does not align with
what is configured for your database.
You can configure GoAnywhere MFT’s Maximum Pool Size by navigating to System >
Database Configuration > Edit Configuration.
7.4.2
Docker Image Permissions
In 7.4.2, the GoAnywhere MFT Docker image was updated to prevent the default gamft
user that runs MFT from escalating permissions via the Linux sudo command. This change
was added to the Docker container as a security enhancement. Customers who map
internal Docker ports to privileged ports (ports below 1024) will experience issues binding
to these ports.
NOTE: This change only affects customers who have modified the internal Docker ports
from their defaults. For information on how to change these ports, please see the Port
Numbers topic in the Installation - Docker section within the GoAnyhwere Installation
Guide.
7.4.0
FTP Client
As of 7.4.0, the Apache Commons Net jar has been upgraded to remediate a known
vulnerability within FTP. This has changed the default behavior of passive FTP.
When using a passive FTP or FTPS connection, the FTP client no longer trusts the
address returned from the server in the passive (PASV) mode reply. Instead, the FTP client
will connect back to the address used for the control channel. This may lead to a
connection failure.
In the instance of a connection failure, you may see a log message similar to the following:
[Replacing site local address "passiveIPAddress" with "newPasssiveIPAddress"].
The above message is not new. There are other potential reasons for it to appear in past
releases. However, if you are experiencing a new FTP/FTPS connection failure and this
message has appeared when it has not been present in the past, it could be related to the
upgrade.
2. For all Monitor defined variables that match a Project variable, take note of the
value if specified.
b. Project variables are defined at the Project level but can be overwritten by a
Monitor. You can identify these variables by looking at the Name column. If
the Name column is not editable the variable is a Project variable.
3. Change the Project field to a different project than what is currently selected.
a. You may select a different Project with the project selector or by simply typing
into the field itself.
7.3.1
Java Max Memory
As of 7.3.1 you can set the JAVA_MAX_MEMORY value. This is an optional variable that
determines the maximum amount of memory, in megabytes (MB), allocated for the Java
Virtual Machine. By default, this value is 1024 MB. You can set this value when Installing
GoAnywhere MFT using Docker or Docker Compose. See the Docker Upgrade
Instructions section in this guide for more information.
7.3.0
Importing Secure Forms
When importing a Secure Form into version 7.3.0 or later that was exported in a version
previous to 7.1.0, users will have to re-enter the password that was previously stored. To
do this:
3. Click on the Project tab, then select the Change Password link to re-enter the
password.
NOTE: For Secure Forms that were exported from version 7.1.0 and later, no action is
necessary.
7.2.0
Global File Buffer Size
The default setting for the global file buffer size has been changed to 512 KB so users can
gain a performance improvement. This is also due to the need to consolidate multiple
system properties related to buffer sizes in different contexts. We advise customers
concerned with memory usage and performance tuning in GoAnywhere to evaluate the
new global buffer size setting and adjust it to their requirements.
More information about the global file buffer size setting can be found in the GoAnywhere
MFT User guide.
In addition to the above change, all Custom Tasks will need to be rebuilt using the 7.2.0
Custom Task jar files. To do this:
2. Rebuild the Custom Task using the updated MFT jar files. If you are unsure of how
to do this, please refer to step 2 in the GoAnywhere MFT Custom Task Guide.
System Requirements
You must meet the minimum system requirements before upgrading GoAnywhere MFT on
your server.
Windows Requirements
Operating Systems supported Windows Server 2012®
Windows 8®
Windows 10®
Windows 11®
Disk space 500 MB for product (does not include user data)
Linux Requirements
Disk space 500 MB for product (does not include user data)
l OracleJava SE 11
l Azul Zulu Java SE 11
l IBM Java SE 11
Disk Space 400 MB for product (does not include user data)
The following IBM i licensed programs are prerequisites to the installation of GoAnywhere
MFT, which are dependent on the IBM i release and your choice if supported Java version.
To check if the licensed programs (listed above) are installed on your IBM i, execute the
command GO LICPGM and select option 10 to display the installed licensed programs.
Press F11 twice from that screen to display the Product Options.
If these licensed programs are not loaded on your IBM i, they may be available on the IBM
software CDs that came with your IBM i. Otherwise, you will have to request those
licensed programs from IBM, which are normally provided at no charge.
Required PTFs
The following IBM i Program Temporary Fixes (PTFs) and Group PTFs are prerequisites to
installing GoAnywhere MFT.
Use the command DSPPTF to verify that the required individual PTFs are applied. Use the
command
WRKPTFGRP to verify that the required group PTFs are applied.
Mac OS X
Operating Systems supported Mac OS X
Disk space 400 MB for product (does not include user data)
Browser Compatibility
The GoAnywhere MFT Administrator and Web Client interface's require modern internet
browsers that support HTML 5. Popular browsers are supported including Microsoft Edge,
Chrome, Firefox and Safari. Please note that some HTML 5 advanced features, such as
drag and drop, will not work in older versions of browsers.
The portal can be accessed by using your internet browser and navigating to
my.goanywhere.com
Depending how old your current GoAnywhere MFT version is, you may need to repeat the
upgrade process until you are upgraded to the current version of 7.5.1. The versions must
be upgraded in the order listed below to maintain database integrity. For example, if you
have GoAnywhere 6.0.1 currently installed, you would first download and upgrade to
version 6.0.4, followed by 7.0.3, then 7.1.3 before upgrading to the latest released version.
NOTE:
Your current installed version can be found by pointing to the Help menu and then
clicking About.
Windows Upgrade
Instructions
Prior to upgrading, make sure to see the Before you Begin section for best-practice
recommendations, including backing up your existing systems.
There are two ways of upgrading GoAnywhere MFT on Windows. The following includes
instructions on how to upgrade your installation of GoAnywhere MFT by running either the
upgrader .EXE file or the upgrader .JAR file available at my.goanywhere.com.
WARNING:
Do not use a GoAnywhere installer to upgrade. Use only the above mentioned
upgrader files. The procedure for installing GoAnywhere MFT is different than
upgrading. See the GoAnywere MFT Install Guide for more information.
2. Download the GoAnywhere MFT upgrader .EXE file from the GoAnywhere
Customer Portal at my.goanywhere.com.
NOTE:
If you have a 64-bit operating system, make sure to download the 64-bit version.
a. From the Control Panel, open Administrative Tools and then click Services.
b. In the Services window, right-click the GoAnywhere service and select Stop.
4. If the GoAnywhere MFT database is configured to run on a database other than the
embedded Derby database, make a backup of that external database before
continuing.
5. Execute the downloaded upgrader .EXE file and follow the prompts on the screens.
a. From the Control Panel, open Administrative Tools and then click Services.
b. In the Services window, right-click the GoAnywhere service and select Start.
Within seconds after starting the GoAnywhere MFT service, its status should
be updated to “Running”.
3. Sign into the GoAnywhere MFT browser-based Administrator and verify there are
no active jobs or transfers before proceeding.
a. From the Control Panel, open Administrative Tools and then click Services.
b. In the Services window, right-click the GoAnywhere service and select Stop.
7. If the GoAnywhere MFT database is configured to run on a database other than the
embedded Derby database, make a backup of that external database before
continuing.
NOTE:
You must run the Command Prompt window as administrator to run the Upgrade.bat
file.
9. Run the upgrade.bat file to start the upgrade process. When complete, a message
indicates the upgrade was successful.
a. From the Control Panel, open Administrative Tools and then click Services.
b. In the Services window, right-click the GoAnywhere service and select Start.
Within seconds after starting the GoAnywhere MFT service, its status should
be updated to “Running”.
11. Before logging into the upgraded version of GoAnywhere MFT, each user should
press CTRL + F5 from their browser to clear the cache.
Linux/UNIX/AIX/HP-
UX/Solaris Upgrade
Instructions
Prior to upgrading, make sure to see the Before you Begin section for best-practice
recommendations, including backing up your existing systems.
WARNING:
Do not use a GoAnywhere installer to upgrade. Use only upgrader files. The procedure
for installing GoAnywhere MFT is different than upgrading. See the GoAnywere MFT
Install Guide for more information.
3. Sign into the GoAnywhere MFT browser-based Administrator and verify there are
no active jobs or transfers before proceeding.
4. Login to the system as the same user profile used to start GoAnywhere MFT and
open a terminal window.
b. Stop the GoAnywhere MFT application server by executing the following bash
shell script:
./goanywhere.sh stop
7. If the GoAnywhere MFT database is configured to run on a database other than the
embedded Derby database, make a backup of that external database before
continuing.
10. Before logging into the upgraded version of GoAnywhere MFT, each user should
press CTRL + F5 from their browser to clear the cache.
1. Sign into the GoAnywhere MFT browser-based Administrator and verify there are
no active jobs or transfers before proceeding.
2. Login to the system as the same user profile used to start GoAnywhere MFT and
open a terminal window.
3. Download the GoAnywhere MFT Linux RPM installer file from the URL provided by
Fortra.
4. Execute the downloaded installer file by running sudo yum upgrade <rpm_file>
and follow the prompts.
c. Before logging into the upgraded version of GoAnywhere MFT, each user
should press CTRL + F5 from their browser to clear the cache.
NOTE:
You can setup GoAnywhere so it starts automatically when the Linux system is booted
by running sudo service goanywhere-mft enable. Please refer to your operating
system manual for more details on setting up auto-start services.
If using an external database (DB2), the database user profile must have the *ALLOBJ
authority to make changes to the database during the upgrade.
In some cases, the upgrade may remove columns from tables in the external database.
The *USE authority must be given to ADDRPYLE and RMVRPYLE commands to
complete this change.
If you are using an external GoAnywhere Database Library, it is highly recommended that
you disable any High Availability (HA) software prior to starting the upgrade. HA software
similar to Mimix, Itera, Maxava, etc. has been known to lock tables during an upgrade
causing the upgrade to fail when a table is affected by consecutive operations.
To determine if you are using an external Database Library, login to GoAnywhere MFT and
navigate to System > Database Configuration and review the Database driver and
URL information.
Contact your system or HA software administrator to ensure this process has been
disabled.
WARNING:
Do not use a GoAnywhere installer to upgrade. Use only the above mentioned
upgrader files. The procedure for installing GoAnywhere MFT is different than
upgrading. See the GoAnywere MFT Install Guide for more information.
Upgrade IBM i
1. Rename the downloaded upgrade file to ga_upgrade.jar.
3. Sign into the GoAnywhere MFT browser-based Administrator and verify there are
no active jobs or transfers before proceeding.
4. Sign on to an IBM i session with the QSECOFR user profile or with a profile that
has *ALLOBJ authority.
6. Verify there are no locks on the GoAnywhere MFT installation library or objects. Do
not proceed with the upgrade until all locks are released. Run the following
command to check for locks (assuming GOANYWHERE is the install library):
WRKOBJLCK OBJ(GOANYWHERE) OBJTYPE(*LIB)
7. If you have externalized your GoAnywhere database to IBM i DB2, use the
WRKOBJLCK command to check for any locks on the database objects.
9. Run the SAVPRD command in the installation library. This saves the installation
library to a save file, saves the matching folder to a save file, then saves both of
those to a third save file, the name and location of which will be requested when
you prompt the SAVPRD command. Specify a location to save the file in a library
outside the installation library.
10. If the GoAnywhere MFT database is configured to run on a database other than the
embedded Derby database, make a backup of that external database before
continuing. The SAVPRD can be used to backup the external database library
when running on DB2/400. Other database types require a manual backup.
11. Apply the upgrade by executing the UPGRADEGA command. The UPGRADEGA
command is located in the installation library, which is named GOANYWHERE by
default.
12. The user profile starting the subsystem must have *RWX permission to the
GoAnywhere MFT installation folder and the entire directory tree. On V7R3 and
later, a command is provided to change the authority on an entire directory tree. In
this example '/Fortra/goanywhere' is the installation directory and PGUSER will be
the user profile that will be starting the subsystem.
CHGAUT OBJ('/Fortra/goanywhere') USER(PGUSER) DTAAUT
(*RWX) OBJAUT(*ALL) SUBTREE(*ALL)
13. Start the GoAnywhere MFT subsystem by executing the IBM i command of STRGA.
The STRGA command is located in the installation library, which is named
GOANYWHERE by default.
14. Before logging into the upgraded version of GoAnywhere MFT, each user should
press CTRL + F5 from their browser to clear the cache.
NOTE:
When upgrading the GoAnywhere Library on an iSeries, backups are created for
upgraded config files. For example, restoring the GACONFIG object [RSTOBJ] during
an upgrade will result in the creation of a GACONF0001. These objects can be
removed after the system has been thoroughly tested with the new objects.
The recommended way to add fonts on the IBMi is to install licensed program 5770SS1
Option 43 (Additional Fonts). An alternate way to add fonts is to create a fonts folder and
reference that folder via the JAVA_FONTS environment variable. Follow the steps below to
enable Java 11 to discover and use fonts on IBMi operating systems using the alternate
method. Arial, Courier and Time New Roman TTF files have been known to work.
1. Copy the desired font’s TTF file(s) from the Windows Fonts folder (the default
location: is C:\WINDOWS\Fonts) to the designated fonts folder in your IBMi
Integrated File System.
NOTE: Visit this page for more detail on adding custom fonts to IBMi:
https://www.ibm.com/support/pages/how-add-fonts-ibm-technology-java-j9-jdks-ibm-i
Docker Upgrade
Instructions
Prior to upgrading, make sure to see the Before you Begin section for best-practice
recommendations, including backing up your existing systems.
If you are upgrading using the GoAnywhere Docker image provided by Fortra, file
ownership will be migrated from the root to a non-root user (GAMFT instead of ROOT). The
following services will be migrated from the default ports to the ports listed:
l HTTPS/AS2 - 8443
l FTP - 8021
l FTPS - 8990
l SFTP - 8022
Verify that the following volumes are setup in Docker to preserve the GoAnywhere MFT
directories:
l [config_dir]/config
l [config_dir]/tomcat
l [install_dir]/tomcat/logs
l [install_dir]/ghttpsroot/custom
l [install_dir]/userdata
l [install_dir]/upgrader
NOTE: [install_dir] refers to the file path of the GoAnywhere installation directory within
the Docker image. For the official GoAnywhere Docker image, the application is
installed in the /opt/HelpSystems/GoAnywhere directory.
NOTE: [config_dir] refers to the location of the GoAnywhere configuration files. For the
official GoAnywhere Docker image, this location is the
/etc/HelpSystems/GoAnywhere directory.
For more information on how to setup volumes in Docker, see the Docker documentation
at: https://docs.docker.com/storage/volumes/.
Upgrade Docker
Use the following instructions to upgrade Docker, be sure to complete each step before
proceeding:
3. Start the new version of the containers using the following command: docker-
compose up -d
4. Navigate into the started GoAnywhere MFT container by running docker exec -it
<container_id> bash
i. This will copy the config, userdata, custom web branding, tomcat logs,
and existing MFT license to that location.
b. Add an entry point override (e.g., entrypoint: ["sh", "-c", "sleep infinity"]).
6. Start the new version of the containers using the following command: docker-
compose up -d
7. Go into the GoAnywhere MFT container by running the following command: docker
exec -it <container_id> bash
a. Copy all config/user files from the migration directory back to source and
update paths in files.
i. This will copy the backup files into the new dir structure and update
paths inside config files.
9. Start the new containers and verify that GoAnywhere MFT starts without any errors.
The following snippet demonstrates how to set the JAVA_MAX_MEMORY value in your
Docker Compose YAML file. See the single instance and multi-instance examples below
for full sample files that you can modify.
EXAMPLE:
version:
services:
mft:
image:
container_name:
restart:
environment:
JAVA_MAX_MEMORY=2048
ports:
...
volumes:
...
volumes:
...
Fortra provides two sample docker.compose.yml files that you can modify. The first
sample file contains a single GoAnywhere instance definition. The second example
contains the necessary components to run GoAnywhere in a Cluster, such as three
GoAnywhere instance definitions, a MySQL database that each instance will use as a
back end database, and a shared volume. You can download each compose file here:
l Single Instance:
https://my.goanywhere.com/public/goanywhere/mft/docker/single/docker-
compose.yml
l Multi-Instance:
https://my.goanywhere.com/public/goanywhere/mft/docker/multi/docker-
compose.yml
IMPORTANT: For the multi-instance Docker configuration, the value of the cluster_dir
variable must be the full relative path of:
/opt/HelpSystems/GoAnywhere/userdata/cluster.
4. From the terminal window, change to the directory that contains the docker-
compose.yml file.
5. Download the GoAnywhere Docker image and all other services by using the
following command:
docker-compose pull
6. Start all the services (in the background) by using the following command:
docker-compose up -d
8. Optionally, you can shut down all the services in your Compose file by using the
following command:
docker-compose down
If you used the multi-instance Compose file, Compose has downloaded any necessary
images (such as mySQL), created containers, mapped volumes, and started GoAnywhere
MFT. You should then use the Clustering documentation found in the GoAnywhere User
Guide to verify and complete your clustered Docker installation.
TIP:
The GoAnywhere Docker Image does not contain a text editor. You will need to install
your preferred software to modify system configuration files.
Upgrading a Cluster
Environment
Prior to upgrading, make sure to see the Before you Begin section for best-practice
recommendations, including backing up your existing systems.
The following steps will ensure a successful upgrade when upgrading GoAnywhere MFT in
a cluster environment. The whole cluster must be brought down during the upgrade as the
first system upgraded will make core changes to the external shared database. When
planning for downtime during the upgrade, you will only be down for the time it takes to
upgrade the coordinator (first system).
2. Run the upgrade process for your specific operating system on a server in the
cluster. During this upgrade, all required changes are made to the shared database.
l Windows Upgrade Instructions
l Linux/Unix Upgrade Instructions
l IBM i Upgrade Instructions
l Docker Upgrade Instructions
NOTE:
After the first upgraded server has made the required changes to the shared
database, each additional server will detect the updated database and only
update its file system with the necessary changes.
3. Start the GoAnywhere MFT subsystem or service on the server after it is upgraded.
l If this is the first server to be upgraded, it will assume the coordinator role.
l If this is not the first server to be upgraded, verify the server has joined the
cluster.
The shared folder locations can be found in the GoAnywhere MFT Install Guide's "Setting
up the First System in the Cluster"section.
Downgrading
GoAnywhere MFT
When an upgrade is performed, the upgrade process makes a backup of folders and files
that are changed during upgrade. These files are placed in
[installfolder]/backups/backup_[fromVersion]_[toVersion] (where [installfolder] is the
location where GoAnywhere MFT is installed). The backup folder names contain the
existing and new version numbers of GoAnywhere. For example, the 'backup_543_to_552'
folder contains the files that were backed up when GoAnywhere MFT was upgraded from
version 5.4.3 to version 5.5.2.
NOTE:
If the upgrade fails before the backup directory is successfully created, then no
changes will be made and you can restart GoAnywhere MFT.
The upgrade creates an upgrade log, which displays the location of the backup folder.
Example of the upgrade log:
If you choose to downgrade GoAnywhere MFT, any changes to projects, resources, or any
other GoAnywhere MFT configuration settings made after the upgrade will be lost when the
rollback is performed. The rollback returns GoAnywhere MFT to the state it was just before
the upgrade was performed.
If the new version of GoAnywhere MFT is deemed unfit, a rollback can be performed using
the following steps:
3. To ensure no library conflicts are introduced during the rollback, delete the
contents of [install_dir]/lib.
4. Navigate to the backup folder and with the exception of the userdata folder (do not
delete the userdata folder), perform the following for each folder:
l If the folder exists in the [install_dir]/backups folder, delete the
corresponding folder in the install directory.
NOTE: If you are using the embedded Derby database, deleting the
[install_dir]/userdata/database/goanywhere folder and replacing it with
the [backup_dir]/userdata/database/goanywhere folder will downgrade
your embedded database to the backup taken during the upgrade
process.
l Copy the folder from the backup directory to the install directory.
l If folders exist in the backup folder that do not exist in the install folder, copy
them to the install folder.
5. Any individual files in the backup folder not contained in a folder should also be
copied to the install folder.
8. On IBM i, you must also restore the save files created by the SAVPRD command
that was used to install or upgrade GoAnywhere. The first file is named
GOANYWHERE. The second file is typically named GADATA. The second file is
required if GoAnywhere is using the external DB2 database. Further instructions for
IBM i are provided below.
9. Ensure the user profile used to start GoAnywhere has ownership authority to the
restored files. On IBM i and Unix/Linux systems, ensure the user profile used to
start GoAnywhere has execute permission to all shell scripts (*.sh).
10. Navigate to the [installfolder]/tomcat/work folder and delete all files present in that
folder.
1. Rename the existing GOANYWHERE library and IFS Folder. The folder is located
in either the /Linoma, /HelpSystems, or /Fortra directory on the IFS. This will
preserve the libraries and check for necessary authority. Ensure these libraries are
renamed before moving to the next step.
NOTE:
If you have an IBM i data library (GADATA), you will need to save the library and
delete it because of journaling.
2. To confirm the names of the primary save files, use the command DSPSAVF
mylibrary/gamftsavf (use the actual library and file name specified when the
SAVPRD command was run). The following image illustrates the results of the
command:
4. If using the DB2 Database Library, use this command. Note: If downgrading GA
Services, the SAVLIB would be GASDATA.