Skip to end of metadata
Go to start of metadata

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 JobScheduler Master version 1.11 and newer.
    FEATURE AVAILABILITY STARTING FROM RELEASE 1.11
  • The JOC Cockpit requires access to the DBMS that operates the JobScheduler database.
  • The JOC Cockpit requires access to the DBMS that operates the reporting database. The reporting database may be integrated in the JobScheduler database or may be a separate database on a separate DBMS.
  • A JVM 1.8 has to be installed. 

Troubleshooting Information

  • If a MySQL DBMS is being used by the JobScheduler, then the MySQL wait_timeout setting that rules the max. 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

The JOC Cockpit is available for Linux and Windows operating systems and the same setup can be used for installation on 64-bit and on 32-bit systems. See the Which platforms is JobScheduler available for and what platform support is provided? article for more information.

HTTPS Authentication

The JOC Cockpit can be operated with HTTPS. However, due to problems often experienced with certificate validation, we do not recommend configuring the JOC Cockpit to use HTTPS during the initial installation and configuration procedure. Instead we recommend that the JOC Cockpit is installed and tested with HTTP and the default shiro authentication and that HTTPS and, if required, LDAP authentication are added in a second step. See the JOC Cockpit - Authentication and Authorization and JOC Cockpit - HTTPS Authentication articles for more information.

Download the JOC Cockpit Archive

The following archive files are available for download:

  • joc_linux.[release].tar.gz
  • joc_windows.[release].zip

where release is the release number.

These archives can be used to install the JOC Cockpit either as a dialog or as a batch process and for both 32 and 64-bit systems.

They 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.
The installer can be started as a dialog or in batch mode. Note that an X-Server is required if the installer is to be run on Linux systems as a dialog. If an X-Server is not installed, then batch installation should be used.

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 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

    • Select the language to be used for the setup: English and German are available.



  • Step 1 - Welcome Screen

 

  • 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 path to the installation directory for the JOC Cockpit program files - referred to later in this page as the joc_installation_directory - is set in this step.
    • The default installation paths for the JOC Cockpit are:

      • /opt/sos-berlin.com/joc on Linux systems and

      • C:\Program Files\sos-berlin.com\joc on Windows.
    • Users can use the Step 3 installation form shown below to specify their own installation path for the JOC Cockpit if required. 



  • Step 4 - Jetty Installation & Configuration

    • The JOC Cockpit requires a Java-capable web server and comes with a Jetty server. Step 4 allows system administrators to specify whether this web server is to be installed and if so, to specify its configuration - i.e. the port(s) it uses, installation path, memory pool, etc..
    • The Install JOC ... including Jetty checkbox specifies whether the Jetty web server should be installed.
    • Default Paths
    • While the Jetty web server delivered with the JOC Cockpit is installed in the joc_installation_directory, which was configured in the previous step - the Jetty configuration files are installed in the jetty_base directory. The Jetty Base field in the form shown in the screenshot can be used to set the jetty_base directory. 
      • The default path to the jetty_base directory on Linux systems leads to the user's home directory:
        • e.g. /home/sos/sos-berlin.com/joc 
      • Log files are saved by default in:
        • /var/log/sos-berlin.com/joc on Linux systems.

      • The default path to the jetty_base directory and log files on Windows systems is: 
        • C:\ProgramData\sos-berlin.com\joc .
    • Note that if If the Jetty delivered with the JOC Cockpit is not to be installed and either an alternative Jetty installation or another web server is to be used, then relevant configuration files for such a server such as the shiro.ini and joc.properties files will still be written to the file system. These files can then be moved by the system administrator to the suitable location for their web server as required. See the Configuration with Alternative Web Servers section below for more information.
  • Step 5 - Specify the Reporting DBMS

    • Choose the DBMS to be used by the JOC Cockpit for the Reporting Database.
      Caution: the order in which the Reporting and JobScheduler Databases are configured is the opposite to that used in the installation of the JobScheduler. 




  • Step 6 - Configure the Reporting Database Connection

    • Specify the parameters for the connection to the Reporting Database

    • It will be 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 JobScheduler. In this case the Reporting Database Tables will be integrated in the JobScheduler Database. This will be described in the next step.

    • 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:

      • reporting.hibernate.cfg.xml

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

    • The name and location of the database configuration file itself is specified in the joc.properties file, which can also be found in the jetty_base/resources/joc folder.
       

  • Step 7 - Specify the Database Connection Used by the JobScheduler

    • Specify whether a separate connection it to be specified for the JobScheduler Database 

    • If the JobScheduler(s) and JOC Cockpit share the same database then clicking Next will cause the Installation to proceed to Step 10. This step starts the installation process itself and changes to the configuration are no longer possible.  
    • If the JobScheduler(s) and JOC Cockpit use separate databases then the checkbox in the form should be deselected. In this case, clicking Next will cause the Installation to proceed to the specification of the DBMS and the connection parameters for the JobScheduler database, which are described next.
       
  • Step 8 - Specify the JobScheduler DBMS

    • This form is identical to those already shown for the Reporting Database in Steps 5 above.
       
  • Step 9 - Configure the JobScheduler Database Connection

    • Specify the parameters for the connection to the JobScheduler Database.

      • The DBMS type can be found in the database configuration for job history section of the $JOBSCHEDULER_DATA/factory.ini file of one of the JobSchedulers to be operated from the JOC Cockpit, where $JOBSCHEDULER_DATA is defined in the JobScheduler Master Installation - 2 - Dialog Installation article.
    • 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:
      • jobscheduler.hibernate.cfg.xml
    • This file can be modified at a later date if required using a text editor. A JOC Cockpit user will then have to log in again before changes made to this file are implemented.

    • The name and location of the database configuration file itself is specified in the joc.properties file, which can also be found in the jetty_base/resources/joc folder.




  • Step 10 - Processing the Installation

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

    • Changes to the installation configuration can no longer be made once this step has started.
      Instead configuration files such as those in the jetty_base/resources/joc folder can modified manually and then the JOC Cockpit restarted.


  • Step 11 - External Processes

    • This step shows the progress of the second part of the installation procedure.

    • The information shown in this step will be written to the installation log file, which can be found in the jetty_base/logs folder

  • Step 12 - Completion

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

    • 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 file is shown in the code listing below. The extensive comments are intended to be self-explanatory. 

  • Configuration of the joc_install.xml file  Expand source

