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 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. the lifetime of idle connections should be checked and if necessary extended.- The default
wait_timeout
for MySQL is relatively short and the JOC Cockpit cannot keep the connection busy over longer periods of time without user interaction - for example, overnight. - See the JOC Cockpit - Troubleshooting - Database Connection to MySQL unavailable after idle timeout article for instructions about how to change the MySQL DBMS
wait_timeout
setting.
- The default
- 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 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 is 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:
js7_joc_linux.[release].tar.gz
js7_joc_windows.[release].zip
where release
is the release number.
These archives can be used to install the JOC Cockpit either as a dialogue or as a batch process and for both 32 and 64-bit systems.
They can be downloaded from:
- the SOS Web Site Download page
- the JobScheduler SourceForge page
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 orC:\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
the argument, otherwise the sudo prompt will ask for a password.
- To install the JOC Cockpit without root permissions, the start script should be called with a
- 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).
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/js7/joc
on Linux systems andC:\Program Files\sos-berlin.com\js7\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 the 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/js7/joc
- e.g.
- Log files are saved by default in:
/var/log/sos-berlin.com//js7/joc
on Linux systems.
- The default path to the jetty_base directory and log files on Windows systems is:
C:\ProgramData\sos-berlin.com\js7\joc
.
- The default path to the jetty_base directory on Linux systems leads to the user's home directory:
- 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
andjoc.properties
files will still be written to the file system. These files can then be moved by the system administrator to a suitable location for their web server as required. See the Configuration with Alternative Web Servers section below for more information.
Step 5 - JOC Configuration
- The JS7 JOC Cockpit can be installed in a cluster. So if the JOC Cockpit is installed as a cluster it is required to provide a title to the JOC. By default the title is joc, this can be modified as per the user.
- The security level for the signing mechanism can be added at the time of JOC Cockpit installation for a security level used for the signing of deployment objects such as workflows. See the Secure Configuration Article for more information. The JS7 JOC Cockpit provides three types of signing mechanisms:
- Low: This mechanism is easy to use as it does not require any user interaction for the signing operation to be performed.
- Medium: This mechanism is similar to the low signing mechanism except for the fact that the private key stored with the current user's profile is used for the signing of configuration objects.
- High: This mechanism has the highest security level and this requires any configuration objects to be exported and to be signed individually outside of JOC Cockpit.
- The JS7 JOC Cockpit can be installed in a cluster. So if the JOC Cockpit is installed as a cluster it is required to provide a title to the JOC. By default the title is joc, this can be modified as per the user.
Step 6 - Database Management System
Choose the DBMS to be used by the JOC Cockpit for the database system.
The database connection settings can be either species directly or can be provided by hibernate configuration file. If the settings are specified directly then it is required to choose the database system otherwise the hibernate configuration file path can be specified after checking the option with hibernate configuration file.
The database system is specified in the upper selection on this form. It is recommended that the box in the centre of the form remains checked so that the script which creates and fills the necessary database tables can be executed.
Step 7 - Database connection Configuration
Specify the parameters for the connection to the Database.
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.
The name and location of the database configuration file itself is specified in the
joc.properties
file, which can also be found in thejetty_base/resources/joc
folder.
Step 8 - Specify the JDBC Driver for the Database Connection
- Specify if a JDBC driver provided with the installation should be used for the Database Connection or whether an external driver is required.
The information shown in this form depends on the DBMS previously selected:- The jTDS JDBC
®
the driver delivered with the JOC Cockpit is only shown as an option when Sybase® or Microsoft SQL Server® DBMSs have been specified. - If you have specified a MySql® DBMS then you will get a checkbox for specifying whether you want to use the MariaDB® JDBC® driver provided with the JobScheduler.
- If you do not check the jTDS JDBC® or the MariaDB JDBC drivers then you must enter your own JDBC® driver in the form shown below.
- The jTDS JDBC
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:
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.
- Specify if a JDBC driver provided with the installation should be used for the Database Connection or whether an external driver is required.
Step 9 - 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 folder can be modified manually and then the JOC Cockpit restarted.
Step 12 - 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 13 - 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
the file is shown in the code listing below. The extensive comments are intended to be self-explanatory.
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
/tmp/joc.[release]> ./setup.sh joc_install.xml
Starting batch installation of the JOC Cockpit on Linux systems without root permissions/tmp/joc.[release]> ./setup.sh -u joc_install.xml
- Starting 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.
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/js7/joc/jetty/bin
- Enter:
./jetty.sh stop|start
On Windows systems
- In the folder:
C:\Program Files\sos-berlin.com\joc\service
- 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:
- on Linux systems:
/opt/sos-berlin.com/js7/joc/Uninstaller
- on Windows systems:
C:\Program Files\sos-berlin.com\js7\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, 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.
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 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/js7/joc/resources/joc
- on Windows systems:
C:\Program Files\sos-berlin.com\js7\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
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):
- on Linux systems:
/opt/sos-berlin.com/js7/joc/resources/joc
- on Windows systems:
C:\Program Files\sos-berlin.com\js7\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
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)
jobscheduler.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.
Further Resources
Installation with Other Application Servers:
- Tips from a user on Installation with Tomcat