Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introduction

The

Table of Contents

...

Installation Requirements

The following requirements must be met before the JOC Cockpit can be installed and run:

  • The JOC Cockpit can only be installed alongside a JS7 controller
  • The JOC Cockpit needs access to the database to store inventory information, status information and workflow related logs. The database is required for restarting capabilities with the JS7 - Cluster Service.
  • A Java Runtime Environment starting from version 1.8 is required. For details see Which Java versions is JobScheduler available for?

Troubleshooting Information

  • If a MySQL DBMS is being used then the MySQL wait_timeout setting that rules the max. the lifetime of idle connections should be checked and if necessary extended.
  • Find more hints on possible installation problems from the JOC Cockpit - Troubleshooting section.

Operating Systems

...

in Windows and Linux environments.

  • On Linux and Windows operating systems

...

  • the

...

HTTPS Authentication

...

  • JOC Cockpit

...

  • is

...

Download the JOC Cockpit Archive

...

  • available

...

  • js7_joc_linux.[release].tar.gz
  • js7_joc_windows.[release].zip

...

    • ...

        • for

      ...

      The archives can be downloaded from:

      Installation Procedure

      Preparation

      • Ensure that all the necessary Installation Requirements as listed in the section above have been met.
      • Unpack the JOC Cockpit archive to a suitable directory such as /tmp on Linux systems or C:\temp on Windows.

      ...

      Administration Permissions

      • On Windows systems:
        • The setup will ask for Elevated Permissions
      • On Unix systems:
        • Root permissions are required when the JOC Cockpit is to be installed together with Jetty if the Jetty server is to run as a demon (i.e. the Jetty Server and JOC Cockpit are to be automatically started after a reboot of the machine).
          • To install the JOC Cockpit without root permissions, the start script should be called with a -u the argument, otherwise the sudo prompt will ask for a password.   

      Dialog installation

      Dialog installation is started by clicking on the setup.sh or setup.cmd files in the unpacked download archive.

      Language Selection

      ...

      Step 2 - Licensing Agreement

      The License Agreement shown in Step 2 of the installation has to be accepted before installation can take place.

      ...

      Step 3 - Target Path for the Installation

      ...

      The default installation paths for the JOC Cockpit are:

      ...

      Default Paths

      ...

      ...

      ...

      Step 5 - JOC Configuration

      ...

      Step 6 - Database Management System

      ...

      Choose the DBMS to be used by the JOC Cockpit for the database system.

      ...

      Step 7 - Database connection Configuration

      ...

      It will probably be obvious from the names given to the parameters in the screenshot above that the values are for a database to be used by the JS7 JOC Cockpit.

      ...

      The database configuration for the JOC Cockpit is written to an XML file during installation and saved in the jetty_base/resources/joc folder. The default name of the database configuration file is:

      • hibernate.cfg.xml

      This file can be modified at a later date if required using a text editor. The JS7 JOC Cockpit service will then have to be restarted before changes made to this file are implemented.

      ...

      Step 8 - Specify the JDBC Driver for the Database Connection

      ...

        • installation with the graphical installer,
        • for headless installation.
      • Installation Scripts for headless installation are provided for Unix Shell and PowerShell.

      Resources

      Display children header

      Links

      Display content by label
      Labelsjs7 update
      OtherTitleHow To ... Update

      ...

      Configuring the JDBC Driver-URL for Oracle RAC databases

      The JDBC driver URL for Oracle RAC databases should be entered in the Host field of the database connection form. For example:

      Code Block
      jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(LOAD_BALANCE=OFF)(FAILOVER=ON) 
      (ADDRESS=(PROTOCOL=TCP)(HOST=tst-db1.myco.com)(PORT=1604)) 
      (ADDRESS=(PROTOCOL=TCP)(HOST=tst-db2.myco.com)(PORT=1604))) 
      (CONNECT_DATA=(SERVICE_NAME=mydb1.myco.com)(SERVER=DEDICATED)))

      In addition, the Schema and Port fields should be left empty.

      Step 9 - Processing the Installation

      ...

      This step shows the progress of the first part of the installation procedure.

      ...

      Step 12 - External Processes

      ...

      Step 13 - Completion

      • The last step of the installation shows a summary of the installation (success/error) and paths to relevant information.

        Image Removed

      • Note that if a problem occurs during installation a warning message will be shown here and a link to the installation log file will be provided.

      ...

      Operation

      • Go to the Initial Operation section of this article for information about opening the JOC Cockpit Interface.

      Batch installation

      Configuration

      The joc_install.xml file has to be configured with parameters such as the installation path, database connections, etc. before installation can start.

      • The joc_install.xml the file is shown in the code listing below. The extensive comments are intended to be self-explanatory. 

        Code Block
        languagexml
        titleConfiguration of the joc_install.xml file
        linenumberstrue
        collapsetrue
        <?xml version="1.0" encoding="UTF-8" standalone="no"?>
        <!-- 
        XML configuration file for JOC
        
        If you call the installer with this XML file then 
        you accept at the same time the terms of the 
        licence agreement under GNU GPL 2.0 License 
        (see http://www.gnu.org/licenses/gpl-2.0.html)
        -->
        <AutomatedInstallation langpack="eng">
            <com.izforge.izpack.panels.UserInputPanel id="home">
                <userInput/>
            </com.izforge.izpack.panels.UserInputPanel>
            <com.izforge.izpack.panels.HTMLLicencePanel id="gpl_licence"/>
            <com.izforge.izpack.panels.TargetPanel id="target">
                
                <!-- SELECT THE INSTALLATION PATH
                     It must be absolute! 
                     For example:
                     /opt/sos-berlin.com/js7/joc on Linux
                     C:\Program Files\sos-berlin.com\js7\joc on Windows -->
                <installpath>[:choose absolute installation path of JOC:]</installpath>
                
            </com.izforge.izpack.panels.TargetPanel>
            <com.izforge.izpack.panels.UserInputPanel id="jetty">
                <userInput>
                    
                    <!-- JOC requires a servlet container such as Jetty. 
                         If a servlet container already installed then you can use it. 
                         Otherwise a Jetty will be installed in addition if withJettyInstall=yes.
                         You need root permissions to install JOC with Jetty. -->
                    <entry key="withJettyInstall" value="yes"/>
                    <entry key="jettyPort" value="4446"/>
                    <!-- Specify the name of the Windows service or Linux Daemon (default: joc).
                         Only necessary for multiple instances of JOC on one server. It must be 
                         unique per server. This entry is deactivated by a comment because it
                         MUST NOT BE CHANGED DURING OVER-INSTALLATION! -->
                    <!--
                    <entry key="jettyServiceName" value="joc"/>
                    -->
                    <!-- Only necessary for Windows -->
                    <entry key="jettyStopPort" value="40446"/>
                    <!-- Only necessary for Unix (root permissions required) -->
                    <entry key="withJocInstallAsDaemon" value="yes"/>
                    <!-- To enter a JOC User (default=current User). 
                         For Unix only (root permissions required)!!! -->
                    <entry key="runningUser" value=""/>
                    <!-- Path to Jetty base directory 
                         For example:
                         /home/[user]/sos-berlin.com/js7/joc on Linux
                         C:\ProgramData\sos-berlin.com\js7\joc on Windows -->
                    <entry key="jettyBaseDir" value=""/>
                    <!-- Choose (yes or no) wether the JOC's Jetty should be (re)started at the end of the installation -->
                    <entry key="launchJetty" value="yes"/>
                    
                    <!-- Java options for Jetty. -->
                    <!-- Initial memory pool (-Xms) in MB -->
                    <entry key="jettyOptionXms" value="128"/>
                    <!-- Maximum memory pool (-Xmx) in MB -->
                    <entry key="jettyOptionXmx" value="512"/>
                    <!-- Thread stack size (-Xss) in KB -->
                    <entry key="jettyOptionXss" value="4000"/>
                    <!-- Further Java options -->
                    <entry key="jettyOptions" value=""/>
                    
                </userInput>
            </com.izforge.izpack.panels.UserInputPanel>
            <com.izforge.izpack.panels.UserInputPanel id="joc">
                <userInput>
                    
                    <!-- JOC can be installed in a cluster. Please type a unique title to identify the cluster node, 
                         e.g. Primary or Secondary (default = hostname). Max. length is 30 characters -->
                    <entry key="jocTitle" value=""/>
                    
                    <!-- Choose yes if JOC is a standby node in a cluster -->
                    <entry key="isStandby" value="no"/>
                    
                    <!-- Security Level for the signing mechanism: possibly values are 'LOW', 'MEDIUM' and 'HIGH'
                         HIGH:
                            public PGP keys are stored for verification only
                            all signing will be done externally outside of JOC Cockpit
                         MEDIUM:
                            a private PGP key will be stored for signing
                            signing will be done automatically with the provided key
                         LOW:
                            no keys will be stored
                            signing will be done internally with default keys -->
                    <entry key="securityLevel" value="LOW"/>
                    
                </userInput>
            </com.izforge.izpack.panels.UserInputPanel>
            <com.izforge.izpack.panels.UserInputPanel id="database">
                <userInput>
                    <!-- Reporting Database Configuration -->
                    
                    <!-- Database connection settings can be specified with following entries such as
                         databaseHost, databasePort, ... or by a hibernate configuration file 
                         Posible values are 'withoutHibernateFile' (default) and 'withHibernateFile'. -->
                    <entry key="databaseConfigurationMethod" value="withoutHibernateFile"/>
                         
                    <!-- Choose the database management system. 
                         Supported values are 'h2' for H2 (for evaluation only), 'mysql' for MySQL,
                         'oracle' for Oracle, 'mssql' for MS SQL Server, 'pgsql' for PostgreSQL.
                         Only if databaseConfigurationMethod=withoutHibernateFile -->
                    <entry key="databaseDbms" value="mysql"/>
                    
                    <!-- Path to a hibernate configuration file if databaseConfigurationMethod=withHibernateFile -->
                    <entry key="hibernateConfFile" value=""/>
                    
                    <!-- You can choose between 'on' or 'off' to create the database tables.
                         If you have modified the initial data of an already existing installation, 
                         then the modifications will be undone. Data added remains unchanged. 
                         This entry should be only 'off', when you sure, that all tables are already created. -->
                    <entry key="databaseCreateTables" value="on"/>
                    
                </userInput>
            </com.izforge.izpack.panels.UserInputPanel>
            <com.izforge.izpack.panels.UserInputPanel id="dbconnection">
                <userInput>
                    <!-- Database Configuration if databaseConfigurationMethod=withoutHibernateFile -->
                         
                    <!-- Enter the name or ip address of the database host 
                         This entry can also be used to configure the URL(s) for Oracle RAC databases.
                         For example:
                         <entry key="databaseHost" value="(DESCRIPTION=(ADDRESS_LIST=(LOAD_BALANCE=OFF)(FAILOVER=ON)
                            (ADDRESS=(PROTOCOL=TCP)(HOST=tst-db1.myco.com)(PORT=1604))
                            (ADDRESS=(PROTOCOL=TCP)(HOST=tst-db2.myco.com)(PORT=1604)))
                            (CONNECT_DATA=(SERVICE_NAME=mydb1.myco.com)(SERVER=DEDICATED)))"/>
                         The "databaseSchema" and "databasePort" entries should then be left empty. -->
                    <entry key="databaseHost" value=""/>
                    
                    <!-- Enter the port number for the database instance. Default ports are for H2 1521, MySQL 3306, 
                         Oracle 1521, MS SQL Server 1433, postgreSQL 5432. -->
                    <entry key="databasePort" value=""/>
                    
                    <!-- Enter the schema -->
                    <entry key="databaseSchema" value=""/>
                    
                    <!-- Enter the user name for database access -->
                    <entry key="databaseUser" value=""/>
                    
                    <!-- Enter the password for database access -->
                    <entry key="databasePassword" value=""/>
                    
                </userInput>
            </com.izforge.izpack.panels.UserInputPanel>
            <com.izforge.izpack.panels.UserInputPanel id="jdbc">
                <userInput>
                    <!-- Database Configuration -->
                    
                    <!-- You can specify an external JDBC connector then set internalConnector = no
                         For license reasons MySQL abd MS SQL Server JDBC drivers are not provided. 
                         Alternatively you can use the mariadb JDBC Driver for MySQL which is provided. 
                         For MS SQL Server you have to specify an external JDBC connector. 
                         An Oracle ojdbc8 JDBC driver is also provided. -->
                         
                    <!-- You can choose between 'yes' or 'no' for using the internal JDBC connector
                         or not -->
                    <entry key="internalConnector" value="yes"/>
                         
                    <!-- Select the path to JDBC Driver -->
                    <entry key="connector" value=""/>
                    
                </userInput>
            </com.izforge.izpack.panels.UserInputPanel>
            <com.izforge.izpack.panels.UserInputPanel id="end">
                <userInput/>
            </com.izforge.izpack.panels.UserInputPanel>
            <com.izforge.izpack.panels.InstallPanel id="install"/>
            <com.izforge.izpack.panels.ProcessPanel id="process"/>
            <com.izforge.izpack.panels.FinishPanel id="finish"/>
        </AutomatedInstallation>
        

      ...

      • Code Block
        languagetext
        titleStarting batch installation of the JOC Cockpit on Linux systems with root permissions
        /tmp/joc.[release]> ./setup.sh joc_install.xml
        Code Block
        languagetext
        titleStarting batch installation of the JOC Cockpit on Linux systems without root permissions
        /tmp/joc.[release]> ./setup.sh -u joc_install.xml
      • Code Block
        languagetext
        titleStarting batch installation of the JOC Cockpit on Windows systems
        C:\temp\joc.[release]> setup.cmd joc_install.xml

      ...

      Initial Operation with the JOC Cockpit Login Form

      Note that a functioning web server - either the Jetty provided with the JOC Cockpit or another - is required before the JOC Cockpit installation can be operated.

      • Call the JOC Cockpit login form in a web browser and enter the User Name and Password.

        After a first installation of the JOC Cockpit the default User Name and Password of root:root and Shiro Authentication will be active if changes have not been made to the shiro.ini configuration file. Note that in the default configuration the root user is assigned all role, which has all permissions available.

        See the Authentication and Authorization - Configuration article for information about the configuration of other user profiles and authentication methods.

      • Note that on some systems the web service may take a minute to start and display the login form shown below.
        Image Removed

      Operation from the Command Line

      The default configuration for the Jetty server means that it automatically started with the operating system. However, it can also be stopped and started from the command line.

      On Linux systems

      On Windows systems

      • In the folder:
      • Enter:
        • start_jetty_windows_service.cmd stop|start

      Updating

      Empty the Browser Cache after updating the JOC Cockpit

      You should use Ctrl & F5 as well as empty the browser cache before starting the JOC Cockpit after an update.

      Installation Log Files

      The JOC Cockpit configuration and installation log information are written to a new log file each time an installation or update is carried out. These log files can be found in the logs folder in the jetty_base directory.

      Installation log files are named according to the pattern Install_V[release]_[date&time]_....log where release is the version release number and date and time refer to the installation.

      Deinstallation

      The JOC Cockpit can be uninstalled using the uninstall.cmd and uninstall.sh scripts saved in the folders:

      Windows systems

      ...

      If the checkbox is not selected, configuration files will be left in both the JOC Cockpit installation folder and the Jetty web server installation folder (if installed with the JOC Cockpit).

      On Linux systems

      Make a Backup!

      The uninstall script on Linux systems will not open a dialog box. Instead, an uninstall script will start the Uninstaller and remove both the program and configuration files and folders. 

      These files contain the configuration information from the last JOC Cockpit and Jetty web server installations.

      Files that are not removed during a normal uninstall (i.e. when the checkbox is not ticked) are noted in the File Structure section of this article below.

      ...

      The JOC Cockpit installation procedure contains the option of installing and using the Jetty Web Server that is included in the JOC Cockpit installation archive. This option was configured in Step 4 of the installation procedure described above. An alternative web server that is capable of handling Java web applications, such as Tomcat or another web server, can also be used.

      If the Jetty provided with the JOC Cockpit is not to be installed, the installation program will look and see if a jetty_base shortcut from a previous installation is to be found in the jetty_home directory. Particularly relevant for system administrators would be the shiro.ini file (containing authentication and authorization information) and the joc.properties file (containing database configuration information).

      • If configuration files are found then these will not be overwritten or removed.
      • Default configuration files will be written to the file system in the joc_home directory.
      • System administrators can then move the configuration files to the appropriate application directory as required.

      See also links in the References section below.

      Location of the resources/joc folder with a fresh installation

      With a fresh installation, the installer will not find an existing Jetty and will save the resources directory by default as follows:

      Location of the resources/joc folder after an installation on top of a JOC Cockpit installation with Jetty 

      If the JOC Cockpit is being installed without the included Jetty but on top of an installation that has included the JOC Cockpit Jetty then the resources\joc the folder will not be moved from its location. This means that the "new" resources the folder will be found after the new installation as follows (if the original installation was carried out in the default directory):

      In this situation the shiro.ini and joc.properties file from the earlier installation will not be overwritten.

      The "old" hibernate.cfg.xml the database configuration file will be read during the installation and the settings suggested as default values. The file itself will be deleted and a new one saved in the joc_home directory.

      An update of the JOC Cockpit will neither overwrite the new or old configuration files. However new versions of the joc.properties and shiro.ini files named joc.properties-example and shiro.ini-example will be written to the resources\joc folder, alongside the originals.

      File Structure

      The following listings should make clear the changes that occur in the JOC Cockpit file structure during installation and de-installation.

      Windows Systems

      Default File Structure if Jetty is Installed

      If the Jetty web server provided with the JOC Cockpit is installed then files will be added by default in the ProgramData\sos-berlin.com\joc and Program Files\sos-berlin.com\joc directories.

      • ProgramData
        • sos-berlin.com
          • js7
            • joc
              • jetty_base
                • archive (directory with files, remains after uninstall)
                • lib (directory with files, remains after uninstall)
                • logs (directory with files, remains after uninstall)
                • patches (directory with files, remains after uninstall)
                • resources (remains after uninstall and (empty) after full uninstall)
                  • joc (directory with files, remains after uninstall)
                    • license (directory with files, remains after uninstall)
                    • xsd (directory with files, remains after uninstall)
                    • hibernate.cfg.xml (remains after uninstall if modified)
                    • joc.properties (remains after uninstall)
                    • log4j2.xml (remains after uninstall if modified)
                    • shiro.ini.active (remains after uninstall)
                    • shiro.ini-example (only added if shiro.ini file is found)
              • temp (directory with files, remains after uninstall)
              • webapps
              • start.ini (file, remains after uninstall)
      • Program Files
        • sos-berlin.com
          • js7
            • joc
              • install (directory with files)
                • install_jetty_base.cmd
                • update_jetty_base.cmd
              • jetty (directory with files)
              • jetty_base (symlink)
              • service
              • Uninstaller (directory, the empty remains after uninstall and full uninstall)
                • uninstall.cmd
                • uninstaller.jar
              • .jocinstallinformation (file, remains after uninstall)
              • joc_install.xml (file, remains after uninstall)
      Default File Structure if Jetty is not Installed

      If the Jetty web server provided with the JOC Cockpit is not installed and no previous configuration files are found in the Program Files\sos-berlin.com\joc the directory then files will be added by default only in the Program Files\sos-berlin.com\joc directories.

      If configuration files are found in Program Files\sos-berlin.com\joc the directory then files will be added in the ProgramData\sos-berlin.com\joc and Program Files\sos-berlin.com\joc directories as described above.

      • Program Files
        • sos-berlin.com
          • js7
            • joc
              • install
                • install_jetty_base.cmd
                • shortcut.vbs
                • joc_install_tables.cmd
                • update_jetty_base.cmd
              • logs
                • Install_ ... .log (files will remain after uninstall)
              • resources
                • joc
                  • hibernate.cfg.xml (remains after uninstall if modified)
                  • joc.properties (remains after uninstall)
                  • joc.properties-example (only added if joc.properties file is found at installation start)
                  • log4j2.xml (remains after uninstall if modified)
                  • shiro.ini (remains after uninstall)
                  • shiro.ini-example (only added if shiro.ini file is found at installation start)
              • service
                • amd64 (directory)
                • manager (directory)
                • x86 (directory)
                • install_jetty_windows_service.cmd
                • LICENSE.txt
                • NOTICE.txt
                • RELEASE-NOTES.txt
                • set_java_home_for_jetty_windows_service.cmd
                • start_jetty_windows_service.cmd
                • uninstall_jetty_windows_service.cmd
              • Uninstaller (the empty directory remains after uninstall)
                • js7.ico
                • uninstall.cmd
                • uninstaller.jar
              • webapps
                • joc.war
              • .jocinstallinformation (file, remains after uninstall)
              • joc_install.xml (file, remains after uninstall)

      Clustering and Redundancy

      With each instance running on its own server, multiple instances of the JOC Cockpit can either be installed as an active cluster or redundantly. In both cases, installation of the JOC Cockpit instances follows the standard procedure described above. The configuration of the JOC Cockpit instances then follows the instructions provided in the Authentication and Authorization - Configuration article. 

       The JOC Cockpit - Clustering article provides more general information about installing and configuring multiple instances of the JOC Cockpit.

      JOC Cockpit Configuration

      The JOC Cockpit includes certain configuration items which can be used to configure JOC Cockpit. Details about how to configure JOC Cockpit the article JS7 - JOC Cockpit Configuration Items can be followed. 

      ...

      Installation with Other Application Servers:

      ...