Batch installation is started by opening a terminal or command window in the folder containing the setup.* file and typing:

  • Starting batch installation of the JOC Cockpit on Linux systems with root permissions
    Starting batch installation of the JOC Cockpit on Linux systems without root permissions
  • Starting batch installation of the JOC Cockpit on Windows systems

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 the 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.

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

  • In the folder:
    • /opt/sos-berlin.com/joc/jetty/bin
  • Enter:
    • ./jetty.sh stop|start

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 emptying 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:

  • on Linux systems:
    • /opt/sos-berlin.com/joc/Uninstaller
  • on Windows systems:
    • C:\Program Files\sos-berlin.com\joc\Uninstaller

Windows systems

Starting the uninstaller will open the following form on Windows systems:

Ticking the "Force the deletion of C:\Program Files\ ...." checkbox will cause the uninstall script to remove both the program and configuration files and folders.

If the checkbox is not selected then configuration files will be left in both the JOC Cockpit installation folder and in 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.

Configuration with Alternative Web Servers

The JOC Cockpit installation procedure contains the option of installing and using the Jetty Web Server that is included in with 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:

  • on Linux systems:
    • /opt/sos-berlin.com/joc/resources/joc
  • on Windows systems:
    • C:\Program Files\sos-berlin.com\joc\resources\joc

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 folder will not be moved from its location. This means that the "new" resources folder will be found after the new installation as follows (if the original installation was carried out in the default directory):

  • on Linux systems:
    • /opt/sos-berlin.com/joc/resources/joc
  • on Windows systems:
    • C:\Program Files\sos-berlin.com\joc\resources\joc

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

The "old" hibernate.cfg.xml 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 onw 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 deinstallation.

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
      • joc
        • joc_home (symlink, remains after uninstall)
        • logs (directory with files, remains after uninstall)
        • resources (remains after uninstall and (empty) after full uninstall)
          • joc
            • jobscheduler.hibernate.cfg.xml (remains after uninstall if modified)
            • joc.properties (remains after uninstall)
            • log4j.properties (remains after uninstall if modified)
            • reporting.hibernate.cfg.xml (remains after uninstall if modified)
            • shiro.ini (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
      • 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 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 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
      • joc
        • install
          • install_jetty_base.cmd
          • shortcut.vbs
          • sleep.exe
          • update_jetty_base.cmd
        • logs
          • Install_ ... .log (files will remain after uninstall)
        • resources
          • joc
            • jobscheduler.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)
            • log4j.properties (remains after uninstall if modified)
            • jobscheduler.hibernate.cfg.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)
          • ia64 (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)
          • jobscheduler.ico
          • uninstall.cmd
          • uninstaller.jar
        • webapps
          • joc.war
        • .jocinstallinformation (file, remains after uninstall)
        • joc_install.xml (file, remains after uninstall)

JOC Cockpit Configuration

The joc.properties File

The main configuration information for the JOC Cockpit can be found after installation in the joc.properties file.

This file is not changed during an update of the JOC Cockpit.

The default location of this file after installation is the resources/joc folder.

Detailed descriptions of each parameter are included in the file and are intended to be self-explanatory.

Example Listing of the joc.properties File  Expand source

Database Configuration Files

Once the JOC Cockpit has been installed, the configuration for each database connection will be stored in a hibernate configuration file as follows:

  • JobScheduler Database Connection:
    • /resources/joc/jobscheduler.hibernate.cfg.xml
  • Reporting Database Connection:
    • /resources/joc/reporting.hibernate.cfg.xml
  • The following listing shows a typical hibernate database configuration file (here for the JobScheduler database connection)

    Example Listing of jobscheduler.hibernate.cfg.xml  Expand source

The locations of these files is specified in the joc.properties file.

Log Configuration File

The logging configuration for the JOC Cockpit is saved during installation to a log4j.properties file, which can be found in the the resources/joc folder.

The following listing shows the default log configuration for the JOC Cockpit: 

Example Listing of jobscheduler.hibernate.cfg.xml  Expand source

The most likely configuration change users are likely to make would be to:

  • the log levels, which are set in lines 3 - 5, and 
  • the Audit Log file name, which is set in the last line.

Java Options for Jetty

The Java option values for Jetty are stored after installation:

  • on Linux systems in the directory:
    • /etc/default/joc . 
  • on Windows systems in the Registry under:
    • HKLM\SOFTWARE\WOW6432Node\Apache Software Foundation\Procrun 2.0\sos_joc\Parameters\Java
  • Java Memory options can also be configured by opening the sos_jocw.exe which can be found in the joc_home\service directory.

Further Resources

Installation with Other Application Servers: