Deployment
nevisIDM uses a standalone embedded container for deployment. There is no need to install a separate container.
Setup
Use the following command to create an nevisIDM instance:
nevisidm inst create <instance>
This command will create a new instance in the /var/opt/nevisidm/<instance>
directory, with the following folder structure:
Type | Description | Default Location |
---|---|---|
config | The location of the configuration files. | /var/opt/nevisidm/<instance>/conf |
data | The location of the persistent files. | /var/opt/nevisidm/<instance>/data |
log | The location of the log files. | /var/opt/nevisidm/<instance>/log |
tmp | The location of the temporary files of the standalone embedded container. | /var/opt/nevisidm/<instance>/tmp |
Instance creation will add default configuration files, which you can adjust according to your needs. The following configuration files control the behavior of nevisIDM:
Configuration file | Deployment type | Remarks |
---|---|---|
env.conf | all | Administration command and process environment: JAVA_HOME (optional): use specified JRE/JDK, all other parameters should not be changed. JAVA_OPTS : JVM command-line options, either in single line format or in mutiple line between parentheses. |
logging.yml | all | Logging configuration |
nevisidm-prod.properties | all | Application configuration Server configuration: |
Example of multiline JAVA_OPTS:
JAVA_OPTS=(
"-Xms512m"
"-Xmx2048m"
)
The following commands are supported:
start
stop
status
restart
inst create
When you install nevisidm in a production environment, change the encryption key for encrypted properties. For this, execute the nevisidm config
command and look for the nevisidm-prod.properties
file.
Starting with nevisIDM version 2.77, the Oracle driver (jar) is not bundled into the application anymore for legal reasons and must be provided externally. For further information, refer to the chapter Database Preparing.
The location of the temporary files of the standalone embedded container can be changed by -Djava.io.tmpdir=/path/to/tmpdir
. This property can be provided via JAVA_OPTS in the env.conf
.
Environment configuration
As the first priority, nevisIDM uses the Java installation defined by the configuration property JAVA_HOME in the env.conf file. If the JAVA_HOME property is not set, the Java version as defined in the PATH environment variable is used.
To define the usage of a specific Java installation, we recommend setting the configuration property JAVA_HOME in the env.conf file:
Example
JAVA_HOME=/etc/alternatives/jre_1.8.0
Server configuration properties
You can configure the server settings through the properties in the nevisidm-prod.properties file.
Standalone server command-line interface
For standalone deployments, the standalone command-line interface (CLI) provides a low level interface to run the server process. You can use the standalone CLI to start nevisIDM without involvement of other system components like for example systemd. You find the standalone script at /opt/nevisidm/bin/nevisidm-server
. It provides the following command line options:
Command line argument | Remarks | Default |
---|---|---|
-c, --config PATH | Required. Path to the configuration file nevisidm-prod.properties . | No default. |
-n, --name NAME | Unique name for that nevisIDM instanceOverrides the value of the property server.name (in the nevisidm-prod.properties file). | See the server.name property in the nevisidm-prod.properties file. |
-p, --port PORT | The HTTP/S port to listen on. TLS must be configured in the config file and not as an argument. Overrides the value of the property server.port (in the nevisidm-prod.properties file). | See the server.port property in the nevisidm-prod.properties file. |
-H, --host HOST | The HTTP/S host to bind on. Overrides the value of the property server.host (in the nevisidm-prod.properties file). | See the server.host property in the nevisidm-prod.properties file. |
--log-config PATH | Log configuration file to be used. If a log configuration is provided, nevisIDM will use the given configuration file to determine how logging should behave. If no configuration file is provided, nevisIDM will log to the console by default. | Not set. |
-V, --version | Display version and exit with status code 0. | |
-h, --help | Shows complete and detailed usage and exit with status code 0. |
Command-line arguments always prevail over properties in the nevisidm-prod.properties
file.
Example usage of the standalone CLI
Execute the following commands to start an existing nevisIDM instance named "default" without using systemd / init.d to manage the service:
# set working directory
cd /var/opt/nevisidm/default
# 1) set environment variables from env.conf and start nevisidm standalone deployment
# 2) use subshell to not interfere with environment variables
(set -a && source $(pwd)/conf/env.conf && set +a && \
/opt/nevisidm/bin/nevisidm-server \
--config $(pwd)/conf/nevisidm-prod.properties \
--log-config $(pwd)/conf/logging.yml)