Page History
...
Anchor | ||||
---|---|---|---|---|
|
...
Installing the JS7 JOC Cockpit
- The
...
- JOC Cockpit can be installed
...
- JOC Cockpit requires access to a database to store inventory information, status information and workflow related logs. The database is required for restart 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?
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 complexities with certificate management it is not recommended to configure the JOC Cockpit to use HTTPS during initial installation. Instead, we recommend that the JOC Cockpit is installed and tested with HTTP and the default authentication mechanism. HTTPS connections and optionally LDAP authentication can be added in a second step. See the JOC Cockpit - Authentication and Authorization and JOC Cockpit - HTTPS Authentication articles for more information.
Download
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.
The archives can be used to install the JOC Cockpit either from a dialogue or for headless installation with both 32 bit and 64 bit systems.
The archives can be downloaded from:
- the JS7 - Download page
- the JobScheduler SourceForge page
Installation Procedure
Preparation
- Ensure that the Installation Requirements as stated with the above section have been met.
- Unpack the JOC Cockpit archive to a suitable directory such as
/tmp
on Linux systems orC:\temp
on Windows.
...
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.
Dialog installation
Dialog installation is started by running the setup.sh
or setup.cmd
files from the unpacked download archive.
Language Selection
...
Step 2 - Licensing Agreement
...
Step 3 - Target Path for Installation
...
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.
...
- e.g.
/home/sos/sos-berlin.com/js7/joc
...
/var/log/sos-berlin.com/js7/logs
on Linux systems.
...
Step 5 - JOC Configuration
...
Step 6 - Database Management System
...
Choose the DBMS to be used by the JOC Cockpit for the database.
...
Step 7 - Database connection Configuration
...
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 to 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.
...
Step 8 - Specify the JDBC Driver for the Database Connection
- on Unix and Windows systems without the use of a GUI installer i.e. running the JOC Cockpit installer in headless mode.
Preparation
- 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.
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 a 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.
Installation in Headless Mode
- The JOC Cockpit makes use of the
joc_install.xml
file that includes the parameters such as installation path, ports etc.- For a fresh installation, the installer response file is included with the downloaded archive.
The
joc_i
nstall.xml
file is explained with the code listing below. The comments included are intended to be self-explanatory.
Download: joc_install.xmlCode Block language xml title Configuration of the joc_install.xml file linenumbers true collapse true <?xml version="1.0" encoding="UTF-8" standalone="no"?> <!-- XML configuration file for JOC Cockpit setup The JS7 JOC Cockpit is available with a dual license model: - GNU GPL v3.0 License, see https://www.gnu.org/licenses/gpl-3.0.en.html - JS7 Commercial License, see licence.txt The setup asks you for the desired license model, see below <entry key="licenceOptions" .../> If you run the installer and do not specify a commercial license key then
...
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 - Performing the Installation
...
This step displays a progress bar for the first part of the installation procedure.
...
Step 12 - External Processes
...
Step 13 - Completion
...
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 language xml title Configuration of the joc_install.xml file linenumbers true collapse true <?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 you accept the terms of the licence agreement under the GNU GPL 2v3.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 The Itpath must be absolute! For example: /opt/sos-berlin.com/js7/joc on LinuxUnix C:\Program Files\sos-berlin.com\js7\joc on Windows --> <installpath>[:choose absolute installation path of JOC Cockpit:]</installpath> </com.izforge.izpack.panels.TargetPanel> <com.izforge.izpack.panels.UserInputPanel id="jetty"> <userInput> <!-- JOC Cockpit requires a servlet container such as Jetty. If a servlet container is 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 Cockpit with Jetty. --> <entry key="withJettyInstall" value="yes"/> <entry key="jettyPort" value="4446"/> <!-- Specify the name of the Windows serviceService or LinuxUnix Daemon (default: joc). OnlyRequired necessaryonly for multiple instances of JOC Cockpit on onethe same server. It must be The name has to be unique per server. This entry is deactivated by a comment because it MUST NOT BE CHANGEDMODIFIED DURING OVERRE-INSTALLATION! --> <!-- <entry key="jettyServiceName" value="joc"/> --> <!-- Only necessaryRequired for Windows only --> <entry key="jettyStopPort" value="40446"/> <!-- OnlyAvailable necessary for Unix only (root permissions required) --> <entry key="withJocInstallAsDaemon" value="yes"/> <!-- To enter a Enter a user account for running JOC UserCockpit (default=current Useruser). 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 LinuxUnix C:\ProgramData\sos-berlin.com\js7\joc on Windows --> <entry key="jettyBaseDir" value=""/> <!-- Choose ('yes' or 'no)' wetherwhether the JOC Cockpit's Jetty should be (re)started at the end of theafter 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 Cockpit 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 Cockpit is operated as a standby nodeinstance in a cluster --> <entry key="isStandby" value="no"/> <!-- Security Level for the deployment signing mechanism: possiblypossible values are 'LOW', 'MEDIUM' and 'HIGH': HIGH: public PGP keysRSA/ECDSA certificates are stored for verification onlyper user, all signing willis be doneperformed externally outside of JOC Cockpit. MEDIUM: aRSA/ECDSA private PGPkeys keyand willcertificates beare stored for signing per user, signing willis beperformed done automatically with the user's providedprivate key. LOW: a single RSA/ECDSA private nokey keysand willcertificate beare stored with the root account, signing will be done internally with default keysis performed automatically with the root account's private key for all users. --> <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 followingsubsequent entries such as databaseHost, databasePort, ... or by a hibernateHibernate configuration file. or you choose the embedded H2 database (for evaluation only) without further configuration. PosiblePossible values are 'withoutHibernateFile' (default), 'withHibernateFile' and 'withHibernateFileh2'. --> <entry key="databaseConfigurationMethod" value="withoutHibernateFile"/> <!-- Choose the database management system. Supported values are 'h2mysql' for H2 (for evaluation only)MySQL, 'mysqloracle' for MySQLOracle, 'oracle' for Oracle, 'mssql' for MSMicrosoft SQL Server, 'pgsql' for PostgreSQL. Used Onlyonly if databaseConfigurationMethod=withoutHibernateFile --> <entry key="databaseDbms" value="mysql"/> <!-- Path to a hibernateHibernate configuration file if databaseConfigurationMethod=withHibernateFile --> <entry key="hibernateConfFile" value=""/> <!-- You can choose between 'byInstaller', 'byJoc' or 'off' to create the database objects. Data of an already existing installation remain unchanged. <!-- YouThis canentry chooseshould betweenbe 'onoff' or 'off' to create the database tables. only when you are certain that all objects have already been created. 'byJoc' creates Ifor youupdates havedatabase modifiedobject the initialnext time dataJOC ofCockpit anis already existing installation, started. 'byInstaller' is recommended. If databaseConfigurationMethod=h2 then the modificationsobjects will be created undone.when DataJOC addedCockpit remainsstarts unchanged.and Thisthis entryvalue shouldwill be only 'off', when you sure, that all tables are already created.ignored --> <entry key="databaseCreateTables" value="onbyInstaller"/> </userInput> </com.izforge.izpack.panels.UserInputPanel> <com.izforge.izpack.panels.UserInputPanel id="dbconnection"> <userInput> <!-- Database Configurationconfiguration if databaseConfigurationMethod=withoutHibernateFile --> <!-- Enter the namehostname 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, MSMicrosoft SQL Server 1433, postgreSQLPostgreSQL 5432. --> <entry key="databasePort" value=""/> <!-- Enter the database schema --> <entry key="databaseSchema" value=""/> <!-- Enter the user nameaccount 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 configuration if databaseConfigurationMethod != h2 --> <!-- You can specify an external JDBC connector thenDriver, in this case set internalConnector = no For license reasons MySQL abdand MSMicrosoft SQL Server JDBC drivers are not providedincluded. Alternatively you can use the mariadbMariaDB JDBC Driver for MySQL whichthat is providedincluded. For MSMicrosoft SQL Server you have to specify an external JDBC connectorDriver. An Oracle ojdbc8 JDBC driver is also providedincluded. --> <!-- You can choose between 'yes' or 'no' for using the internal JDBC connector or notDriver --> <entry key="internalConnector" value="yes"/> <!-- Select the path to the JDBC Driver file (*.jar) --> <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>
Running the Installer
- Headless installation is started by opening a terminal or command window in the folder containing the
setup.*
file and by typing:Starting headless installation of the JOC Cockpit on Linux systems with root permissions
Code Block language text title Starting headless installation of the JOC Cockpit on Linux systems with root permissions /tmp/joc.[release]> ./setup.sh joc_install
.xml
Starting headless installation of the JOC Cockpit on Linux systems without root permissions
Code Block language text title Starting headless installation of the JOC Cockpit on Linux systems without root permissions /tmp/joc.[release]> ./setup.sh -u joc_install.xml
Starting headless installation of the JOC Cockpit on Windows systems
Code Block language text title Starting headless 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 working Servlet Container - either the Jetty provided with the JOC Cockpit or some other other product - 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 to display the login form as explained 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 default configuration, 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 the web service may take a minute to start and display the login form on some systems as explained below.
- 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:
...
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.
Anchor | ||||
---|---|---|---|---|
|
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.
...
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):
...
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.
...
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.
...
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.
Anchor | ||||
---|---|---|---|---|
|
Installation with Other Application Servers:
- Tips from a user on Installation with Tomcat
...