The FlexDeploy™ Linux Installer Guide provides system requirements, required downloads and instructions for installing or upgrading FlexDeploy and its components.
Table of Contents | ||
---|---|---|
|
Excerpt | ||
---|---|---|
| ||
About the automated Install/Migration toolThe flexdeployerinstaller.sh script is a new automated process that reduces customer efforts in installing or upgrading FlexDeploy, which will make staying up to date on FlexDeploy versions easier. The installer will take care of installation or upgrade of FlexDeploy with no manual intervention required. There is a configuration file which will need to be modified for your installation and then the installer can take over. There are three basic modes to the installer: 1) prerequisite checking with no installation or upgrade, 2) first time installation of FlexDeploy and 3) upgrading a current installation of FlexDeploy. The apache-tomcat-flexdeploy folder will be cleaned up with each upgrade, so it is important not to place any supporting files in the apache-tomcat-flexdeploy folder. Place them in the flexdeploy home folder or another subfolder instead. Versions / Release NotesThe current version is 1.0.5. See the Installer Release Notes for more information. This automated installer will handle
This automated installer will not handle
See FlexDeploy Architecture for architecture details. Installer argumentsThe Argument c must be the last argument specified. The following arguments are available to be used:
Step by Step Guide to Using the installerStep 0: System Requirements
|
Step 1: Database Preparation (Installation Only)
Postgres
Install the Postgres binaries, and create a flexdeploy database. The automated installer will do the rest.
Either from the commandline
Code Block | ||
---|---|---|
| ||
createdb flexdeploy |
or if you have sql access to the postgres database, you can connect to the postgres database and use sql.
Code Block | ||
---|---|---|
| ||
create database flexdeploy; |
Oracle
Install the Oracle Database binaries and find your jdbc connection string. The automated installer will create FD, FF, and FD_ADMIN schemas in the USERS tablespace.
...
name | step2 |
---|
Step 2: Get the Installer
Download flexdeployinstaller.zip and get it to the FlexDeploy server. You can wget it there directly if you have Internet access, or transfer the file from another machine.
Code Block |
---|
wget -O flexdeployinstaller.zip https://flexagon.com/downloads/flexdeployinstaller |
If you don’t have wget, and must use curl, use the -L argument like:
...
Step by Step Guide to Using the installerStep 0: System Requirements
|
Step 1: Database Preparation (Installation Only)
Postgres
Install the Postgres binaries, and create a flexdeploy database. The automated installer will do the rest.
Either from the commandline
Code Block | ||
---|---|---|
| ||
createdb flexdeploy |
or if you have sql access to the postgres database, you can connect to the postgres database and use sql.
Code Block | ||
---|---|---|
| ||
create database flexdeploy; |
Oracle
Install the Oracle Database binaries and find your jdbc connection string. The automated installer will create FD, FF, and FD_ADMIN schemas in the USERS tablespace.
Excerpt | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
Step 2: Get the InstallerDownload flexdeployinstaller.zip and get it to the FlexDeploy server. You can wget it there directly if you have Internet access, or transfer the file from another machine.
Once downloaded, select a directory (ex. /u01 or /u02) to unzip the flexdeployinstaller.zip. Change directory to your selected directory and unzip the flexdeployinstaller.zip download. If this isn't the first time unzipping the installer, select [A]ll on the replacement question.
From the FLEXDEPLOY_INSTALLER_HOME directory, change directory to flexdeployinstaller_X.X.X to provide execution permission to the script. Make sure the user that will run FlexDeploy has access to run the script. That user should execute the script.
|
Step 3: Setup the Configuration File
Step 3.1: Save flexdeployinstaller_config.txt
Panel | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
This step is extremely important to preserve your configuration file from any potential installer upgrades. This step should only be done once: on a new installation or on a first time upgrade with this new process. |
There is a configuration file (flexdeployinstaller_config.txt) that controls the actions of the installer. It is the most important file for the installer and needs to be saved to avoid being overlaid with any new flexdeployinstaller downloads as this would remove all of your entered configurations. There is a template file located in FLEXDEPLOY_INSTALLER_HOME/flexdeployinstaller. This template file must be copied to any other location, it could be placed in the FLEXDEPLOY_HOME and it would be safe from overlay and easier to find for the next upgrade.
Code Block | ||
---|---|---|
| ||
cd <FLEXDEPLOY_INSTALLER_HOME>/flexdeployinstaller_X.X.X
cp flexdeployinstaller_config.txt <FLEXDEPLOY_HOME>/ # this is one option to save but this can be saved to any other location. Just must be out of FLEXDEPLOY_INSTALLER_HOME/fledeployinstaller directory due to installer upgrades. |
Step 3.2: Updating flexdeployinstaller_config.txt
Note |
---|
Spaces are not supported in any directory and/or password values. |
Info |
---|
This step should only need to be done once, on a new installation or on a first time upgrade with this new process. Unless there is a change to any of the configuration properties. |
Once copied, the file needs to be adjusted for your installation requirements (there are many default values in the file and they can stay defaulted). There are comments in the template file for each property but this guide will cover the properties that need to be updated.
Info |
---|
FLEXDEPLOY_HOME is a key property as the flexdeployinstaller will determine based on this property if a current installation is running, make sure the directory location is correct (e.g. the FLEXDEPLOY_HOME would be the path up to, but not including, the apache-tomcat-flexdeploy directory. /u01/flexdeploy/apache-tomcat-flexdeploy would have a FLEXDEPLOY_HOME of /u01/flexdeploy. |
...
Configuration Property
...
Required
...
Description
...
FLEXDEPLOY_HOME
...
Yes
...
This is the directory location where FlexDeploy will be installed or is already installed, the default is /u01/flexdeploy.
...
FLEXDEPLOY_JAVA_HOME
...
Yes
...
This is the path to Java JDK 8, it would be the path up to bin (not including bin)
...
WORKING_DIRECTORY
...
No
Defaults to ${FLEXDEPLOY_HOME}/application
...
This will be the directory location that FlexDeploy uses for temporary files to be transferred between the server and its endpoints. The default location is under FLEXDEPLOY_HOME and is named application.
...
ARTIFACT_REPOSITORY_DIRECTORY
...
No
Defaults to ${FLEXDEPLOY_HOME}/artifacts
...
this will be the directory location that FlexDeploy uses to store all build artifacts and retrieve deployment artifacts. The default location is under FLEXDEPLOY_HOME and is named artifacts.
...
BACKUP_DATABASE_DIRECTORY
...
No
...
The directory where the database will be backed up to.
This value is optional.
If Oracle, this directory must already exist within the DBA_DIRECTORIES table and the DIRECTORY_PATH for the entry must exist on the file system on the Database Server.
If Oracle, and BACKUP_DATABASE_DIRECTORY is blank, the DEFAULT data_pump directory is used if needed.
If PostgreSQL, and BACKUP_DATABASE_DIRECTORY is provided, the database will be backed up to this local folder using the psql command, which must be available on this local host.
If PostgreSQL, and BACKUP_DATABASE_DIRECTORY is blank, the database schemas will be backed up by cloning to another schema in the same database.
...
FLEXDEPLOY_DB_PASSWORD
...
No
...
The password will be prompted if not specified.
...
SYSTEM_DB_USER
...
Yes
...
Usually set to system for Oracle and postgres for Postgres.
This user will create and update the schema definitions
...
SYSTEM_DB_PASSWORD
...
No
...
This password is required to create and update schema definitions
The password will be prompted if not specified.
...
FLEXDEPLOY_PORT
...
No
...
Defaults to 8000 for standard installs, 8004 for Docker installs.
...
MAINTAIN_EXISTING_CONTEXT_FILE
...
No
Defaults to 0
If 0, then the installation process will use the newly downloaded context.xml file and adjust the properties accordingly.
If 1, then the installation process will save the existing context.xml and replace it after the upgrade so there are no changes to it.
Set to 1 if you have changes to the context.xml file that you wish to maintain such as using a password manager for your database password in context.xml.
...
MAINTAIN_EXISTING_SERVER_FILE
...
No
Defaults to 0
...
If 0, then the installation process will use the newly downloaded server.xml file and adjust the properties accordingly.
If 1, then the installation process will save the existing server.xml and replace it after the upgrade so there are no changes to it.
...
INFLUX_DB_DIRECTORY
...
No
Defaults to ${FLEXDEPLOY_HOME}/influxdb
...
Deprecated. Don’t use.
...
INFLUX_DB_URL
...
No
Defaults to http://localhost:8086
...
Deprecated. Don’t use.
...
INFLUX_DB_BUCKET
...
No
Defaults to flexbucket
...
Deprecated. Don’t use.
...
INFLUX_DB_ORG
...
No
Defaults to flexdeploy
...
Deprecated. Don’t use.
...
INFLUX_DB_USER
...
No
Defaults to flexuser
...
Deprecated. Don’t use.
...
INFLUX_DB_PASSWORD
...
Yes
...
Only used on the first install / upgrade to 6.0+.
...
INFLUX_DB_TOKEN
...
Yes
...
This token is required for FlexDeploy to communicate with the influx database.
Enter any arbitrary string that will be saved in FlexDeploy and used for the influxdb installation.
Only used on the first install / upgrade to 6.0+.
...
ALTERNATE_FLEXDEPLOY_SOFTWARE_VERSION
...
No
Filling in this property will tell the installation process that you don't want the latest version of the software, if the process can get through to the internet to auto download the software. Must be a valid FlexDeploy version
e.g. 6.5.0.0
...
If you don’t have wget, and must use curl, use the -L argument like:
Once downloaded, select a directory (ex. /u01 or /u02) to unzip the flexdeployinstaller.zip. Change directory to your selected directory and unzip the flexdeployinstaller.zip download. If this isn't the first time unzipping the installer, select [A]ll on the replacement question.
From the FLEXDEPLOY_INSTALLER_HOME directory, change directory to flexdeployinstaller_X.X.X to provide execution permission to the script. Make sure the user that will run FlexDeploy has access to run the script. That user should execute the script.
|
Step 3: Setup the Configuration File
Step 3.1: Save flexdeployinstaller_config.txt
Panel | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
This step is extremely important to preserve your configuration file from any potential installer upgrades. This step should only be done once: on a new installation or on a first time upgrade with this new process. |
There is a configuration file (flexdeployinstaller_config.txt) that controls the actions of the installer. It is the most important file for the installer and needs to be saved to avoid being overlaid with any new flexdeployinstaller downloads as this would remove all of your entered configurations. There is a template file located in FLEXDEPLOY_INSTALLER_HOME/flexdeployinstaller. This template file must be copied to any other location, it could be placed in the FLEXDEPLOY_HOME and it would be safe from overlay and easier to find for the next upgrade.
Code Block | ||
---|---|---|
| ||
cd <FLEXDEPLOY_INSTALLER_HOME>/flexdeployinstaller_X.X.X
cp flexdeployinstaller_config.txt <FLEXDEPLOY_HOME>/ # this is one option to save but this can be saved to any other location. Just must be out of FLEXDEPLOY_INSTALLER_HOME/fledeployinstaller directory due to installer upgrades. |
Step 3.2: Updating flexdeployinstaller_config.txt
Note |
---|
Spaces are not supported in any directory and/or password values. |
Info |
---|
This step should only need to be done once, on a new installation or on a first time upgrade with this new process. Unless there is a change to any of the configuration properties. |
Once copied, the file needs to be adjusted for your installation requirements (there are many default values in the file and they can stay defaulted). There are comments in the template file for each property but this guide will cover the properties that need to be updated.
Info |
---|
FLEXDEPLOY_HOME is a key property as the flexdeployinstaller will determine based on this property if a current installation is running, make sure the directory location is correct (e.g. the FLEXDEPLOY_HOME would be the path up to, but not including, the apache-tomcat-flexdeploy directory. /u01/flexdeploy/apache-tomcat-flexdeploy would have a FLEXDEPLOY_HOME of /u01/flexdeploy. |
Configuration Property | Required | Description |
---|---|---|
FLEXDEPLOY_HOME | Yes | This is the directory location where FlexDeploy will be installed or is already installed, the default is /u01/flexdeploy. |
FLEXDEPLOY_JAVA_HOME | Yes | This is the path to Java JDK 8, it would be the path up to bin (not including bin) |
WORKING_DIRECTORY | No Defaults to ${FLEXDEPLOY_HOME}/application | This will be the directory location that FlexDeploy uses for temporary files to be transferred between the server and its endpoints. The default location is under FLEXDEPLOY_HOME and is named application. |
ARTIFACT_REPOSITORY_DIRECTORY | No Defaults to ${FLEXDEPLOY_HOME}/artifacts | this will be the directory location that FlexDeploy uses to store all build artifacts and retrieve deployment artifacts. The default location is under FLEXDEPLOY_HOME and is named artifacts. |
BACKUP_DATABASE_DIRECTORY | No | The directory where the database will be backed up to. This value is optional. If Oracle, this directory must already exist within the DBA_DIRECTORIES table and the DIRECTORY_PATH for the entry must exist on the file system on the Database Server. If Oracle, and BACKUP_DATABASE_DIRECTORY is blank, the DEFAULT data_pump directory is used if needed. If PostgreSQL, and BACKUP_DATABASE_DIRECTORY is provided, the database will be backed up to this local folder using the psql command, which must be available on this local host. If PostgreSQL, and BACKUP_DATABASE_DIRECTORY is blank, the database schemas will be backed up by cloning to another schema in the same database. |
FLEXDEPLOY_DB_PASSWORD | No | The password for fd_admin database user. The password will be prompted if not specified. |
SYSTEM_DB_USER | Yes | Usually set to system for Oracle and postgres for Postgres. This user will create and update the schema definitions |
SYSTEM_DB_PASSWORD | No | The superuser / system password for the user SYSTEM_DB_USER This password is required to create and update schema definitions The password will be prompted if not specified. |
FLEXDEPLOY_PORT | No | Defaults to 8000 for standard installs, 8004 for Docker installs. If you are deploying SSL this port setting will likely not be helpful other than it sets the port that is shown in the message once FlexDeploy is running. |
MAINTAIN_EXISTING_CONTEXT_FILE | No Defaults to 0 | If 0, then the installation process will use the newly downloaded context.xml file and adjust the properties accordingly. If 1, then the installation process will save the existing context.xml and replace it after the upgrade so there are no changes to it. Set to 1 if you have changes to the context.xml file that you wish to maintain such as using a password manager for your database password in context.xml. |
MAINTAIN_EXISTING_SERVER_FILE | No Defaults to 0 | If 0, then the installation process will use the newly downloaded server.xml file and adjust the properties accordingly. If 1, then the installation process will save the existing server.xml and replace it after the upgrade so there are no changes to it. If running SSL and upgrading, 1 is likely the easiest option. From very old versions, choosing 0 and then manually modifying the file may be the easiest option. |
DATABASE_URL | Yes | Adjust the appropriate connection string for the FlexDeploy database, Oracle or Postgres. Verify that your DATABASE_URL line isn’t commented out (# at the beginning of the line) and that all other DATABASE_URL lines are commented out. Several examples are listed in the config file. |
CONTAINER_NAME | No Only used for Docker Defaults to flexdeploy | If installing FlexDeploy through Docker you can set the name of the container that will be created by editing the variable below. Defaults to 'flexdeploy' |
...
If your FlexDeploy VM doesn't have access to the Internet, the FlexDeploy software can be downloaded from the Flexagon Support Site and the downloaded zip file must be saved to FLEXDEPLOY_INSTALLER_HOME/downloads/software (don't unzip).
Code Block | ||
---|---|---|
| ||
cp /path to FlexDeploy software download/Tomcat_Complete-*.zip ${FLEXDEPLOY_INSTALLER_HOME}/downloads/software |
Step 4.2: Influx database (conditional)
If you are installing/upgrading FlexDeploy with version 6.0+ and your FlexDeploy VM has access to the Internet, the flexdeployinstaller.sh will pull the required version of the software and client from the influx data website.
If you are installing/upgrading FlexDeploy with version 6.0+ and your FlexDeploy VM doesn't have access to the Internet, the software and the client must be downloaded from the influx data website using the embedded links. The 2 downloaded gzip files must be saved to FLEXDEPLOY_INSTALLER_HOME/downloads/influxdb (don't extract them). This only needs to be downloaded once.
Code Block | ||
---|---|---|
| ||
cp /path to influx database download/influxdb2*tar.gz ${FLEXDEPLOY_INSTALLER_HOME}/downloads/influxdb |
...
Code Block | ||
---|---|---|
| ||
cd ${FLEXDEPLOY_INSTALLER_HOME}/flexdeployinstaller_X.X.X
./flexdeployinstaller.sh -p -v 6.5.0.0 -c <path to saved config file>/flexdeployinstaller_config.txt |
...
Code Block | ||
---|---|---|
| ||
cd ${FLEXDEPLOY_INSTALLER_HOME}/flexdeployinstaller_X.X.X
./flexdeployinstaller.sh -v 6.5.0.0 -c <path to saved config file>/flexdeployinstaller_config.txt |
The process will take a few minutes, longer if the downloads haven’t been performed ahead of time.
...
Additional Information
Continuing an Upgrade after Database Migration Failure
...