Page History
Table of Contents |
---|
Anchor | Installation_Requirements | Installation_Requirements |
Introduction
- The JOC Cockpit can be installed on Linux and Windows systems without use of a graphical installer by running the JOC Cockpit installer in headless mode.
- Technically the JOC Cockpit can be operated for any Unix environment, however, the JS7 - Platforms include support for JOC Cockpit operation with Linux.
Prerequisites
The following requirements have to be met before
...
JOC Cockpit can be installed and operated:
- A Java Runtime Environment starting from version 1.8 is required. For details see Which Java versions is JobScheduler available for?
- JOC Cockpit requires access to a database to store inventory information, status information and workflow related logs, see JS7 - Database.
- Installation of JOC Cockpit requires administrative permissions:On Windows systems:
- The setup asks for administrative permissions.On Unix systems:
- Root permissions are required when the if JOC Cockpit is to be installed with the Jetty servlet container. If the Jetty is operated 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 setup script should be executed with the
-u
argument, otherwise thesudo
prompt will ask for the root password.
- for Windows systems:
- The setup asks for administrative permissions.
- The setup asks for administrative permissions.On Unix systems:
Download
- Download the JOC Cockpit installer archive for the your target system environment from the JS7 - Download page.
- For Unix systems:
- A tarball archive including the installer is available that can be used to run the installer in headless mode.
js7_joc_linux.<release>.tar.gz
- A tarball archive including the installer is available that can be used to run the installer in headless mode.
- For Windows systems:
- A .zip archive including the installer is available that can be used to run the installer in headless mode.
js7_joc_windows.<release>.zip
- A .zip archive including the installer is available that can be used to run the installer in headless mode.
- For Unix systems:
- The .tar.gz/.zip archives can be used to install the JOC Cockpit with the graphical installer or by for headless installation with both 32 bit and 64 bit operating systems.
Installation in Headless Mode
Installation
...
The installer is available for Windows and Unix systems.
- To run the installer in graphical mode see JS7 - JOC Cockpit - Use of Graphical Installer.
- To run the installer in headless mode consider the below information.
Installer
...
Archive
- Extract the JOC Cockpit archive to a suitable directory such as
/home/<user-account>
on Unix systems orC:\uses\<user-account>
on Windows systems.
The resulting installer directory layout looks like this:
hibernate-examples
hibernate-integrated-security-mssql.cfg.xml
hibernate-maria-mysql.cfg.xml
hibernate-oracle12c.cfg.xml
hibernate-postgres.cfg.xml
install-joc.txt
joc.<release>.jar
joc_install.xml
license.gpl
license.txt
setup.sh|cmd
Installer Response File
- The JOC Cockpit makes use of the
joc_install.xml
file that includes installer options such as installation path, ports etc. 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-
- 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 license.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 at the same time you accept the terms of the license agreement under the GNU GPL v3.0 License. --> <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 path must be absolute! For example: /opt/sos-berlin.com/js7/joc on Unix 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 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 Service or Unix Daemon (default: joc). Required only for multiple instances of JOC Cockpit on the same server. The name has to be unique per server. This entry is deactivated by a comment because it MUST NOT BE MODIFIED DURING RE-INSTALLATION! --> <!-- <entry key="jettyServiceName" value="joc"/> --> <!-- Required for Windows only --> <entry key="jettyStopPort" value="40446"/> <!-- Available for Unix only (root permissions required) --> <entry key="withJocInstallAsDaemon" value="yes"/> <!-- Enter a user account for running JOC Cockpit (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 Unix C:\ProgramData\sos-berlin.com\js7\joc on Windows --> <entry key="jettyBaseDir" value=""/> <!-- Choose 'yes' or 'no' whether the JOC Cockpit's Jetty should be (re)started after 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 instance in a cluster --> <entry key="isStandby" value="no"/> <!-- Security Level for the deployment signing mechanism: possible values are 'LOW', 'MEDIUM' and 'HIGH': HIGH: RSA/ECDSA certificates are stored for verification per user, signing is performed externally outside of JOC Cockpit. MEDIUM: RSA/ECDSA private keys and certificates are stored for signing per user, signing is performed automatically with the user's private key. LOW: a single RSA/ECDSA private key and certificate are stored with the root account, signing is 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 subsequent entries such as databaseHost, databasePort, ... or by a Hibernate configuration file. or you choose the embedded H2 database (for evaluation only) without further configuration. Possible values are 'withoutHibernateFile', 'withHibernateFile' and 'h2'. --> <entry key="databaseConfigurationMethod" value="withoutHibernateFile"/> <!-- Choose the database management system. Supported values are 'mysql' for MySQL, 'oracle' for Oracle, 'mssql' for Microsoft SQL Server, 'pgsql' for PostgreSQL. Used 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 'byInstaller', 'byJoc' or 'off' to create the database objects. Data of an already existing installation remain unchanged. This entry should be 'off' only when you are certain that all objects have already been created. 'byJoc' creates or updates database object the next time JOC Cockpit is started. 'byInstaller' is recommended. If databaseConfigurationMethod=h2 then the objects will be created when JOC Cockpit starts and this value will be ignored --> <entry key="databaseCreateTables" value="byInstaller"/> </userInput> </com.izforge.izpack.panels.UserInputPanel> <com.izforge.izpack.panels.UserInputPanel id="dbconnection"> <userInput> <!-- Database configuration if databaseConfigurationMethod=withoutHibernateFile --> <!-- Enter the hostname 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 be left empty. --> <entry key="databaseHost" value=""/> <!-- Enter the port number for the database instance. Default ports are for MySQL 3306, Oracle 1521, Microsoft SQL Server 1433, PostgreSQL 5432. --> <entry key="databasePort" value=""/> <!-- Enter the database schema --> <entry key="databaseSchema" value=""/> <!-- Enter the user account 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 if databaseConfigurationMethod != h2 --> <!-- You can specify an external JDBC Driver, in this case set internalConnector=no For license reasons MySQL and Microsoft SQL Server JDBC drivers are not included. Alternatively you can use the MariaDB JDBC Driver for MySQL that is included. For Microsoft SQL Server you have to specify an external JDBC Driver. An Oracle ojdbc8 JDBC driver is included. --> <!-- You can choose between 'yes' or 'no' for using the internal JDBC Driver --> <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>
...
Performing headless installation of JOC Cockpit on Unix systems with root permissions
Code Block language text title Starting headless installation of the JOC Cockpit on Unix systems with root permissions /home/<user-account>/joc.[release]><release> ./setup.sh joc_install.xml
Performing headless installation of JOC Cockpit on Unix systems without root permissions
Code Block language text title Starting headless installation of the JOC Cockpit on Unix systems without root permissions /home/<user-account>/joc.[release]><release> ./setup.sh -u joc_install.xml
Performing headless installation of JOC Cockpit on Windows systems
Code Block language text title Starting headless installation of the JOC Cockpit on Windows systems C:\users\<user-account>\joc.[release]> <release> setup.cmd joc_install.xml
Installation Directory Layout
If the Jetty servlet container provided included with JOC Cockpit is installed then files will be added by default
...
If the Jetty servlet container provided included with JOC Cockpit is not installed and no previous configuration files are found in the Program Files
\sos-berlin.com\js7\joc
directory then by default files will be added only to the Program Files
\sos-berlin.com\js7\joc
directories only.
If configuration files are found in Program Files
\sos-berlin.com\js7\joc
directory then files will be added to the ProgramData\sos-berlin.com\js7joc
and Program Files
\sos-berlin.com\js7\joc
directories as described explained above.
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 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 the 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.
Update
- Empty the browser cache after update of the JOC Cockpit.
Info title TO BE DONE This is the wrong approach. The correct approach is to chase Sourabh to automatically clear the browser cache for any browser products after updates. I was trying to do so in vain for the last few months, maybe you will be more successful. Good luck.
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
...
Updating
- Empty the Browser cache after update of the JOC Cockpit.
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 release number and<
date-time>
refers to the point in time of installation.
- For further information about logging see JS7 - Logging.
Deinstallation
The JOC Cockpit can be uninstalled using the uninstall.cmd
and uninstall.sh
scripts available from the following locations:
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 locatin:
- for Unix systemsFor Unix systems:
/opt/sos-berlin.com/js7/joc/Uninstallerresources/joc
- For for Windows systems:
C:\Program Files\sos-berlin.com\js7\joc\resources\Uninstaller
Windows systems
...
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
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:
/opt/sos-berlin.com/js7/joc/resources/joc
- 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
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 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 the 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
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.
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/jocUninstaller
- on For 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.
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 boththe 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. 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.
Cluster Operation
Please consider that operating a JOC Cockpit cluster for high availability requires a commercial license, see JS7 - Licensing.
...
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 member and standby cluster members.
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.
Automated Start-up and Shutdown
...