Installing the JS7 JOC Cockpit
Prerequisites
- Ensure that the Installation Requirements have been met.
- Unpack the JOC Cockpit archive to a suitable directory such as
/tmp
on Linux systems orC:\temp
on Windows.
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 headless installation should be used.
Administrative Permissions
- On Windows systems:
- The setup asks for elevated permissions.
- On Linux 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 Servlet Container and JOC Cockpit are to be started automatically after reboot of the machine.
- To install JOC Cockpit without root permissions, the start script should be called with the
-u
argument, otherwise thesudo
prompt will ask for a password.
Graphical Installer
Dialog installation is started by running the setup.sh
or setup.cmd
files from 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 - Licenses
- This shows the licenses available for JOC Cockpit
- This shows the licenses available for JOC Cockpit
Step 3 - Licensing Agreement
The License Agreement displayed in Step 2 of the installation has to be accepted before installation can take place.
Step 4 - Target Path for 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 4 installation form to specify their individual installation path for the JOC Cockpit if required.
Step 5 - Jetty Installation & Configuration
- The JOC Cockpit ships with the Jetty Servlet Container. Step 4 allows system administrators to specify whether the Servlet Container is to be installed and if so, to specify its configuration, i.e. the ports to be used, installation path, memory pool, etc.
- While the Jetty Servlet Container provided with the JOC Cockpit is installed in the joc_installation_directory that was configured in the previous step - the Jetty configuration files are installed in the jetty_base directory. The Jetty Base input field in the installer form can be used to set the jetty_base directory.
- The default path to the jetty_base directory on Linux systems points to the user's home directory:
- e.g.
/home/sos/sos-berlin.com/js7/joc
- e.g.
- By default log files are stored in:
/var/log/sos-berlin.com/js7/logs
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 points to the user's home directory:
- Note that if If the Jetty provided with JOC Cockpit is not to be installed and either an alternative Jetty installation or another Servlet Container is to be used then relevant configuration files such as
shiro.ini
andjoc.properties
will still be written to the file system. These files can then be moved to a suitable location for the Servlet Container as required. See the Configuration with Alternative Web Servers section below for more information.
Step 5 - JOC Configuration
- The JOC Cockpit can be installed in a cluster. if JOC Cockpit is installed as a cluster, then it is required to provide a title to the JOC. By default the title is joc.
- The security level for the signing mechanism has to be specified at the time of JOC Cockpit installation. A security level is required for the signing of deployment objects such as workflows. See the Secure Configuration Article for more information. The JOC Cockpit provides three types of security levels:
- 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 is the highest security level and requires any configuration objects to be exported and to be signed individually outside of JOC Cockpit.
- The JOC Cockpit can be installed in a cluster. if JOC Cockpit is installed as a cluster, then it is required to provide a title to the JOC. By default the title is joc.
Step 6 - Database Management System
Choose the DBMS to be used by the JOC Cockpit for the database.
The database connection settings either can be specified directly or can be provided by a hibernate configuration file. If the settings are specified directly then it is required to choose the DBMS otherwise the hibernate configuration file path can be specified after checking the option with hibernate configuration file.
The DBMS is specified in the upper selection on this form. It is recommended that the checkbox in the centre of the form remains checked so that the script is executed that creates and populates the required database objects.
Step 7 - Database connection Configuration
Specify the parameters for the connection to the database.
The database connection settings from the above screenshot should be evident.
The database configuration for the JOC Cockpit is written to an XML file during installation and stored in the
jetty_base/resources/joc
folder. The default name of the database configuration file is hibernate.cfg.xml. This file can be modified later on if required. Any text editor can be used. The JOC Cockpit service has to be restarted to apply changes to the hibernate configuration file.The name and location of the hibernate configuration file is specified with the
joc.properties
the file that can 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 installer should be used for the Database Connection or whether an external JDBC Driver should be used.
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 installer should be used for the Database Connection or whether an external JDBC Driver should be used.
Step 9 - Performing the Installation
This step displays a progress bar for the first part of the installation procedure.
Changes to the configuration can no longer be made once this step has started.
Instead, configuration files can be manually modified. To apply changes the JOC Cockpit should be restarted.
Step 10 - External Processes
This step displays the progress of the second part of the installation procedure.
The information displayed with this step is written to the installation log file that can be found in the
jetty_base/logs
folder.
Step 11 - Completion
The last step of the installation displays summary information about 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.
Installation Directory Layout
If the Jetty servlet container included with JOC Cockpit is installed then files will be added by default
- for Unix to the
/var/sos-berlin.com/js7/joc
and/opt/sos-berlin.com/js7/joc
directories, - for Windows to the
ProgramData\sos-berlin.com\js7\joc
andProgram Files
\sos-berlin.com\js7\joc
directories.
The following listing explains the directory layout after installation of the JOC Cockpit:
/var (Unix) ProgramData (Windows)
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)
/opt (Unix) Program Files (Windows)
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.sh|cmd
uninstaller.jar
.jocinstallinformation (file, remains after uninstall)
joc_install.xml (file, remains after uninstall)
Directory Layout if the Jetty Servlet Container is not Installed
If the Jetty servlet container included with JOC Cockpit is not installed and no previous configuration files are found in the Program Files
\sos-berlin.com\js7\joc
the directory than by default files will be added to the Program Files
\sos-berlin.com\js7\joc
directories only.
If configuration files are found in Program Files
\sos-berlin.com\js7\joc
the directory then files will be added to the ProgramData\sos-berlin.com\js7joc
and Program Files
\sos-berlin.com\js7\joc
directories as explained above.
Update
Preparation
- Stop the JS7 JOC Cockpit instance.
Running the installer
The update using the GUI can be done by rerunning the installer setup.cmd|sh
file from the .zip archive and by providing the same parameters such as installation paths, ports etc.
Installation Log Files
The JOC Cockpit configuration and installation log information is written to a new log file each time an installation or update is carried out. These log files can be found in the logs
sub-directory of the jetty_base
directory.
- Installation log files use names according to the pattern
Install_V<release>_<date-time>_....log
where<
release>
is the release number and<
date-time>
refers to the point in time of installation.
- For further information about logging see JS7 - Logging.
Installation for alternative Servlet Containers
The JOC Cockpit installation procedure contains the option to install the Jetty servlet container included with the JOC Cockpit installer archive. An alternative servlet container that is capable of handling Java web applications, such as Tomcat, can be used, however, support by SOS is limited to the JOC Cockpit application and does not include support for individually installed servlet containers.
If the Jetty servlet container included with JOC Cockpit is not to be installed, then the installer will check if a jetty_base
symlink from a previous installation is found in the jetty_home
directory. Particularly relevant for system administrators is the shiro.ini.active
file (containing authentication and authorization information) and the joc.properties
file (containing database configuration information).
- If configuration files are found then they will not be overwritten or removed.
- Default configuration files will be written to the file system in the
joc_home
directory. - System administrators can move the configuration files to the appropriate directory of their servlet container as required.
Location of the resources/joc
directory after fresh installation
With a fresh installation, the installer will not find an existing Jetty servlet container and will store the resources
directory by default to the following location:
- for Unix systems:
- for Windows systems:
C:\Program Files\sos-berlin.com\js7\joc\resources\joc
Location of the resources
/joc
directory after update
If JOC Cockpit is updated without the Jetty servlet container but on top of an existing installation that includes the Jetty servlet container then the resources\joc
the directory will not be moved from its location. Practically this means that the "new" resources
directory after the update will be found with the following directories (assuming the original installation was carried out for the default directories):
- for Unix systems:
- for Windows systems:
C:\Program Files\sos-berlin.com\js7\joc\resources\joc
In this situation
- the
shiro.ini
andjoc.properties
files from an earlier installation will not be overwritten. - an existing
hibernate.cfg.xml
the database configuration file will be considered during the update and the settings will be suggested as default values. The file will be deleted and a new version of the file will be stored to thejoc_home
directory. - an update of JOC Cockpit will not overwrite any new or old configuration files. However new versions of the
joc.properties
andshiro.ini
files with the namesjoc.properties-example
andshiro.ini-example
will be stored to theresources\joc
folder, alongside the original files.
Initial Operation
Initial Operation with the JOC Cockpit Login Form
Note that a working Servlet Container - either the Jetty provided with the JOC Cockpit or some other product - is required before the JOC Cockpit can be operated.
Navigate to the JOC Cockpit login form in a browser and enter the User Account and Password.
After the initial installation of JOC Cockpit the default User Account and Password of root:root will be available if no changes have been made to the
shiro.ini
configuration file.Note that the root user is assigned all role in the default configuration which includes all available permissions.
See the Authentication and Authorization - Configuration article for information about the configuration of other user profiles and authentication methods.
Note that the web service may take a minute to start and display the login form.
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.
Deinstallation
The JOC Cockpit can be uninstalled using the uninstall.cmd
and uninstall.sh
scripts available from the following locations:
- For Unix systems:
- For Windows systems:
C:\Program Files\sos-berlin.com\js7\joc\Uninstaller
Windows systems
Starting the uninstaller will open the following form on Windows systems:
Selecting 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).
Unix systems
The uninstall script on Unix systems runs in headless mode. The uninstall script will start the Uninstaller and remove both the program files, configuration files and respective folders.
Cluster Operation
Please consider that operating a JOC Cockpit cluster for high availability requires a commercial license, see JS7 - Licensing.
A number of JOC Cockpit instances can be operated as a passive cluster with the first JOC Cockpit instance started acting as the primary cluster member and any additional JOC Cockpit instances acting as standby cluster members. The role of the primary cluster member is decided by the order only in which instances are started.
The installation of the JOC Cockpit instances follows the standard operating procedures described above, there is no difference in installation consider the roles of primary cluster members and standby cluster members.
Automated Start-up and Shutdown
For Unix systems, the start-up and shutdown configurations apply that are executed by root
, e.g. in /etc/init.d
or corresponding locations and by use of systemd
.
- The JOC Cockpit will start for the user account that is specified during installation. The JOC Cockpit start script
jetty.sh|cmd
will switch to this account independently from the fact that the start script is executed e.g. by theroot
account. - For use with
systemd
find a sample service file from./bin/joc.service-example
file.
For Windows systems operation of the JOC Cockpit by a Windows Service is recommended as such services can be configured to start/stop automatically on server start-up and shutdown.
Further References
- JS7 - JOC Cockpit - Use of Graphical Installer
- JS7 - JOC Cockpit - Command Line Operation
- JOC Cockpit - Authentication and Authorization
- JOC Cockpit - Security
- JS7 - Troubleshooting
Installation with other application servers:
- Tips from a user for Installation with Tomcat