Page History
Table of Contents |
---|
Introduction
The JOC Cockpit can be installed on Linux and Windows systems without the use of a graphical installer by running the JOC Cockpit installer in headless mode. See the JS7 - JOC Cockpit - Installation Using the Linux/Windows Graphical Installer article for instructions on the use of a graphical installer.
Prerequisites
The following requirements have to be met before the JOC Cockpit can be installed and operated:
...
- To run the installer in graphical mode see JS7 - JOC Cockpit - Installation Using the Linux/Windows Graphical Installer.
- Installation in headless mode is described below.
Installer Archive
Extract the JOC Cockpit archive to a suitable directory such as /home/<user-account>
on Unix systems or C:\user\<user-account>
on Windows systems.
The extracted installer directory layout looks like this:
...
- The JOC Cockpit makes use of the
joc_install.xml
file which includes installer options such as the installation directory, ports etc. - Customers with a commercial license should choose the relevant license option and specify the location of the license key file with the installer response file.
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="licenseOption" .../> 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.UserInputPanel id="licenses"> <userInput> <!-- Select the license model (GPL or Commercial) --> <entry key="licenseOption" value="GPL"/> <!-- If you select GPL as license model than the 'licenseFile' must be empty. Otherwise please enter the path to the license file if available. It is also possible to add the license file later. --> <entry key="licenseFile" value=""/> </userInput> </com.izforge.izpack.panels.UserInputPanel> <com.izforge.izpack.panels.HTMLLicencePanel id="gpl_license"/> <com.izforge.izpack.panels.HTMLLicencePanel id="commercial_license"/> <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>
...
Note: Do not omit specifying the joc_install.xml
response file as a command line argument when executing setup.sh
or setup.cmd
. If the response file os is not specified, the graphical installer will be invoked as described in the JS7 Installation: How to install the JS7 JOC Cockpit on premises using the Graphical Installer article.
...
/opt
(Unix installation directory),Program Files
(Windows installation directory)sos-berlin.com
js7
joc
(installation directory).jocinstallinformation
(installation response file, remains in place after uninstall)jetty_base
(symbolic link to configuration directory)install
(directory with Jetty installer scripts and *.sql files to populate the database)install_jetty_base.sh|cmd
joc_install_tables.sh
,|cmd
(creates or updates database objects, used for JS7 - Rescue in case of lost access to JOC Cockpit)joc_manage_identity_service.sh|cmd
(used for JS7 - Identity Services)update_jetty_base.sh|cmd
jetty
(directory for Jetty binary files and scripts)jetty_base
(symbolic link to configuration directory)license.gpl
(plain text format of license terms for the Open Source JS7 - License)license.html
(HTML format of license terms for the commercial JS7 - License)license.txt
(plain text format of license terms for the commercial JS7 - License)ThirdParty.txt
(lists the the 3rd party components and licenses used by JS7)db
(directory for DBMS *.sql scripts to populate the database)h2
mssql
mysql
oracle
pgsql
install
(directory with Jetty installer scripts)install_jetty_base.sh|.cmd
(used by installer)install_jetty_service.sh
(used by installer for Unix)joc_install_tables.sh
,|.cmd
(creates or updates database objects, used for JS7 - Rescue in case of lost access to JOC Cockpit)joc_manage_identity_service.sh|.cmd
(see JS7 - Shiro Identity Service Migration)uninstall_jetty_service.sh
(used by installer for Unix)update_jetty_base.sh|.cmd
(used by installer)
jetty
(directory for Jetty binary files and scripts)bin
anonymize-logs.sh|.cmd
(used to anonymize log files, see JS7 - Log Anonymization)jetty.sh
(start script for JOC Cockpit Unix daemon)joc.service
(sample file for use with JS7 - systemd Service Files for automated Startup / Shutdown with Unix Systems)
lib
(directory for user specific configurations)log4j2.xml
(used for based console logging to stdout, see JS7 - Logging)patches
(used for JS7 - Patches for JOC Cockpit, the directory is cleaned up when running the installer)user_lib (
used for individual .jar files such as JDBC Drivers, see JS7 - Database)
service
(directory for operation as a Windows Service)install_jetty_windows_service.cmd
(used by installer)js7_joc.exe, js7_jocw.exe
(used for start-up and configuration of the service, see JS7 - How To - Apply Java Options)set_java_home_for_jetty_windows_service.cmd
(see JS7 - Troubleshooting - JOC Cockpit Windows Service does not start)start_jetty_windows_service.cmd
(used by installer)uninstall_jetty_windows_service.cmd
(used by installer
service
(directory for operation as a Windows Service- )
Uninstaller
(Uninstaller directory, the empty directory remains in place after uninstall).jocinstallinformation
(installation response file, remains in place after uninstall)joc_install.xml
(installer response file, remains in place after uninstall)uninstaller.jar
(binary file of the uninstaller)uninstall.sh|cmd
(script to invoke uninstaller)
/var
(Unix configuration directory), ProgramData
(Windows configuration directory)sos-berlin.com
js7
joc
jetty_base
(configuration directory)joc_home
(symbolic link to installation directory)start.ini
(Jetty servlet container configuration file, remains in place after uninstall)archive
(directory for JOC Cockpit versions before applying patches, remains in place after uninstall)lib
(directory for Java libraries, remains in place after uninstall)logs
(directory for log files files, remains in place after uninstall)resources
(directory for configuration files, remains in place after uninstall)joc
(directory for configuration files, remains in place after uninstall)hibernate.cfg.xml
(Hibernate configuration file for database access, remains in place after uninstall if modified)joc.properties
(JOC Cockpit configuration file, remains in place after uninstall)log4j2.xml
(log configuration file, remains in place after uninstall if modified, see JS7 - Logging)shiro.ini.active
(Shiro configuration file reporting if the JS7 - Shiro Identity Service is used. This file reports the currently active configuration, remains in place after uninstall)shiro.ini-example
(Shiro example configuration file if the JS7 - Shiro Identity Service is used)lib
(optional directory for JDBC Drivers and licensed binary code)license
(optional directory for license certificate files, remains in place after uninstall)xsd
(directory for XSD schema files, remains in place after uninstall)
temp
(directory for temporary files, remains in place after uninstall)webapps
(directory for JOC Cockpit installation)joc
(directory for JOC Cockpit GUI files and patches)WEB-INF
classes
(directory for resource files and JS7 - Patches for JOC Cockpit)lib
(Java binary files)
root
/home/<user-account>
(Unix home directory).jocrc
(user profile script applied on start-up of JOC Cockpit)
...
If the checkbox is not selected, configuration files will be left in both the JOC Cockpit installation folder and the Jetty servlet container installation folder (if installed with the JOC Cockpit).
Automated
...
Start-up and Shutdown
For Unix systems a start-up and shutdown configuration can be used that is executed by systemd
running with the root
account.
...