Ga Installation Guide
Ga Installation Guide
Guide
Version 6.0.3
Copyright Terms and Conditions
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 HelpSystems is strictly prohibited.
Excerpts and links may be used, provided that full and clear credit is given to HelpSystems with appropriate and specific direction to the
original content. HelpSystems and its trademarks are properties of the HelpSystems group of companies. All other marks are property of
their respective owners.
201902140125
Table of Contents
l Runs on most platforms including Windows, Linux, VMware, UNIX, IBM i, Solaris and Mac OS.
l Includes a browser-based administrator interface with a customizable dashboard, advanced
graphical components and drag-n-drop support.
l Supports popular file transfer protocols including SFTP, SCP, FTP/s, HTTP/s, AS2, Web
Services, SMTP, POP3 and IMAP.
l Provides client components for connecting to internal and external systems for sending and
retrieving files.
l Provides server components to allow systems and users to connect to GoAnywhere for
uploading and downloading files.
l Protects files “at rest” and “in-motion” with FIPS 140-2 validated AES256 encryption.
l Logs all file transfer activity in a central database with an optional SYSLOG feed.
l Produces a wide variety of management and analytical reports.
l Provides Domain support to segment GoAnywhere into logical security zones.
GoAnywhere can be used for a variety of file transfer needs including workflow automation, ad-
hoc file transfers and document collaboration. It can simplify system-to-system, user-to-system and
user-to-user file transfers.
Workflow Automation
Administration
Authorized users can utilize GoAnywhere's browser-based Administrator to perform configuration
and monitoring within the product.
Browser Compatibility
The GoAnywhere Administrator and Web Client interface's require modern internet browsers that
support HTML 5. Popular browsers are supported including Internet Explorer*, 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.
*GoAnywhere MFT supports Microsoft Internet Explorer 9, 10, and 11.
Requirements
Operating Systems Windows Server 2008 R2®
supported
Windows Server 2012®
Windows Vista®
Windows 7®
Windows 8®
Windows 10®
3. Execute the downloaded .EXE file and follow the prompts on the screens.
4. If you did not choose to start the GoAnywhere application server within the installer, then
you can manually start this server by following these instructions:
a. Go to Control Panel > Administrative tools > Services.
b. In the Services window, right-click on GoAnywhere and select Start.
c. Within seconds after starting GoAnywhere, its status should be updated to “Started”. If
not, please contact HelpSystems technical support.
5. The installation and startup of GoAnywhere is complete. Now you should proceed to the
Initial Configuration instructions.
NOTE:
GoAnywhere is configured in Windows as an automatic startup Service. This means that
the GoAnywhere will automatically start whenever Windows starts.
Requirements
Disk space 375 MB for product (does not include user data)
Memory 512 MB minimum
1. Create or designate a non-root user on the system that will be used to install and run the
GoAnywhere application. This user will be the owner of all files created during installation as
well as files written to the file system during use.
2. Login to the target Linux system as the user designated in step 1.
3. Download the GoAnywhere Linux installer file from the URL provided by HelpSystems.
4. If needed, set the Executable bit on the file (e.g. chmod 755 ga5_x_x_linux.sh).
5. If you have a graphical desktop for Linux, execute the downloaded installer file and follow
the prompts on the screens. Otherwise, execute the downloaded installer file with a –c
option (e.g. installer_filename.sh -c) and follow the prompts.
6. Start GoAnywhere by following these instructions:
a. Open a Terminal window.
b. Change the working directory to the directory where GoAnywhere was installed
(for example, cd /usr/local/HelpSystems/GoAnywhere)
c. Start GoAnywhere by executing the following shell script:
./goanywhere.sh start
7. The installation and startup of GoAnywhere is complete. Now you should proceed to the
Initial Configuration instructions.
NOTE:
You can setup GoAnywhere so it starts automatically when the Linux system is booted. Please
refer to your operating system manual for more details on setting up auto-start services. You
can execute goanywhere.sh from your startup scripts.
Requirements
Disk space 250 MB for product (does not include user data)
Memory 512 MB minimum
JRE (Java Runtime Environment) The following JREs can be used:
l Oracle Java SE 8
l Azul Zulu Java SE 8
l IBM Java SE 8
Installing GoAnywhere
Perform the following steps to install GoAnywhere onto a UNIX, Solaris (SPARC and Intel), AIX or
HP-UX server.
1. Create or designate a non-root user on the system that will be used to install and run the
GoAnywhere application. This user will be the owner of all files created during installation as
well as files written to the file system during use.
2. Login to the server as the user designated in step 1.
3. Download the GoAnywhere UNIX installer file from the GoAnywhere Customer Portal at
my.goanywhere.com.
4. Open a Terminal window.
5. Change the directory to where the installer file was downloaded (e.g. cd /root/Desktop).
6. If needed, set the Executable bit on the file (e.g. chmod 755 ga5_x_x_unix.sh).
7. Run the installer (e.g. ./goanywhere5_x_x_unix.sh).
8. The installer will attempt to find a compatible JRE (Java Runtime Environment) for the
installation process. Follow the steps below if the installer cannot find a compatible JRE:
a. Define an environment variable named INSTALL4J_JAVA_HOME to point to the home
directory of the JRE (e.g. export INSTALL4J_JAVA_HOME=/usr/lib/jvm/java-1.8.0-
sun/jre).
b. Clear the Installer cache by removing the file named .install4j from your home
directory
(e.g. rm /root/.install4j).
c. Run the installer again (e.g. ./goanywhere5_x_x_unix.sh).
9. Follow the on-screen instructions to complete the installation.
10. JCE policy files must be copied to the JRE’s (Java Runtime Environment) security folder in
order to support encryption functions in GoAnywhere:
For IBM platforms (e.g. AIX), copy the JCE policy files of US_export_policy.jar and local_
policy.jar from the jce_policy_files/ibm folder (located under the GoAnywhere installation
folder) to the jre/lib/security folder (located under the JRE's installation directory).
For all other platforms (e.g. Solaris), copy the JCE policy files of US_export_policy.jar and
local_policy.jar from the jce_policy_files/sun folder (located under the GoAnywhere
installation folder) to the jre/lib/security folder (located under the JRE's installation
directory).
12. The installation and startup of GoAnywhere is complete. Now you should proceed to the
Initial Configuration instructions.
NOTE:
You can setup GoAnywhere so it starts automatically when the system is booted. Please refer
to your operating system manual for more details on setting up auto-start services. You can
execute goanywhere.sh from your startup scripts.
Requirements
Operating System IBM i V7R1 or higher
Disk Space 275 MB for product (does not include user data)
Memory 512 MB minimum
The following IBM i licensed programs are prerequisites to the installation of GoAnywhere, which
are dependent on IBM i release and your choice of 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.
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.
IBM i components installed
The following components will be installed onto the IBM i by the GoAnywhere installation process:
n A IBM i library will be created, which will contain the GoAnywhere commands and program
objects. The default library name is GOANYWHERE, which can be changed during
installation.
n An IFS folder will be created, which will contain the GoAnywhere software components.
The default IFS folder name is /helpsystems/goanywhere, which can be changed during
installation.
n The policy files named US_export_policy.jar and local_policy.jar will be installed into the
security directory of the Java Development Kit (JDK). These policy files are used to support
encryption functions in GoAnywhere. The directory is:
QOpenSys/QIBM/ProdData/JavaVM/jdk80/32bit/jre/lib/security
1. Sign on to the IBM i with the QSECOFR user profile OR with a profile which has *ALLOBJ
authority.
2. Create a temporary Save file on your IBM i by executing the following IBM i command:
CRTSAVF FILE(QGPL/GOANYWHERE)
3. The GoAnywhere software needs to be uploaded to your IBM i using FTP. Before
proceeding, ensure the FTP server is running on the IBM i. To start the native FTP server on
the IBM i, you can issue the IBM i command of
STRTCPSVR SERVER(*FTP).
4. Download the GoAnywhere installer (for IBM i) from the Customer Portal at
my.goanywhere.com.
5. Extract the files from the installer ZIP file into a new temporary folder on your workstation.
One of the extracted files will be named GOANYWHERE.SAVF.
6. FTP the extracted GOANYWHERE.SAVF file from your PC to the Save file on the IBM i (that
was created in step 2). Listed below are instructions for a Windows user:
a. Open a DOS window.
b. Enter the DOS command FTP <hostname>, where <hostname> is the host name or IP
address of your IBM i.
c. Login with your IBM i user id and password, then enter the following highlighted FTP
commands:
7. Restore the installation objects into QTEMP by executing the following IBM i command:
RSTOBJ OBJ(*ALL) SAVLIB(QTEMP) DEV(*SAVF) SAVF(QGPL/GOANYWHERE)
8. Delete the temporary Save file by executing the following IBM i command (optional):
DLTF FILE(QGPL/GOANYWHERE)
9. If QTEMP library is not in your library list, then add it by executing the following IBM i
command:
ADDLIBLE LIB(QTEMP) POSITION(*FIRST)
10. Prompt (F4) the command QTEMP/INSTALLGA for installing GoAnywhere. The following
screen appears.
Parameter descriptions:
* To check if the port number is already in use, run the IBM i command of NETSTAT and select
option 3. Then press F14 to see the numeric port numbers.
11. After reviewing and/or modifying the parameters on the INSTALLGA command, press enter
to start the installation process.
12. Prompt (F4) the command GOANYWHERE/STRGA for starting the GoAnywhere subsystem.
The following screen will be displayed.
For the Server User Profile parameter, keep the default of *CURRENT if you want to run the
GoAnywhere application under your user profile. Otherwise, specify a different user profile
to run the GoAnywhere application server under.
NOTE:
The user profile specified on the STRGA command must be enabled on the IBM i. This
profile must have *USE authority to the STRSBS command and *RWX authority to the
IFS folders where GoAnywhere is installed.
For security purposes, you may want to create a new user profile and consistently use that
profile on the STRGA command. Then you would only have to grant authority for the
GoAnywhere installation IFS folders to that user profile. There are certain user profiles that
you cannot use to start the GoAnywhere subsystem. These are: 'QSECOFR', ‘QSPL', 'QDOC',
'QDBSHR', 'QRJE', 'QSYS', 'QLPAUTO', 'QLPINSTALL', 'QTSTRQS' or 'QDFTOWN'
13. Press enter on the STRGA command to start the GoAnywhere subsystem.
14. Execute the WRKACTJOB (Work with Active Jobs) command to confirm that the
GoAnywhere subsystem is running. You should find a subsystem which has the same name as
the library name that was specified on the INSTALLGA command in step 10 (named
GOANYHWERE by default). This subsystem should contain two jobs, one is for the
GoAnywhere application, and the other is for the JVM.
15. The installation and startup of GoAnywhere is complete. Now you should proceed to the
CL example:
Requirements
Operating Systems supported Mac OS X
Disk space 250 MB for product (does not include user data)
Memory 512 MB minimum
NOTE:
You can setup GoAnywhere so it starts automatically when the Mac OS X system is booted.
Please refer to your operating system manual for more details on setting up auto-start services.
You can execute goanywhere.sh from your startup scripts.
To start GoAnywhere:
To stop GoAnywhere:
To start GoAnywhere:
To stop GoAnywhere:
To start GoAnywhere:
To stop GoAnywhere:
1. To access the GoAnywhere Administrator using a standard HTTP connection, open your
browser and type the URL of http://[hostname]:[portnumber] where [hostname] is the host
name or IP address of GoAnywhere and [portnumber] is the port number of the
GoAnywhere Administrator. The default HTTP port for the Administrator is 8000.
Example: http://myserver:8000
Otherwise, to access the GoAnywhere Administrator over a secure HTTPS connection, open
your browser and type the URL of https://[hostname]:[portnumber]. The default HTTPS port
for the Administrator is 8001.
Example: https://myserver:8001
2. The License Server page appears. Click the Get License button and follow the on screen
prompts to license the server.
3. Once the server is licensed, You are prompted to create an administrator account for
GoAnywhere. This account is assigned all administrator roles with access rights to the entire
GoAnywhere application. After this account is created, other Admin User accounts can be
created from the Users > Admin Users page.
6. Review and adjust the global settings in GoAnywhere by following the instructions below:
a. From the main menu bar, select the System option.
b. Choose the Global Settings option.
c. Review the settings on the tabs and make any changes as needed. Read the on-line
help text for each setting to understand its purpose.
d. Be sure to specify the settings for your SMTP server on the SMTP Settings tab. This
will allow GoAnywhere to send email alerts when certain events occur.
e. Note that some changes to the Global Settings will take effect only when GoAnywhere
is restarted.
7. By default, Admin User and Web User passwords are authenticated against the passwords
stored in the GoAnywhere database. Optionally, you can configure GoAnywhere Login
Methods for basic authentication of Admin User and Web User passwords against a Windows
Active Directory, a Generic LDAP, or an IBM i (iSeries) located within your organization.
Web User accounts can also be synchronized with users stored in an LDAP server.
a. From the main menu bar, select the Users option.
b. Choose the Login Methods option.
c. Click the Add Login Method button.
d. Read the on-line help text for specific instructions to configure user authentication
for your system.
8. GoAnywhere includes two disabled admin accounts, named administrator and root, that will
always be authenticated against the GoAnywhere internal database. If you enable these
accounts, you should change the default account passwords following the instructions below.
a. From the main menu bar, select the Users option.
b. Choose the Admin Users option.
c. Next to the administrator user name, click on the button and choose Reset
password.
d. Specify the new password on the screen and click on the Reset button.
e. Next to the root user name , click on the button and choose Reset password.
f. Specify the new password on the screen and click on the Reset button.
g. Record the new passwords in a safe place.
h. Edit the accounts, and then click the Enabled option on the account profile. The
accounts can now be used to log in to GoAnywhere.
9. Manage the settings for the services (FTP, FTPS, SFTP, HTTPS, AS2) which you want to make
available to your trading partners by following the instructions below:
a. From the main menu bar, select the Services > Service Manager.
b. Follow the instructions in the on-line help to learn how to adjust settings for the
various services.
c. After adjusting any settings, you can click on the icon to start (or restart) the service.
n 8000 is the default HTTP port which users can connect (from their browsers) for performing
administration in GoAnywhere.
n 8001 serves the same function as port 8000, but uses a HTTPS (SSL-protected) connection.
n 8005 is the default port for requesting a shutdown of GoAnywhere from a remote system.
You can change these port numbers within the GoAnywhere browser-based administrator interface,
or by using the CFGGA command for IBM i or by making direct changes to a GoAnywhere
configuration file.
Changing ports using the browser interface
3. Change the port number for the HTTP or HTTPS connectors. Example:
<Connector port="8000" />
4. Change the port number for the shutdown listener. Example:
<Server port="8005" shutdown="SHUTDOWN">
5. Save the configuration file.
6. Start the GoAnywhere server.
4. If you do not want to use the HTTP (only use HTTPS) connector, then delete or comment out
the line of code illustrated in blue.
5. If you do not want to use the HTTPS (only use HTTP) connector, then delete or comment out
the lines of code illustrated in green.
6. If installing to IBM JVM (e.g. IBM i), then set the algorithm=“IbmX509”
7. Save the configuration file.
8. Start the GoAnywhere server.
NOTE:
To comment out XML code, enclose the code with the following indicators:
1. From within the GoAnywhere browser-based Administrator, create a new certificate in the
Default Private Keys Store. Read the section "Creating a New SSL Certificate" in the on-line
help text to learn how to create a certificate. Note that the Common Name in the new
certificate must match the domain name, host name, or IP address of the server on which
GoAnywhere is installed.
2. Open the configuration file [Install_Dir]/tomcat/conf/server.xml, where [Install_Dir] is the
installation directory for GoAnywhere. Then modify the value in the keyAlias attribute to be
the alias of the new certificate you created in step 1.
Memory Allocation
GoAnywhere runs in a JVM (Java Virtual Machine) instance, which is allocated 1024 MB of
memory by default when the product is installed. This memory is utilized for all features in
GoAnywhere including administration functions and file transfer activity.
Typically 1024 MB of memory is sufficient for most installations. However, if you anticipate high
loads (e.g. several thousand file transfers per day), then it is recommended to allocate more memory
for the GoAnywhere JVM. Depending on your operating system, follow the instructions below to
change this memory allocation.
For Windows:
3. Click on the Java tab and edit the Maximum memory pool setting. Specify 2048 for 2GB of
memory, 3072 for 3GB of memory, etc…
4. Click on the Apply button to save the memory settings.
5. To restart GoAnywhere for the changes to take effect, click on the General tab and choose
to Stop and then Start the service.
4. The setting –Xmx1024m is the max memory setting, which is set to 1024 MB by default.
Change this setting to Xmx2048m for 2GB of memory, -Xmx3072 for 3GB of memory, etc…
Do not change the MaxPermSize value. For example:
Firewall Recommendations
If you want to make GoAnywhere available to external clients over the internet, it is important that
you only open certain port numbers to the machine in which GoAnywhere is installed. This can be
controlled through your firewall settings. The firewall settings will depend on whether if the
GoAnywhere software is installed in your DMZ (Demilitarized Zone) or the Private (internal)
network, and whether if it is used in conjunction with HelpSystems GoAnywhere GatewayTM
product.
The following diagrams show the firewall settings to use if the default port numbers were used
during the installation of GoAnywhere.
Please note that the IP addresses shown are for demonstration purposes only.
Firewall configuration:
In order to administer GoAnywhere from any workstations in the private network, ports 8000 and
8001 will need to be opened (through the back-end firewall) from the private network to
GoAnywhere in the DMZ.
If external trading partners need access to the file transfer protocols (e.g. SFTP, FTP, HTTPS, AS2,
FTPS, GoFast) in GoAnywhere, those port numbers (e.g. 21, 22, 443, 990, 8010) need to be opened
through the front-end firewall to GoAnywhere in the DMZ. Additionally, if employees (on the
private network) need to access those file transfer protocols in GoAnywhere, the port numbers will
need to be opened through the back-end firewall from the private network to GoAnywhere in the
DMZ.
If trigger events in GoAnywhere need to call Remote Projects , then ports 8000 and 8001 need to
be opened (through the back-end firewall) from GoAnywhere to another GoAnywhere server in the
private network.
Even if GoAnywhere MFT is using an external JRE, it is possible than an embedded JRE still exists
within the application. HelpSytems recommends that you remove the [INSTALL_DIR]/jre folder, or
rename the [INSTALL_DIR]/jre to something like [INSTALL_DIR]/jre.old.
Before GoAnywhere can be started using the new JRE, it requires installation of the unlimited
strength JCE policy files. To use the unlimited strength policy files, copy the US_export_policy.jar
file and the local_policy.jar file from the jce_policy_files/oracle/1_8 folder (located in the
GoAnywhere installation folder) to the jre/lib/security folder (located in the JRE's installation
directory).
For IBM platforms (e.g. AIX), copy the JCE policy files of US_export_policy.jar and local_policy.jar
from the jce_policy_files/ibm folder (located under the GoAnywhere installation folder) to the
jre/lib/security folder (located under the JRE's installation directory).
The JAVA_HOME environment variable needs to be set to the appropriate location for Java 8. To
set the Java version used to run GoAnywhere on Linux, run the following command before
executing the GoAnywhere upgrade script.
export JAVA_HOME='/path/to/jre'
The JAVA_HOME environment variable needs to be set to the appropriate location for Java 8. To
set the Java version used to run GoAnywhere on Windows, run the following command before
executing the GoAnywhere upgrade script.
1. Open the Control Panel and navigate to System And Security > System.
2. Click the Advanced system settings link.
3. On the Advanced tab, select Environment Variables, and then edit JAVA_HOME to point to
where the JDK software is located, for example, C:\Program Files\Java\jdk1.8.0.
1. Stop the GoAnywhere MFT subsystem by executing the IBM i command of ENDGA. The
ENDGA command is located in the installation library, which is named GOANYWHERE by
default. Wait until the GoAnywhere MFT subsystem is completely shutdown before
proceeding.
2. Run GOANYWHERE/CFGGA and select option 2 on Java Home and Java Version.
3. Change the Java Home value from /QOpenSys/QIBM/ProdData/JavaVM/jdk70/32bit to
/QOpenSys/QIBM/ProdData/JavaVM/jdk80/32bit and then press ENTER to save.
4. Change the Java Version value from 1.7 to 1.8 and then press ENTER to save.
5. Run GOANYWHERE/CPYPOLICY to copy the JCE unlimited strength policy files into the
JVM used by GoAnywhere.
6. 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.
7. Navigate to the Help > About page and verify Java has been has changed to your selected
version.
NOTE:
The IP addresses shown are for demonstration purposes only.
Firewall configuration:
If external trading partners need access to the file transfer protocols (e.g. SFTP, FTP, HTTPS, AS2,
FTPS, GoFast) in GoAnywhere, those port numbers (e.g. 21, 22, 443, 990, 8010) need to be opened
through the firewall to GoAnywhere in the private network.
NOTE:
The IP addresses shown are for demonstration purposes only.
Firewall configuration:
In order to establish control and data channels from GoAnywhere to GoAnywhere Gateway, ports
9100 and 9101 will need to be opened (through the back-end firewall) from the Private Network
to GoAnywhere Gateway in the DMZ. Port 9102 will also need to be opened from the Private
Network to GoAnywhere Gateway for Forward Proxy services.
The port numbers (e.g. 21, 22, 443, 990, 8010 and 30000-32100) for the desired file transfer
protocols (e.g. FTP, SFTP, HTTPS, FTPS, AS2, GoFast) need to be opened through the front-end
firewall to GoAnywhere Gateway in the DMZ.
More information about GoAnywhere Gateway can be found at www.GoAnywhere.com.
The embedded Derby database is ideal for trial purposes and standalone instances such as sandbox
or development environments. Customers who use the embedded Derby database on production
systems should be aware of the following limitations:
l The embedded Derby database does not support GoAnywhere clustering, and as such, the
database is only ideal for small operations where high availability is not needed.
l GoAnywhere is unavailable during backups and database tuning of the embedded database,
which halts all file transfer and workflow tasks. Externalizing the database is the preferred
method if 24/7 availability is required.
l The embedded Derby database is not accessible to 3rd party database reporting and
monitoring tools.
TIP:
HelpSystems highly recommends customers externalize the GoAnywhere database.
1. From the main menu bar, select the System option and then select Database Configuration.
2. Click the Backup button. The current backup settings will be shown.
n Enable Database Backup – Specify whether or not the GoAnywhere embedded database
should be backed up automatically on a scheduled basis. It is highly recommended that the
database backup remains enabled in case any data needs to be recovered.
n Backup Directory – Specify the directory to store the database backups, which is relative to
the installation directory.
n Keep Backups for – Specify the number of days (1–30) to keep the database backup files.
Backup files that are older than the specified number of days will be automatically deleted
following each backup process.
n Schedule Type – Specify if the schedule is Hourly or Daily.
n Run Every – Specify the frequency that the automatic database backup should run.
1. From the main menu bar, select System and then select Database Configuration.
2. Click the Backup button. The current backup settings will be shown.
3. Click the Backup Now button at the bottom of the screen.
4. When the system completes the backup process, a message will be displayed with the
location to which the database was backed up.
Database Tuning
Tuning the GoAnywhere database will compress the indexes, which keeps queries running at
maximum speed. The Database Tuning page in GoAnywhere provides options to schedule database
tunings or manually tune the embedded Derby database. A consistency check can also be
performed to ensure that the database tables are not corrupt.
For more information about how to tune your database, see the System > Database Configuration
> Database Tuning topic in the GoAnywhere MFT User Guide.
WARNING:
No file transfers and workflow tasks will process during backups and database tuning.
TIP:
HelpSystems always recommends you use the latest database version for your chosen database
solution.
TIP:
No changes are made to the embedded Derby database during a database switch. If for any
reason GoAnywhere cannot complete a database switch, simply restart the GoAnywhere
service. GoAnywhere will resume functioning on the embedded Derby database.
TIP:
Connection Successful and Disconnect events are commonly exempted by customers to
minimize the size of the audit log tables. Exempting connection events is recommended for
FTP, FTPS, and SFTP. This is especially true if you have clients connecting every few seconds
or minutes checking for new files as these events can quickly fill up the logs.
To add an audit log exemption, log in to GoAnywhere and navigate to Logs > Log Exemptions. Click
the Add Rule button to add an exemption.
For more information about how to add audit log exemptions, see the Logs & Reports > Log
Exemptions > Audit Log Rule Configuration topic in the GoAnywhere MFT User Guide.
TIP:
You should backup the GoAnywhere userdata folder (and its contents) in your regular backup
processes. It is recommended to backup this userdata folder at least daily.
WARNING:
If using the embedded Derby database (which is the default) in GoAnywhere, and you plan to
perform backups while GoAnywhere is running, then you should exclude the subfolder
userdata/database/goanywhere from your backup processes since there will be a lock on the
files in this subfolder (which is the embedded Derby database). However, this Derby database
is saved nightly (by default) to a subfolder named userdata/database/backups, which you should
backup.
Perform the following steps to save the GoAnywhere product using the SAVPRD command:
Restoring
Follow these steps to restore GoAnywhere from the Save file:
1. If you are using a specific user profile to start GoAnywhere, then you will need to create that
user profile on the target system. Using the CRTUSRPRF command, create a user profile
with the same name and authorities that were used in the original installation.
Example: CRTUSRPRF USRPRF(GOANYWHERE)
2. If you are using the DB2 database option to store the GoAnywhere tables, create a user
profile with the same name, password and authorities of the owner of the collection.
Example: CRTUSRPRF USRPRF(GOANYWHERE) PASSWORD(xxxxxxxxxx)
3. Restore the temporary Save files into the QTEMP library.
Example: RSTOBJ OBJ(*ALL) SAVLIB(QTEMP) DEV(*SAVF) SAVF(QGPL/GOANYWHERE)
4. Restore the GoAnywhere library from the Save file named SLIBGA.
Example: RSTLIB SAVLIB(GOANYWHERE) DEV(*SAVF) SAVF(QTEMP/SLIBGA)
5. Restore the GoAnywhere IFS folder from the Save file named SIFSGA.
Example: RST DEV('/QSYS.LIB/QTEMP.LIB/SIFSGA.FILE') OBJ(('/helpsystems/*'))
6. If the IBM i IP address is different than the IP address of the original installation, then you
should run the <library>/CFGGA command and specify the new IP address.
NOTE:
If you are restoring GoAnywhere to a different serial number, you will need a new license for
that system, which you can request from the GoAnywhere Customer Portal at
my.goanywhere.com.
1. Verify that the GoAnywhere Library has been replicated to the disaster recovery server.
2. Verify that the replication software is replicating the external DB2 database to the disaster
recovery server.
3. Verify that the replication software is replicating the GoAnywhere IFS files.
4. Exclude the following items:
l /[install directory]/GoAnywhere/gamft.lic
l /[install directory]/GoAnywhere/config/database.xml
l /[install directory]/GoAnywhere/tomcat/conf/server.xml
l /[install directory]/GoAnywhere/userdata/database/GoAnywhere/*.*
l /[install directory]/GoAnywhere/userdata/index/*.*
l /[install directory]/GoAnywhere/userdata/workspace/*.*
5. Verify that the user profile associated with the database has been replicated (and enabled).
6. On the DR server, check the Database.xml file to make sure the server is not pointing to the
IP address of the Production server. If so, edit the database.xml to point to the IP address of
the DR server.
7. On the DR server, check the Server.xml file to make sure that it does not reference the IP
address of the Production server. If needed, edit the file to reference the IP of the DR
server.
8. On the DR server, make sure gamft.lic from the Production server is not there. Start the
subsystem, log into the GUI, and then acquire the license key for the DR server from the
GoAnywhere customer portal at https://my.goanywhere.com.
9. On the DR server, check any database resources that connect to the iSeries. The database
connections should reference a DNS name, not an IP address.
10. On the DR server, check any iSeries resources that connect to the iSeries. Again, make sure
they are not pointing to an IP address, but a DNS name.
11. Working with your network administrators, verify that ports needed for FTP, FTPS, SFTP,
HTTPS, SMTP, Active Directory, and external database connections are open on the firewall
for the DR server.
12. If the subsystem is active, disable any GoAnywhere Scheduled Jobs, Triggers and Monitors
until you are running on the DR server. You do not want Jobs running on both the Production
server and DR server at the same time.
1. Install GoAnywhere onto the HA machine using one of the regular installation methods
(depending on your OS) outlined earlier in this manual.
2. Get a license key from the GoAnywhere Customer Portal at my.goanywhere.com for the HA
machine and install it.
3. Test the GoAnywhere installation on the HA machine to make sure it works properly.
4. Shut down the GoAnywhere subsystem/service on the HA machine, since GoAnywhere
should not be running on both the production and HA machines at the same time.
5. Set up your HA tool to replicate the folder named userdata, which is located under the
GoAnywhere installation directory on the production machine. The userdata folder contains
all user data and configurations for GoAnywhere. Make sure to include all the subfolders
under the userdata folder, except DO NOT replicate the subfolder named
/userdata/database/goanywhere/ since there will be a lock on that subfolder while
GoAnywhere is running. This subfolder contains the embedded database, which is saved
nightly (by default) to the subfolder named userdata/database/backups.
WARNING:
If you want to replicate the entire GoAnywhere installation directory, then do not
replicate the file named gamft.lic since that file contains the license key that is specific
for that particular machine. If the license key is replicated to the HA machine, it will
generate a license error in GoAnywhere on the HA machine and will not allow it to
execute.
Failover
The steps to follow in order to run GoAnywhere on the HA machine depends on if your production
machine is still up-and-running.
If your production machine is down and you want to switch to the HA machine:
1. If using the embedded (Derby) database in GoAnywhere: On the HA machine, unzip the
latest backup of the GoAnywhere database (found in subfolder named
userdata/database/backups) into the subfolder named /userdata/database/goanywhere.
Please note that the database will only be as up-to-date as the last time the database was
If your production machine is running and you want to switch to the HA machine:
1. If using the embedded Derby database in GoAnywhere: On the production machine, perform
a manual backup of the GoAnywhere database.
2. Shut down the GoAnywhere subsystem/service on the production machine.
3. If using the embedded Derby database in GoAnywhere:
n Copy the manual backup of the database (contained in a ZIP file) from the production
machine to the HA machine.
n Unzip this backup of the database into the /userdata/database/goanywhere folder on
the HA machine.
4. Start the GoAnywhere subsystem/service on the HA machine.
n Two or more GoAnywhere systems within a cluster can connect to the same external
database at the same time. This allows these systems to share security settings, trading
partner user accounts, configurations, audit logs and other product tables. The database can
be configured or switched from any system in the cluster, in which the new database settings
will be replicated to all systems in the cluster.
n The System Name (specified in [InstallationDirectory]/config/cluster.xml) for each
participant in the cluster will appear on the GoAnywhere login screen, on the top-right
corner of the dashboard and any cluster-related screens. This name will also be recorded in
audit log records to indicate which system was servicing a trading partner's session during
each event. The system name is accessible in Triggers using the event.systemName variable.
n The Active Sessions screen displays all trading partner sessions (IP address, user name, login
date, audit activity) for any system in the cluster. Within this screen, sessions can also be
terminated (killed) on any system in the cluster.
n GoAnywhere Gateway configurations can be viewed, updated, started and stopped from any
GoAnywhere system within the cluster.
n Auto blacklist features for "Denial of Service" and "Brute Force" attacks are cluster-aware.
This allows each GoAnywhere system (in the cluster) to share security activity with each
other to determine when to block attacking IP addresses from the cluster.
n The Max Sessions setting for a Web User account will limit the total number of that user's
sessions for all systems within the cluster. For instance, if the Max Sessions for a Web user is
set to 2 and if they are logged into 2 different systems in the cluster, then they will not be
able to open any additional sessions in the cluster at that time.
When setting up a cluster, you will need to install GoAnywhere onto two or more servers. It is
recommended that the operating systems and JRE versions on these servers to be the same for
simplifying configuration.
The following diagram illustrates two instances of GoAnywhere in a cluster, in which both instances
are using a shared database and file system.
a. Navigate to the System > Global Settings page. On the Data tab, specify the shared
network folders for each feature.
b. Navigate to the Users > Domains page. Review each Domain's Projects, Workspace,
and WebDocs directories to ensure each server in the cluster can reach the specified
folders.
c. Navigate to the Services > Secure Forms Settings page and configure the Secure
Forms Directory to point to a shared network folder.
d. Navigate to the Logs > Log Settings page and configure the Logs Directory to point to a
shared network folder.
e. Navigate to the Services > GoDrive Settings page and configure GoDrive Directory to
point to a shared network folder.
f. Navigate to the Help > Software Library page and configure the Settings. The
Software Storage Location must point to a shared network folder.
g. If you are using the Key Management System, keys and certificates are stored in the
GoAnywhere database and there is no configuration change necessary for clustering. If
you are using file based keys and certificates, then the locations of the PGP Key Rings
or SSL Key Stores should point to a shared network location that all systems in the
cluster have access to. To specify the Key locations:
i. For SSL, select Encryption from the main menu and choose the File Based Keys
> Certificates option, and then select Preferences. Specify the shared network
locations for the key stores on the Default Trusted Certificates and Default
Private Keys.
ii. For PGP, select Encryption from the main menu and choose the File Based Keys
> PGP Keys option, and then select Preferences. Specify the shared network
locations for the key rings on the Default Public Key Ring and Default Secret
Key Ring.
5. After the configuration is completed in the steps above, you should verify there are no active
sessions on this installation. Then you should shut down the GoAnywhere service or
subsystem.
6. Go to the file system of the server that GoAnywhere is installed on and open the file named
[InstallationDirectory]/config/cluster.xml, where [InstallationDirectory] is the location that
GoAnywhere is installed to. The following properties need to be configured in this file:
n systemName - A unique name to identify this system in the cluster. The maximum
system name length is 20 characters.
n clusterBindAddress - The IP address which GoAnywhere will listen on to
communicate with other GoAnywhere systems in a cluster. This IP address must be
valid on this server which GoAnywhere is installed to.
n clusterBindPort - The port number which GoAnywhere will listen on to communicate
with other GoAnywhere systems in a cluster. For example, 8006.
n clusterLogLevel - The log level of “info” will record all standard log messages from
each system in the cluster. When the log level is set to “verbose” the log will also
record all of the system-to-system messages used to manage the cluster. While
NOTE: The cluster bind port must be opened on each installation's firewall to allow each
instance of GoAnywhere in the cluster to communicate with each other.
4. You should verify there are no active sessions on this installation. Then you should shut down
GoAnywhere on the Participant system.
5. Go to the file system of the server that GoAnywhere is installed on and open the file named
[InstallationDirectory]/config/cluster.xml, where [InstallationDirectory] is the location that
GoAnywhere is installed to. Configure the cluster.xml file for this system using the
instructions in the previous section. Make sure to specify a unique system name and IP for
this installation. Example:
<xml version="1.0" encoding="UTF-8" ? >
<!DOCTYPE properties SYSTEM
"http://java.sun.com/dtd/properties.dtd">
<properties>
<entry key="systemName">System-B</entry>
<entry key="clusterBindAddress">192.168.1.32</entry>
<entry key="clusterBindPort">8006</entry>
<entry key="clusterLogLevel>verbose</entry>
<entry key="clusterEnabled">true</entry>
<entry key="clusterHeartbeatTimeout">300</entry>
</properties>
NOTE: The cluster bind port must be opened on each installation's firewall to allow each
instance of GoAnywhere in the cluster to communicate with each other.
Troubleshooting Errors
The following items identify problems that may occur when a Participant attempts to join a cluster:
1. If you receive an error about product versions not matching, then the Participant is running a
different version of GoAnywhere than the Coordinator system. All systems in the cluster
must be running on the same GoAnywhere version.
2. If you receive an error about the timestamp on the Participant not being within five minutes
of the Coordinator system, then you must change the system clock on the Participant system
to be in sync with the Coordinator. The time is compared in UTC and ignores time zone
differences.
3. You may receive an error about one of the documents directories not being shared. This can
occur when the Coordinator system can access the directory but a Participant cannot. In this
case you will need to log in to the Coordinator system and configure the Logs, Packages,
WebDocs or Documents directories to ensure they are the accessible for all systems in the
cluster.
4. You may receive an error about how the Participant system shut down because another
system is actively using the database. This can occur when the Participant and Coordinator
systems cannot connect to each other over the clustering communications channel. It is
important that the Coordinator’s IP and port (used for the communications channel) is
accessible by the other Participant systems. If that address is blocked by a firewall or other
network restrictions, then this system will not be considered as part of the cluster and will be
forced to shut down.
Clustering Failover
GoAnywhere executes several background processes to purge records, send notifications and to
perform other housekeeping processes. This processing is the responsibility of the Coordinator
system. If the Coordinator system becomes unresponsive, then the next Participant to join the
cluster will become the Coordinator.
For example, if a cluster was started with three systems (System-A, System-B and System-C) in that
order, then System-A will be the Coordinator since it was the first to join the cluster. If System-A
fails for any reason, then System-B will become the new Coordinator. If System-A is restarted and
successfully rejoins the cluster, then the order of the systems (for becoming a Coordinator) would
then be System-B, System-C and then System-A. If System-B were to crash, then System-C would
become the new Coordinator.
It is possible that the communication channel between the clustered systems could become
unresponsive or break due to network interruptions or other reasons. GoAnywhere has built-in
safety checks to overcome small network interruptions. By default, if the communication becomes
unresponsive for 300 seconds, then the Participant systems will believe that the Coordinator
system has failed. When that happens, each Participant will start checking the database to see if the
Coordinator system is still running.
If the Coordinator system is still running after 30 seconds (if the communications channel fails)
then the Participant systems will automatically shut down. This is required in order to prevent
issues that can occur when multiple GoAnywhere systems are running on the same database and
not communicating with each other. In this rare scenario, even though the Participant systems were
shut down, the Coordinator system will still be up and running.
Backups
When GoAnywhere is running in a clustered environment, the following items are recommended to
be backed up on a regular and automated basis:
1. The external database that GoAnywhere is running on. Speak with your database
administrator to make sure this database is part of the backup process.
2. The folder locations for the Logs, Packages, Documents and WebDocs directories. Speak with
your network administrator to make sure that these locations are part of the backup process.
3. All user data and configurations for GoAnywhere are stored in the
[InstallationDirectory]/userdata folder. Although the Logs, Packages and other directories
should be pointing to network locations it is still recommended to make backups of this
location for custom email templates, SSL certificates and other files that are not using a
network location.
NOTE:
Before the SFTP, OpenPGP, ZIP and Email native commands can be utilized, their underlying
Projects (to process these commands) must be first created in GoAnywhere. To perform this
initial Project creation, select option 1 from GAMENU4 (which will execute the command
CRTCMDPRJ). The Projects will be created in the GoAnywhere folder of
\CommandLineProjects.
Upgrading GoAnywhere
New versions of GoAnywhere can be downloaded from the GoAnywhere Customer Portal at
my.goanywhere.com. A GoAnywhere MFT Upgrade Guide is released for each new software version,
and contains detailed upgrade considerations and instructions. The upgrade guide is also available
on the GoAnywhere Customer Portal.
Configuring HTTP Proxy
If your organization uses a Proxy Server, then you need to configure those proxy settings in
GoAnywhere before you can retrieve web updates:
1. From the main menu, select System and then Global Preferences.
2. Click the HTTP Proxy tab near the right end of the tab set.
3. Specify the type of proxy to use. DIRECT, HTTP, or SOCKS. DIRECT represents a direct
connection, or the absence of a proxy. HTTP represents proxy for high-level protocols such
as HTTP or FTP. SOCK represents a SOCKS (V4 or V5) proxy.
4. Specify the host name of the proxy server.
5. Specify the port number used by the proxy server.
6. Specify the username to use in order to connect to the proxy server. This is only necessary if
the proxy server requires authentication.
7. Specify the password to use in order to connect to the proxy server. This is only necessary if
the proxy server requires authentication.
8. Click the Save button.
Upgrade Process
Upgrading GoAnywhere requires that you first download the updates from the portal at
my.goanywhere.com. Then you will need to stop its corresponding service/subsystem, apply the
updates, and then restart GoAnywhere.
You can check for software updates by following the instructions below:
WARNING:
All GoAnywhere configurations, resources and project definitions will be deleted during the
uninstall process.