General installation
The installation of nevisDetect includes the following software packages:
| Package name | Component | Remarks |
|---|---|---|
nevisdetect-<version>.noarch.rpm | nevisDetect Persistency, nevisDetect Core, nevisDetect Feature Correlator, nevisDetect Web App, nevisDetect Controller, nevisDetect Message Bus | Contains all nevisDetect components plus an example ActiveMQ message bus |
nevisdetect-admin-<version>.noarch.rpm | nevisDetect Web App, nevisDetect Controller | Contains an embedded Tomcat servlet container. |
nevisdetect-core-<version>.noarch.rpm | nevisDetect Core | |
nevisdetect-entrypoint-<version>.noarch.rpm | nevisDetect Feature Correlator | |
nevisdetect-persistency-<version>.noarch.rpm | nevisDetect Persistency | Contains an embedded Tomcat servlet container. Contains the database schema. |
nevisdetectcl-<version>.noarch.rpm | nevisDetect AuthState | Contains the AuthState that can be integrated into nevisAuth. |
Install all software packages with the user "nvauser" and the group "nvbgroup". As a precondition, this user and group must exist.
The software packages of all components are similar from an installation point of view. Therefore, we first give a general description of the installation of nevisDetect and its components (see the subchapters below). In this general part, we use the placeholder <component> in code snippets and descriptions, instead of persistency, admin, core or entrypoint.
After discussing the installation in general, the manual proceeds with a description of each component's installation peculiarities.
File system layout
The table below describes the layout of the file system:
| Path | Description | Type |
|---|---|---|
/opt/nevisdetect/<component>/ | Read-only base directory of the installation, owned by the user "bin" and group "bin". | Installation directory |
/opt/nevisdetect/<component>/template/conf/ | Templates for runtime configuration files in /var/opt/nevisdetect/<component>/conf | |
/opt/nevisdetect/<component>/util/util.sh | Helper script used during the post-install- and pre-remove-phase of the package. | |
/opt/nevisdetect/<component>/util/nevisdetect-<component> | Command line interface (CLI) for administration. A link in /usr/bin is created during installation. | |
/opt/nevisdetect/<component>/bin/nevisdetect-<component>-exec.jar | Spring Boot jar containing the application. It must be started via the nevisdetect-<component> CLI/service script or an explicit java -jar call. | |
/opt/nevisdetect/<component>/bin/nevisdetect-<component>-server | Wrapper script that sources env.conf (JAVA_HOME, JAVA_OPTS) and starts nevisdetect-<component>-exec.jar via java -jar. Used as ExecStart in the shipped nevisdetect-<component>.service systemd unit. | |
/usr/lib/systemd/system/nevisdetect-<component>.service | Systemd unit file for the component. | |
/usr/bin/nevisdetect-<component> | Alias for /opt/nevisdetect/<component>/util/nevisdetect-<component>. | |
/var/opt/nevisdetect/<component>/ | Read/write directory of the installation, owned by the user "nevisdetect" and group "nevisdetect". | Spool directory |
/var/opt/nevisdetect/<component>/bin/nevisdetect-<component>-exec.jar | Spring Boot jar containing the application (see note above; plain, non-executable jar as of 7.2605.0.5). | |
/var/opt/nevisdetect/<component>/conf/<component>.properties | Minimal component configuration file. | |
/var/opt/nevisdetect/<component>/conf/env.conf | Configuration file for the nevisdetect-<component> service. | |
/var/opt/nevisdetect/<component>/conf/example-all-<component>.properties | Component configuration file containing all possible configuration attributes. | |
/var/opt/nevisdetect/<component>/conf/logback.xml | logback configuration file. | |
/var/opt/nevisdetect/<component>/conf/role-to-permission.properties | Role to the permission mapping file (only for the admin and persistency components) | |
/var/opt/nevisdetect/<component>/logs/nevisdetect-<component>.log | Log file(s). | |
/var/opt/nevisdetect/<component>/logs/nevisdetect-<component>.stdout | The system redirects stdout to this file. |
Software package installation
This section describes the installation of a nevisDetect component.
- First, execute the following command to install the components:
rpm -i nevisdetect-<version>.noarch.rpm
During the installation, the software is installed in /opt/nevisdetect/<component>/.
All components provide a command line interface for administration:
- Core component: nevisdetect-core
- Administration component: nevisdetect-persistency
- Persistency component: nevisdetect-admin
- Entrypoint component: nevisdetect-entrypoint
- Message bus component: nevisdetect-mq
See also the example of the nevisDetect Core component (nevisdetect-core) below:
root@nevisrdf-1:/var/opt/rpms# nevisdetect-core
usage:
nevisdetect-core start # starts the core component
nevisdetect-core stop # stops the core component
nevisdetect-core restart # restarts the core component
nevisdetect-core status # displays the status of the core component
nevisdetect-core handover # creates the default configuration of the core component
- As a subsequent step, you have to create the spool directory. For this, execute the command
nevisdetect-<component> handover.
The following happens during the handover:
- Creation of the spool directory structure (when it not already exists).
- Generation of the following files:
/var/opt/nevisdetect/<component>/conf/<component>.properties/var/opt/nevisdetect/<component>/conf/example-all-<component>.properties/var/opt/nevisdetect/<component>/conf/env.conf/var/opt/nevisdetect/<component>/conf/logback.xml
The configuration of the runtime environment of a service is located in the file env.conf.
As of nevisDetect 7.2605.0.5, nevisdetect-<component>-exec.jar is a plain (non-executable) Spring Boot jar and can no longer be run directly (for example ./nevisdetect-<component>-exec.jar). Start it via nevisdetect-<component> start or an explicit java -jar invocation.
If you maintain a custom systemd unit, stop pointing ExecStart directly at nevisdetect-<component>-exec.jar. Instead set ExecStart=/opt/nevisdetect/<component>/bin/nevisdetect-<component>-server and WorkingDirectory=/var/opt/nevisdetect/<component> so that env.conf is found, and move any custom JAVA_HOME/JAVA_OPTS into /var/opt/nevisdetect/<component>/conf/env.conf.
The following sample code block illustrates the installation of the nevisDetect Core service:
# variables used by the nevisdetect-core service script, which starts
# /var/opt/nevisdetect/core/bin/nevisdetect-core-exec.jar via "java -jar"
APP_NAME=nevisdetect-core
JAVA_OPTS="-Xmx1024M -XX:+UseG1GC -Dloader.path=/var/opt/nevisdetect/core/libs -Dlogback.configurationFile=/var/opt/nevisdetect/core/conf/logback.xml -Dlogging.config=/var/opt/nevisdetect/core/conf/logback.xml -Dspring.main.web-environment=false"
LOG_FOLDER=/var/opt/nevisdetect/core/logs
LOG_FILENAME=nevisdetect-core.stdout
# variables used by the application i.e. logback and spring
export NEVISDETECT_SPOOL_DIR=/var/opt/nevisdetect/core/
export NEVISDETECT_APP_NAME=nevisdetect-core
During the handover, the following minimal component configuration file is created: /var/opt/nevisdetect/<component>/conf/<component>.properties. This file only contains required configuration attributes related to the connectivity of the components of nevisDetect. Therefore, you need to further configure the file. The following code block gives an example of such a configuration for the nevisDetect Core component:
# JMS connectivity
jms.client.brokerURL=ssl://nevisrdf-1.zh.adnovum.ch:8282
jms.client.keyStore=file:/var/opt/neviskeybox/default/rdf-dev/core_keystore.jks
jms.client.keyStorePassword=rdf-core
jms.client.trustStore=file:/var/opt/neviskeybox/default/rdf-dev/truststore.jks
jms.client.trustStorePassword=rdf-test
# HTTP client SSL configuration
http.client.keyStore=file:/var/opt/neviskeybox/default/rdf-dev/core_keystore.jks
http.client.keyStorePassword=rdf-core
http.client.trustStore=file:/var/opt/neviskeybox/default/rdf-dev/truststore.jks
http.client.trustStorePassword=rdf-test
#URL of the persistency service
persistency.server.URL=https://nevisrdf-1.zh.adnovum.ch:8181/nevisdetect/persistency
Software package de-installation
To deinstall all nevisDetect components, run the following command:
rpm -e nevisdetect-<version>.noarch
During the deinstallation, the services are stopped and deregistered. The spool directory is not modified, so a subsequent installation will have the same configuration.