Installation Guide
Ensure preconditions (database, Docker, etc.)
Check whether the prerequisites specified in Before installation have been met .
Adjust Oracle configuration
If you are using an Oracle database in the context of OMN, you must adapt the parameter job_queue_processes (< = 10) according to the Oracle version / hardware.
Subscribe to official Red Hat channels
The following Red Hat channels must be subscribed to:
-
rhel-9-server-rpms
-
rhel-9-server-optional-rpms
Additional packages
The packages that cannot be loaded through the official Red Hat channels can be requested from apollon GmbH + Co. KG.
Include additional hard drives
Depending on the system structure and the desired dimensioning, the following additional hard disks must be integrated if you are not using HELIOS:
OMN WEB (web)
-
/usr/local/omn
-
Recommended size: cp. Recommended dimensioning
-
User and group for the directory: Tomcat
-
-
/omn/previews
-
Recommended size: 10% of the expected data
-
User and group for the directory: Tomcat
-
-
/omn/tmp
-
Recommended size: three times the size of the data processed by OMN
-
User and group for the directory: Tomcat
-
OMN APP (app) / OMN WORKER (wrk)
-
/usr/local/omn
-
Recommended size: cp. Recommended dimensioning
-
User and group for the directory: Tomcat
-
Installation of OMN
It is not recommended to install the OMN-RPM with "skip dependencies" or similar options, as this can lead to undesired behavior of the software.
Necessary dependencies
-
Java 2 Runtime Environment
-
OpenLDAP
-
SWFTools
-
ImageMagick
-
Ghostscript
-
MediaInfo
-
FFMpeg
-
ExifTools
-
Apache Daemon - JSVC
-
Pdf2Svg
-
LibreOffice
-
DTSXMP
-
Red5 Media Server
-
OpenOffice
OMN Components
In addition to OMN, the following components can be installed. The components are available either as an RPM or as a Docker image. The installation of the following components are included in this guide:
| Included Components | Not Included Components |
|---|---|
OMN (RPM) OMN Dashboard (RPM) |
CMIS-Server |
Description of the RPMs
Example: omn-5.5.5-17135.el7.noarch.rpm
| Part of the RPM identifier | meaning |
|---|---|
omn-5.3.0 |
OMN version |
14244 |
OMN Build Version |
el7 |
Red Hat Enterprise Linux version 7 |
noarch |
Indicates that this is an architecture-independent version acts (32/64 bit). |
Install RPM
-
You need a user with sudo privileges
-
Connect to the target system (SSH) via the terminal
-
Deploy the OMN RPM on the system
-
Install OMN components (RPMs)
yum install omn
yum install omn-cc5-api
yum install omn-api
yum install omn-eai
yum install omn-versioning
yum install omn-search-plugin
yum install omn-dashboard-plugin
# Alternatively: yum install omn omn-cc5-api omn-api omn-eai omn-versioning omn-search-plugin omn-dashboard-plugin
Install DTSXMP
-
The DTSXMP RPM is not available in apollon Spacewalk. You can download the RPM here: dtsxmp-3.1.1-15.el9.x86_64.rpm
-
Copy the RPM to the target system
scp dtsxmp-3.1.1-15.el9.x86_66.rpm root@target-system.pd.apollon.de:/root/
-
Establish a connection to the target system
ssh root@target-system.pd.apollon.de
-
Install the DTSXMP RPM
cd /root
yum install dtsxmp-3.1.1-15.el9.x86_64.rpm
Installation of the reverse proxy (optional)
A reverse proxy (NGINX) is not absolutely necessary for OMN5 and therefore optional.
It is used to accept the connection to the OMN5 URL or the NGINX on the OMN web server. This can also be done, for example, by an alternative reverse proxy or a load balancer that is configured accordingly. This must enable forwarding to the nHTML5 container.
You only have to be able to accept the connection to the OMN5 URL or the NGINX on the OMN web server. This can be, for example, via a reverse proxy or a load balancer at the customer’s with corresponding forwarding to the HTML5 container.
Example configuration of an NGINX reverse proxy:
-
Connect to the appropriate host via ssh
-
cd into the directory
/data/nginx/etc/nginx/sites-enabled/
-
Create a new file such as html5-test11 with the following configuration
server { Listen 443 ssl http2; Server_name html5-test123.pd.apollon.de; # change to your url Server_tokens off; Access_log /var/log/nginx/html5-test123_access.log; # change to your server Error_log /var/log/nginx/html5-test123_error.log; # change to your server Location { Proxy_pass https://test-123.pd.apollon.de:443/; # change to your server } } -
Check if the NGINX configuration is OK:
docker exec nginx nginx -t
-
If the configuration is ok, reload NGINX:
docker exec nginx service nginx reload
Access to Docker Images
Some OMN and 3rd party components are deployed as Docker images that are available in corresponding Docker Registries. Before you continue with OMN installation process you should ensure that you…
-
understand Docker
-
have access to Docker Images
Docker
Docker images are templates for creating a Docker containers. A Docker container is a running instance of a Docker image and a loosely isolated environment that "contains" application(s). Docker images are stored in Docker Registries.
For more details check Docker overview
How to get OMN Docker Images…
as external Administrator/Developer
For the provision of all necessary Docker containers, we will set up a user on our Nexus (ext. Dockerhub) who has access to the required containers. Please contact us.
Registration with user and password at hub.apollon.de
as internal (apollon) Administrator/Developer
-
Use the apollon Docker Registry to get corresponding Docker Image:
registry-docker.apollon.de
Installation of the OMN GUI
OMN GUI (HTML5) is installed via Docker on the OMN-WEB host.
Configure
-
Install Docker Compose (or let DevOps install it) if not yet done
-
Create directory
/etc/docker-compose/omn-ui
-
Create directory
/etc/docker-compose/omn-ui/configfiles
-
Create file
/etc/docker-compose/omn-ui/configfiles/omn-ui-settings.conf
resolver DNS_SERVICE_IP; # IP of the DNS Service. Can be found in /etc/resolv.conf e.g. 127.0.0.11 if running locally set $omnsrv IP; # Host IP e.g 172.16.16.9 set $omnmand MANDATOR; # OMN Mandator server_name HTML5 DNS NAME; # e.g html5-test11.pd.apollon.de
-
Create file
/etc/docker-compose/omn-ui/docker-compose.yml
version: '3' services: omn-ui: image: hub.apollon.de/omn/ui:5.6.0 container_name: omn-ui restart: always ports: - "0.0.0.0:80:80" - "0.0.0.0:443:443" volumes: - ./configfiles/omn-ui-settings.conf:/etc/nginx/conf.d/omn-ui/omn-ui-settings.conf -/omn/previews:/omn/previews:ro - /etc/docker-compose/omn/configfiles/omn-ui/fullchain.pem:/etc/nginx/conf.d/ssl.crt - /etc/docker-compose/omn/configfiles/omn-ui/privkey.pem:/etc/nginx/conf.d/ssl.key -
Execute the following command:
docker-compose up -d
Available UI Docker Images
OMN UI Docker Images are available for
-
Released OMN versions (for PROD systems):
registry-docker.apollon.de/devops/omn/ui
-
Snapshot OMN versions (for DEV/TEST/DEMO systems):
registry-docker.apollon.de/omn/ui
Installation of OMN Search
OMN Search consists of several components:
-
OMN Search Plug-in (RPM)
-
ElasticSearch (Docker Image, cf. www.elastic.co/)
-
Cerebro (optional)
-
Kibana (optional)
-
The OMN Search Plug-In should already be installed (cp. Install RPMs). Now the Docker image with the Elastic components has to be installed.
For the provision of all necessary Docker containers, we will set up a user on our Nexus (ext. Dockerhub) who has access to the required containers. Please contact to us.
-
Registration with user and password at hub.apollon.de
-
Create the file
/etc/docker-compose/elastic/docker-compose.yml
version: '3' services: elasticsearch: image::en@ hub.apollon.de/product/docker/elasticsearch:7.2.1 ports: - 9200:9200 - 9300:9300 volumes: - omn-elastic:/usr/share/elasticsearch/data environment: - node.name=es01 - cluster.name=omn-search - cluster.initial_master_nodes=es01 - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: memlock: soft: -1 hard: -1 healthcheck: test: curl -s http://localhost:9200 >/dev/null; if [[ $$? == 52 ]]; then echo 0; else echo 1; fi interval: 30s timeout: 10s retries: 5 cerebro: image::en@ lmenezes/cerebro:0.8.4 ports: - 9100:9000 healthcheck: test: curl -s http://localhost:9000 >/dev/null; if [[ $$? == 52 ]]; then echo 0; else echo 1; fi interval: 30s timeout: 10s retries: 5 kibana: image::en@ docker.elastic.co/kibana/kibana:7.2.0 ports: - 5601:5601 healthcheck: test: curl -s http://localhost:5601 >/dev/null; if [[ $$? == 52 ]]; then echo 0; else echo 1; fi interval: 30s timeout: 10s retries: 5 volumes: omn-elastic: -
Set parameter vm.max_map_count to at least 262144
-
Command for a live system:
sysctl -w vm.max_map_count = 262144
-
-
Add properties:
| Properties file | Key=Value |
|---|---|
omn_auth.properties |
es.mandator = MandatorIdentifier es.hosts = localhost: 9200 |
# --- optional --- es.shards = 1 es.replicas = 0 es.fields-limit = 4000 es.sniffer.enabled = false es.update.batch-size = 100 es.update.workers = 1 es.mandator = DefaultMandator es.time-zone = Europe / Berlin es.init.force-reindex = false es.search.maxTrackTotalHits = 100000 es.suggest.count.max = 20 es.suggest.count.default = 10 es.suggest.minTextLength = 3 es.doc-builder.workers = 4 es.doc-builder.asset.batch-size = 500 es.doc-builder.channel.batch-size = 250 es.doc-builder.product.batch-size = 250 es.index.allow.rebuild = true es.index.allow.update = true |
|
omn_eai.properties |
omn.eai.common.mandatorName = MandatorIdentifier omn.eai.common.environment = CustomerENV omn.eai.exporter.cm.exportAllowedFunctions = true |
jwt_filter.properties |
api.secrets = {api: 'Heureka10', frontend: 'c04a3977-d082-4178-b5d8-00e8caeb0fff'} jwt.expire.max = 72000000 |
omn_api.properties |
api.secrets = {api: 'Heureka10', frontend: 'c04a3977-d082-4178-b5d8-00e8caeb0fff'} |
-
Start the docker-compose:
docker-compose up -d
Installation of the database driver
Install the Oracle or Microsoft SQL JDBC jars by using these Save under / usr / local / omn / codebase / jdbc-driver /.
And change the rights to the Tomcat user.
Installation of the Samba server
A Samba server must be installed on the web system (OMN WEB) and configured, which the directories omn / previews and omn / temp enables (see step 3). This is only necessary if not all components are installed on one host.
Including the shares
On the APP and WORKER system, the steps in the previous step set up releases can be integrated via the CIFS protocol. The Shares must be attached to the systems via the Tomcat user become. We recommend the same path structure as on the WEB system to take over.
Installation of the LDAP server
Install an OpenLDAP service on the WEB system, which the Can manage users of the OMN.
-
To do this, create an object of the Country type on the OpenLDAP and create an object of the type organziationName in it.
-
Then create two objects of the type organizationalUnits.
-
An OU “groups” and
-
an OU "users".
-
-
Create two Common Names type objects:
-
"manager-gui" and
-
"monitoring" in the object groups.
-
-
Create a domain and in it a "binduser" type object organizationalUnit.
-
In the "binduser" OU a person has to "jndirealm" with a password to be created.
-
Change the rootpw in your OpenLDAP configuration file and add Later in the omn_auth (see step “Basic settings of the OMN Systems ") configuration file.