Prerequisites

Check the following information before starting the installation :

  1. Logrotate and cron must be available for current user
  2. Select a list of free ports (see requirements).
  3. Select a filesystem with enough free space (see requirements).
    1. HPA portal filesystem is referenced as hpa_base_dir
  4. HPA controller archive : hpa_controller-X.X.tar.gz
  5. HPA version : X.X.X.tar.gz

Installation steps

  1. Transfer the archives to hpa_base_dir
  2. Extract the controller :
tar xvf hpa_controller-1.27.tar.gz
  1. A directory hpa is created in hpa_base_dir

  2. List versions :

    cd {{hpa_base_dir}}/hpa
    ./hpa_controller.sh l
    

    Example of output :

    Extracted version
    No versions detected
    
    Archived version
    No archived versions detected, add versions in /home/hpa/hpa/versions
    
  3. If version is already installed it’s possible to reset it by removing archive and directory:

    rm -rf {{hpa_base_dir}}/hpa/versions/X.X.X*
    
  4. Copy new archive version in {{hpa_base_dir}}/hpa/versions

  5. List again

    cd {{hpa_base_dir}}/hpa
    ./hpa_controller.sh l
    

    Example of output :

    Extracted version
    No versions detected
    
    Archived version
    2022.06.04.tar.gz
    
  6. Install version

    cd {{hpa_base_dir}}/hpa
    ./hpa_controller.sh i 2025.11.01
    

    Example of output:

     Unpacking for 2025.11.01 ...
     Archive exists : /data/oracle/hpierra/hpa/versions/2025.11.01.tar.gz
     Extracting : /data/oracle/hpierra/hpa/versions/2025.11.01.tar.gz
     Archive successfuly extracted to : /data/oracle/hpierra/hpa/versions/2025.11.01
     Check package file
     Testing file and completing upgrade package
     Copy template environment
     Copy templates for this version
     Install log rotation
     no crontab for oracle
     logrotation crontab is installed
     Environment is not initialized, copy and update:
           cp /data/oracle/hpierra/hpa/environment.config.template /data/oracle/hpierra/hpa/environment.config
     Then update the content in particular the variable : HPA_EXTERNAL_DNS. Set the external DNS to access to this server.
     No HPA_JAVA_HOME set in environment.properties, (since 2022.06.04, check environment.properties.template)
     Checking Java 1.17 on  KO
     No java runtime is detected in (/bin/java)
     Skip this check by setting in environment.config : export HPA_SKIP_CHECK_JVM_170=true
     Checking Java 1.17 on  KO
     No java runtime is detected in (/bin/java)
     Skip this check by setting in environment.config : export HPA_SKIP_CHECK_JVM_170=true
     Error on environment check
     

    This error is expected as this is the first install and the version needs a first configuration

  7. Configure version

    1. Copy environment.config template file as described in the output of installation
           cp /data/oracle/hpierra/hpa/environment.config.template /data/oracle/hpierra/hpa/environment.config
     
    1. Configure the ports and IP, environment.config
    2. Configure the Calypso environments, environment.yml
    3. Optional Configure the security, security.config

  • During the installation some error messages can appear because same ports are used by other applications running on the host
    • Valid only for non production installation
    • default ports can be modified in environment.config
  • Self certificates are used by default but must be replaced later by official client certificates
  • During the installation some components are started and stopped several times, the installer is then waiting for their complete stop
      Wait for TIME_WAIT connection to close on 127.0.0.1:28444, skip with CONTROLLER_TIME_WAIT=0
      
  • In case of firewall issues - some ports must be opened on the host
    sudo firewall-cmd --permanent --add-port=8443/tcp
    sudo firewall-cmd --reload
  • In case of mistake defining the URL of the host in environment.config, it must be corrected, and a special clean up must be performed before launching again the installation to complete it
    remove the var/database-keycloak dirextory

  1. Finish installation
    Any partial installation can be completed many times by calling the same command

    cd {{hpa_base_dir}}/hpa
    ./hpa_controller.sh i 2025.11.01
    

    Example of output :

    Loading environment
    Loading security
    Checking Java 1.17 on /data/oracle/hpierra/hpa/modules/java/current KO
    No java runtime is detected in (/data/oracle/hpierra/hpa/modules/java/current/bin/java)
    Skip this check by setting in environment.config : export HPA_SKIP_CHECK_JVM_170=true
    Checking Java 1.17 on /data/oracle/hpierra/hpa/modules/java/current KO
    No java runtime is detected in (/data/oracle/hpierra/hpa/modules/java/current/bin/java)
    Skip this check by setting in environment.config : export HPA_SKIP_CHECK_JVM_170=true
    Unpacking for 2025.11.01 ...
    Directory exists, no extract : /data/oracle/hpierra/hpa/versions/2025.11.01
    Check package file
    Testing file and completing upgrade package
    Copy template environment
    Copy templates for this version
    Install log rotation
    logrotation crontab is installed
    Loading environment
    Loading security
    Checking Java 1.17 on /data/oracle/hpierra/hpa/modules/java/current KO
    No java runtime is detected in (/data/oracle/hpierra/hpa/modules/java/current/bin/java)
    Skip this check by setting in environment.config : export HPA_SKIP_CHECK_JVM_170=true
    Checking Java 1.17 on /data/oracle/hpierra/hpa/modules/java/current KO
    No java runtime is detected in (/data/oracle/hpierra/hpa/modules/java/current/bin/java)
    Skip this check by setting in environment.config : export HPA_SKIP_CHECK_JVM_170=true
    Launching installation for 2025.11.01 ...
    Load version information for 2025.11.01 ...
    Loading 2025.11.01 configuration
    Installation 2025.11.01 ...
    Calling module_installation systemd ...
    To install HPA as systemd service :
           sudo cp /data/oracle/hpierra/hpa/versions/hexagon-hpa.service /etc/systemd/system
           sudo systemctl enable hexagon-hpa.service
           sudo systemctl start hexagon-hpa.service (HPA must be stopped before)
    If SELinux is used : SELinux status found = Disabled
         semanage fcontext -a -t bin_t /data/oracle/hpierra/hpa/versions/controller.sh
         restorecon -v /data/oracle/hpierra/hpa/versions/controller.sh
    Calling module_installation java ...
    Deploy Java
    Archive exists : /data/oracle/hpierra/hpa/versions/2025.11.01/java/openlogic-openjdk-17.0.14+7-linux-x64.tar.gz
    Extracting : /data/oracle/hpierra/hpa/versions/2025.11.01/java/openlogic-openjdk-17.0.14+7-linux-x64.tar.gz
    Archive successfuly extracted to : /data/oracle/hpierra/hpa/modules/java/openlogic-openjdk-17.0.14+7-linux-x64
    Check certificates store
    Checking truststore : /data/oracle/hpierra/hpa/var/certificates/hpa_truststore.jks
    Store does not exist, creating it : /data/oracle/hpierra/hpa/var/certificates/hpa_truststore.jks
    Checking keystore : /data/oracle/hpierra/hpa/var/certificates/hpa_keystore.p12
    Store does not exist, creating it : /data/oracle/hpierra/hpa/var/certificates/hpa_keystore.p12
    Patch java.security for Webview
    Calling module_installation postgresql ...
    Unpack postgresql ...
    Archive exists : /data/oracle/hpierra/hpa/versions/2025.11.01/postgresql/postgresql-16.2-bin.tar.gz
    Extracting : /data/oracle/hpierra/hpa/versions/2025.11.01/postgresql/postgresql-16.2-bin.tar.gz
    Archive successfuly extracted to : /data/oracle/hpierra/hpa/modules/postgresql-16.2-bin
    Calling module_installation nginx ...
    Unpack nginx ...
    Archive exists : /data/oracle/hpierra/hpa/versions/2025.11.01/nginx/nginx-1.27.4-bin.tar.gz
    Extracting : /data/oracle/hpierra/hpa/versions/2025.11.01/nginx/nginx-1.27.4-bin.tar.gz
    Archive successfuly extracted to : /data/oracle/hpierra/hpa/modules/nginx-1.27.4-bin
    Generate self certificate for Nginx
    Calling module_installation keycloak ...
    Unpack keycloak ...
    Archive exists : /data/oracle/hpierra/hpa/versions/2025.11.01/keycloak/keycloak-19.0.2.tar.gz
    Extracting : /data/oracle/hpierra/hpa/versions/2025.11.01/keycloak/keycloak-19.0.2.tar.gz
    Archive successfuly extracted to : /data/oracle/hpierra/hpa/modules/keycloak-19.0.2
    Checking that 'keycloak' is in keystore /data/oracle/hpierra/hpa/var/certificates/hpa_keystore.p12 for domain/IP : ['hpa-server.mydomain.com','127.0.0.1']
    ERROR = Alias keycloak not found
    Certificate will be auto-generated, you can disable it with HPA_CERTIFICATE_keycloak_AUTOGENERATED=0
    Install default self-signed certificate for keycloak using /data/oracle/hpierra/hpa/modules/java/current/bin/keytool
    Export alias to certificate : keycloak
    Import certificate to truststore (/data/oracle/hpierra/hpa/var/certificates/hpa_truststore.jks) : alias keycloak with /data/oracle/hpierra/hpa/var/certificates/export_certificate_keycloak.pem
    Apply keycloak configuration, truststore, /data/oracle/hpierra/hpa/modules/keycloak/conf/keycloak.conf
    Checking Java 170 on /data/oracle/hpierra/hpa/modules/java/current OK, set on PATH
    Keycloak build...
    Checking Java 170 on /data/oracle/hpierra/hpa/modules/java/current OK, set on PATH
    keycloak not started, nothing to do
    Checking Java 170 on /data/oracle/hpierra/hpa/modules/java/current OK, set on PATH
    Starting keycloak
    Create the database
    Logging into https://127.0.0.1:28444/keycloak as user admin of realm master
    Logging into https://127.0.0.1:28444/keycloak as user admin of realm master
    
    Copy themes
    keycloak stopped normally
    Wait for TIME_WAIT connection to close on 127.0.0.1:28444, skip with CONTROLLER_TIME_WAIT=0
    Wait for TIME_WAIT connection to close on 127.0.0.1:28444, skip with CONTROLLER_TIME_WAIT=0
    Wait for TIME_WAIT connection to close on 127.0.0.1:28444, skip with CONTROLLER_TIME_WAIT=0
    Wait for TIME_WAIT connection to close on 127.0.0.1:28444, skip with CONTROLLER_TIME_WAIT=0
    Wait for TIME_WAIT connection to close on 127.0.0.1:28444, skip with CONTROLLER_TIME_WAIT=0
    Wait for TIME_WAIT connection to close on 127.0.0.1:28444, skip with CONTROLLER_TIME_WAIT=0
    Keycloak build...
    Checking Java 170 on /data/oracle/hpierra/hpa/modules/java/current OK, set on PATH
    Calling module_installation agent ...
    Deploy APMIA agent on HPA server
    Archive exists : /data/oracle/hpierra/hpa/versions/2025.11.01/agent/hpa-agent-calypso-4.11-SNAPSHOT.zip
    Extracting : /data/oracle/hpierra/hpa/versions/2025.11.01/agent/hpa-agent-calypso-4.11-SNAPSHOT.zip
    Archive successfuly extracted to : /data/oracle/hpierra/hpa/modules/hpa-agent-4.11-SNAPSHOT/apmia-4.11-SNAPSHOT
    Calling module_installation database-hpa ...
    Database doest not exists, instance creation ...
    Database creation log in /data/oracle/hpierra/hpa/var/database_hpa_installation.log
    database-hpa is not running
    database-hpa port is available : 127.0.0.1:5555
    database-hpa is stopped (4), require start
    waiting for server to start.... done
    server started
    .Create database ...
    Create user ...
    Granting priveleges on database hpadb to hpa_user
    Granting ALL permissions on Schema public to hpa_user
    database-hpa is running, require stop
    waiting for server to shut down.... done
    server stopped
    Wait for TIME_WAIT connection to close on 127.0.0.1:5555, skip with CONTROLLER_TIME_WAIT=0
    Wait for TIME_WAIT connection to close on 127.0.0.1:5555, skip with CONTROLLER_TIME_WAIT=0
    Wait for TIME_WAIT connection to close on 127.0.0.1:5555, skip with CONTROLLER_TIME_WAIT=0
    Wait for TIME_WAIT connection to close on 127.0.0.1:5555, skip with CONTROLLER_TIME_WAIT=0
    Wait for TIME_WAIT connection to close on 127.0.0.1:5555, skip with CONTROLLER_TIME_WAIT=0
    Wait for TIME_WAIT connection to close on 127.0.0.1:5555, skip with CONTROLLER_TIME_WAIT=0
    Wait for TIME_WAIT connection to close on 127.0.0.1:5555, skip with CONTROLLER_TIME_WAIT=0
    Database postgresql HPA closed
    Calling module_installation introscope ...
    Unpack introscope ...
    Archive exists : /data/oracle/hpierra/hpa/versions/2025.11.01/introscope/introscope-10.8.0.27.tar.gz
    Extracting : /data/oracle/hpierra/hpa/versions/2025.11.01/introscope/introscope-10.8.0.27.tar.gz
    Archive successfuly extracted to : /data/oracle/hpierra/hpa/modules/introscope-10.8.0.27
    Calling module_installation database-introscope ...
    Database doest not exists, instance creation ...
    Database creation log in /data/oracle/hpierra/hpa/var/database_em_installation.log
    database-introscope is not running
    database-introscope port is available : 127.0.0.1:5432
    database-introscope is stopped (4), require start
    waiting for server to start.... done
    server started
    .Create database ...
    Create user ...
    Granting priveleges on database cemdb to cemdbadmin
    Granting ALL permissions on Schema public to cemdbadmin
    Create schema ...
    database-introscope is running, require stop
    waiting for server to shut down.... done
    server stopped
    Wait for TIME_WAIT connection to close on 127.0.0.1:5432, skip with CONTROLLER_TIME_WAIT=0
    Wait for TIME_WAIT connection to close on 127.0.0.1:5432, skip with CONTROLLER_TIME_WAIT=0
    Wait for TIME_WAIT connection to close on 127.0.0.1:5432, skip with CONTROLLER_TIME_WAIT=0
    Wait for TIME_WAIT connection to close on 127.0.0.1:5432, skip with CONTROLLER_TIME_WAIT=0
    Wait for TIME_WAIT connection to close on 127.0.0.1:5432, skip with CONTROLLER_TIME_WAIT=0
    Wait for TIME_WAIT connection to close on 127.0.0.1:5432, skip with CONTROLLER_TIME_WAIT=0
    Wait for TIME_WAIT connection to close on 127.0.0.1:5432, skip with CONTROLLER_TIME_WAIT=0
    Database closed
    Calling module_installation alertscripts ...
    Copying alert scripts
    Alert scripts copied
    Calling module_installation hpa-extractor-5.09 ...
    Unpack hpa-extractor-5.09 ...
    Archive exists : /data/oracle/hpierra/hpa/versions/2025.11.01/hpa-extractor-5.09/hpa-extractor-5.09.tar.gz
    Extracting : /data/oracle/hpierra/hpa/versions/2025.11.01/hpa-extractor-5.09/hpa-extractor-5.09.tar.gz
    Archive successfuly extracted to : /data/oracle/hpierra/hpa/modules/hpa-extractor-5.09
    Calling module_installation hpa-portal-server-5.10 ...
    Unpack hpa-portal-server-5.10 ...
    Archive exists : /data/oracle/hpierra/hpa/versions/2025.11.01/hpa-portal-server-5.10/hpa-portal-server-5.10.tar.gz
    Extracting : /data/oracle/hpierra/hpa/versions/2025.11.01/hpa-portal-server-5.10/hpa-portal-server-5.10.tar.gz
    Archive successfuly extracted to : /data/oracle/hpierra/hpa/modules/hpa-portal-server-5.10
    Calling module_installation global ...
    Apply configuration 2025.11.01 ...
    Calling module_apply_config nginx ...
    Calling module_apply_config keycloak ...
    Checking Java 170 on /data/oracle/hpierra/hpa/modules/java/current OK, set on PATH
    Calling module_apply_config database-introscope ...
    Calling module_apply_config database-hpa ...
    database-hpa is not running
    database-hpa port is available : 127.0.0.1:5555
    database-hpa is stopped (4), require start
    waiting for server to start.... done
    server started
    .Database : apply SQL update :
    Importing sql : dumplive_sql_v10.sql
    Importing sql : dumplive_sql_v11.sql
    Importing sql : dumplive_sql_v12.sql
    Importing sql : dumplive_sql_v13.sql
    Importing sql : dumplive_sql_v14.sql
    Importing sql : dumplive_sql_v15.sql
    Importing sql : user_config_v10.sql
    Importing sql : debug_session_v10.sql
    Importing sql : debug_session_v11.sql
    Importing sql : debug_session_v12.sql
    Importing sql : debug_session_v13.sql
    Importing sql : debug_session_v14.sql
    Importing sql : debug_session_v14.sql
    Importing sql : trace_v10.sql
    Importing sql : trace_v11.sql
    database-hpa is running, require stop
    waiting for server to shut down.... done
    server stopped
    Wait for TIME_WAIT connection to close on 127.0.0.1:5555, skip with CONTROLLER_TIME_WAIT=0
    Wait for TIME_WAIT connection to close on 127.0.0.1:5555, skip with CONTROLLER_TIME_WAIT=0
    Wait for TIME_WAIT connection to close on 127.0.0.1:5555, skip with CONTROLLER_TIME_WAIT=0
    Wait for TIME_WAIT connection to close on 127.0.0.1:5555, skip with CONTROLLER_TIME_WAIT=0
    Wait for TIME_WAIT connection to close on 127.0.0.1:5555, skip with CONTROLLER_TIME_WAIT=0
    Wait for TIME_WAIT connection to close on 127.0.0.1:5555, skip with CONTROLLER_TIME_WAIT=0
    Wait for TIME_WAIT connection to close on 127.0.0.1:5555, skip with CONTROLLER_TIME_WAIT=0
    Database postgresql HPA closed
    Calling module_apply_config introscope ...
    Checking Java 170 on /data/oracle/hpierra/hpa/modules/java/current OK, set on PATH
    Checking that 'introscope_em' is in keystore /data/oracle/hpierra/hpa/var/certificates/hpa_keystore.p12 for domain/IP : ['hpa-server.mydomain.com','']
    ERROR = Alias introscope_em not found
    Certificate will be auto-generated, you can disable it with HPA_CERTIFICATE_introscope_em_AUTOGENERATED=0
    Install default self-signed certificate for introscope using /data/oracle/hpierra/hpa/modules/java/current/bin/keytool
    Export alias to certificate : introscope_em
    Import certificate to truststore (/data/oracle/hpierra/hpa/var/certificates/hpa_truststore.jks) : alias introscope_em with /data/oracle/hpierra/hpa/var/certificates/export_certificate_introscope_em.pem
    Checking that 'introscope_webview' is in keystore /data/oracle/hpierra/hpa/var/certificates/hpa_keystore.p12 for domain/IP : ['hpa-server.mydomain.com','']
    ERROR = Alias introscope_webview not found
    Certificate will be auto-generated, you can disable it with HPA_CERTIFICATE_introscope_webview_AUTOGENERATED=0
    Install default self-signed certificate for introscope using /data/oracle/hpierra/hpa/modules/java/current/bin/keytool
    Export alias to certificate : introscope_webview
    Import certificate to truststore (/data/oracle/hpierra/hpa/var/certificates/hpa_truststore.jks) : alias introscope_webview with /data/oracle/hpierra/hpa/var/certificates/export_certificate_introscope_webview.pem
    Checking that 'introscope_channel' is in keystore /data/oracle/hpierra/hpa/var/certificates/hpa_keystore.p12 for domain/IP : ['hpa-server.mydomain.com','']
    ERROR = Alias introscope_channel not found
    Certificate will be auto-generated, you can disable it with HPA_CERTIFICATE_introscope_channel_AUTOGENERATED=0
    Install default self-signed certificate for introscope using /data/oracle/hpierra/hpa/modules/java/current/bin/keytool
    Export alias to certificate : introscope_channel
    Import certificate to truststore (/data/oracle/hpierra/hpa/var/certificates/hpa_truststore.jks) : alias introscope_channel with /data/oracle/hpierra/hpa/var/certificates/export_certificate_introscope_channel.pem
    Install certificate for ServiceProvider Introscope Webview
    Export alias to certificate : spprivatekey
    Import certificate to truststore (/data/oracle/hpierra/hpa/var/certificates/hpa_truststore.jks) : alias spprivatekeyPublic with /data/oracle/hpierra/hpa/var/certificates/export_certificate_spprivatekey.pem
    Import certificate to truststore (/data/oracle/hpierra/hpa/var/certificates/spprivatekey.jks) : alias keycloack_hpa_realm with /data/oracle/hpierra/hpa/var/certificates/keycloak_realm_hpa.pem
    Update templates and config
    Remove introscope OSGI cache configuration (webview)
    Remove introscope OSGI cache configuration (enterprisemanager)
    Update EM OSGI information
    Update templates lax
    Update binary
    Add Calypso management module to Introscope
    Add HpaSelfMonitoring management module to Introscope
    Add HPA_2025.11.01 management module to Introscope
    Calling module_apply_config hpa-extractor-5.09 ...
    Checking Java 170 on /data/oracle/hpierra/hpa/modules/java/current OK, set on PATH
    Checking that 'hpa_extractor' is in keystore /data/oracle/hpierra/hpa/var/certificates/hpa_keystore.p12 for domain/IP : ['127.0.0.1','']
    ERROR = Alias hpa_extractor not found
    Certificate will be auto-generated, you can disable it with HPA_CERTIFICATE_hpa_extractor_AUTOGENERATED=0
    Install default self-signed certificate for hpa-extractor-5.09 using /data/oracle/hpierra/hpa/modules/java/current/bin/keytool
    Export alias to certificate : hpa_extractor
    Import certificate to truststore (/data/oracle/hpierra/hpa/var/certificates/hpa_truststore.jks) : alias hpa_extractor with /data/oracle/hpierra/hpa/var/certificates/export_certificate_hpa_extractor.pem
    Calling module_apply_config hpa-portal-server-5.10 ...
    Checking Java 170 on /data/oracle/hpierra/hpa/modules/java/current OK, set on PATH
    Checking that 'hpa_portal' is in keystore /data/oracle/hpierra/hpa/var/certificates/hpa_keystore.p12 for domain/IP : ['hpa-server.mydomain.com','']
    ERROR = Alias hpa_portal not found
    Certificate will be auto-generated, you can disable it with HPA_CERTIFICATE_hpa_portal_AUTOGENERATED=0
    Install default self-signed certificate for hpa-portal-server-5.10 using /data/oracle/hpierra/hpa/modules/java/current/bin/keytool
    Export alias to certificate : hpa_portal
    Import certificate to truststore (/data/oracle/hpierra/hpa/var/certificates/hpa_truststore.jks) : alias hpa_portal with /data/oracle/hpierra/hpa/var/certificates/export_certificate_hpa_portal.pem
    Calling module_apply_config agent ...
    cd /data/oracle/hpierra/hpa/modules/hpa-agent-4.11-SNAPSHOT; chmod 755 *sh; ./deploy.sh 4.11-SNAPSHOT
    info : zip file must be already deployed with : unzip hpa-agent-calypso-*.zip; chmod 755 hpa_*sh; chmod 755 deploy.sh
    Update links : wily, apmia
    Oracle monitoring is disabled
    HPA Agent 4.11-SNAPSHOT is activated in /data/oracle/hpierra/hpa/modules/hpa-agent-4.11-SNAPSHOT
    Activate version 2025.11.01 ...
    Write current version
    Version 2025.11.01 activated.
    
  2. You can start/stop the environment