Installing FlexDeploy with included Tomcat

FlexDeploy provides a file distribution for Tomcat which simplifies the installation process.  This distribution contains Tomcat, the FlexDeploy WAR, and the base configurations, leaving only a few simple steps to complete the install.  The distribution contains the following components. 

  • A tomcat 8.5.11 server with required libraries, and base configurations
  • The FlexDeploy WAR
  • The FlexDeploy database installation scripts
  • The FlexDeploy database migration scripts (for upgrading an existing FlexDeploy Tomcat installation)
  • The FlexDeploy plugins

 If you wish to use an existing Tomcat server, or to use a different version of Tomcat other than 8.5.11, please see Installing FlexDeploy on existing Tomcat.

Requirements 

Installation Instructions

  1. Ensure Java 7 or Java 8 is installed on the server.

  2. Extract the zip file in the desired location (referred to as "FlexDeploy Home"). See example below, where zip was extracted in C:/installs/FlexDeploy folder.



  3. Setup the database for FlexDeploy, if you not already done so.

  4. Modify Tomcat configuration file (context.xml) for database connectivity.

    <FlexDeploy Home>/apache-tomcat-flexdeploy/conf/context.xml
    Replace **CONNECT_STRING** with JDBC connect string of your database containing the FlexDeploy schemas
    Replace **FD_ADMIN_PASSWORD** with the password of the FD_ADMIN database user. You would have supplied password when you ran Database installation scripts.

    Example JDBC URL (CONNECT_STRING)

    localhost XE connection will look like this. jdbc:oracle:thin:@localhost:1521:XE

    SID based JDBC URL Syntax - jdbc:oracle:thin:@HOSTNAME:PORT:SID

    Service Name based JDBC URL Syntax - jdbc:oracle:thin:@//HOSTNAME:PORT/SERVICENAME


     
  5. (Optional) Modify Tomcat server.xml for port if necessary. 

    <FlexDeploy Home>/apache-tomcat-flexdeploy/conf/server.xml
    By default, the Tomcat server is configured to run on port 8000.  If this port is in use, change to some other unused port. Search for <Connector port="8000" protocol="HTTP/1.1" if you want to change it.
     

  6. Modify Tomcat Environment script (setenv.sh or setenv.bat) for FlexDeploy server side directories.

    <FlexDeploy Home>/apache-tomcat-flexdeploy/bin/setenv.sh (setenv.bat on windows)
    Replace **FLEXDEPLOY_WORKING_DIR** with directory to use as the FlexDeploy working directory (See Create Folders for FlexDeploy Server - FlexDeploy Working Directory)
    Replace **FLEXDEPLOY_ARTIFACT_DIR** with the directory to host the FlexDeploy artifact repository (See Create Folders for FlexDeploy Server - FlexDeploy Artifact Repository)

    For example below, we created artifacts and work directories under C:/installs/FlexDeploy.

    For this example (Windows) we modified setenv.bat as shown below.

     
  7. Modify Tomcat Environment script (setenv.sh or setenv.bat) for JAVA_HOME.

    Event when JAVA_HOME isn't already set in your environment, it would be a good idea to set it in this file (setenv.sh or setenv.bat) as well.

    Unix Example - export JAVA_HOME=/u01/java/jdk1.8.0_121

    Windows Example - set JAVA_HOME=c:/installs/Java/jdk1.8.0_121

     If you were also setting JAVA_HOME, this file would look like this.



  8. (Optional) Setup GC configurations.

    Optionally if you want to control GC (Java Garbage Collection) logs in separate file, add following to CATALINA_OPTS. You can added this after -Xmx2048m. GC Logs will otherwise be written to catalina.out file.

    Windows
    -Xloggc:%CATALINA_BASE%/logs/gc.log -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=2M 
    Unix
    -Xloggc:$CATALINA_BASE/logs/gc.log -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=2M 
  9. ADF Essentials comes with the JDBC driver for Oracle 11g database (ojdbc6dms.jar). If you are using Oracle 12c database, you can download the driver (ojdbc7.jar) from the Oracle Technology Network site at Oracle 12c drivers. Delete ojdbc6dms.jar from <FlexDeploy Home>/apache-tomcat-flexdeploy/lib and place ojdbc7.jar in that same folder.

    If adding another JDBC driver, be sure to remove the default one which comes with the ADF Essentials libraries (ojdbc6dms.jar).  If you leave multiple JDBC drivers in the lib folder, you could encounter the following exception on startup:

    java.lang.SecurityException: sealing violation: package oracle.jdbc is sealed

                    at java.net.URLClassLoader.getAndVerifyPackage(Unknown Source)

                    at java.net.URLClassLoader.definePackageInternal(Unknown Source)

                    at java.net.URLClassLoader.defineClass(Unknown Source)

                    at java.net.URLClassLoader.access$100(Unknown Source)

                    at java.net.URLClassLoader$1.run(Unknown Source)

  10. If using IBM ClearCase, you will need to copy some jar files from your ClearCase server or ClearTeam Explorer installation to the FlexDeploy installation
    1. Copy all of the jar files found in the com.ibm.rational.teamapi_8.0.1.vxxx folder of your ClearCase server or ClearTeam Explorer installation to <FlexDeploy Home>/apache-tomcat-flexdeploy/lib. (commons-codec-1.3.jar, commons-lang-2.3.jar, icu4j-4_8.jar, remote_core.jar, stpclientws.jar, stpcq.jar, teamapiextensions.jar, unicodetypemgr.jar, commons-httpclient-3.0.jar, commons-logging-1.0.4.jar, icu4j-charset-4_8.jar, stpcc.jar, stpcmmn.jar, stpwvcm.jar, ucleardiffmerge.jar)

  11. Linux only - set the shell scripts executable with this command: chmod +x <FlexDeploy Home>/apache-tomcat-flexdeploy/bin/*.sh

  12. At startup, FlexDeploy will load all the plugins. As per details provided in Loading FlexDeploy Plugins, create a folder called plugins inside your FlexDeploy working directory. Move or copy all the jar files from <FlexDeploy Home>/plugins to FLEXDEPLOY_WORKING_DIR/plugins. See the example below.

     

  13. Start tomcat by running the following script. Make sure to set JAVA_HOME to JDK 7 or JDK 8 if not already set in your environment.
    1. <FlexDeploy Home>/apache-tomcat-flexdeploy/bin/startup.sh (startup.bat on Windows)



  14. Launch FlexDeploy in your browser
    1. http://<hostname>:8000/flexdeploy
      1. If you changed port number in previous steps, use that port.
    2. Default credentials are fdadmin/welcome1


  15. Go to Administration - Plugins on FlexDeploy. Verify that Plugins are loaded. You should not see any files remaining in FLEXDEPLOY_WORKING_DIR/plugins folder.