Orbit 3DM Publisher on Ubuntu

This page documents only additional remarks to install Orbit on Ubuntu.
Guidelines to install the Publisher are available here: Orbit Server Installation.

Going for Linux requires the system administrator to have good knowledge of using and managing the OS.

Requirements and Precautions

Java 11
Java 11 is available for Ubuntu LTS 18.03 or later.

Dedicated Service Account
We advise creating a dedicated “orbit” user account to install and start the Orbit EOS service. This user will also need sudo rights in order to install or manage the service.
It is possible to run the Orbit EOS Service as root user, but this might conflict with your security policy.
Complete all actions with one and the same user to avoid file access permission issues. If needed, check and change ownership and permissions on all files.

Installation directory
We advise to install the Publisher in /opt/orbit_3dm_publisher.
Make sure this location is accessible by the service account and has at least 1Gb of free disk space.

Editing configuration files
We advise to use a Linux text editor e.g. vi, nano, gedit, … to edit the configuration files. Dos (Windows), manipulated text files can contain extra characters, which may lead to the malfunctioning of the Orbit EOS Service.

Installation files
The Linux Publisher installation files are provided as zip-package. Contact the Support Team for the most recent version.

Install Java

Install Java 11 using APT package manager:

$ sudo apt install openjdk-11-jre-headless

Configure Java 11 as default java version:

$ sudo update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).
 
  Selection    Path                                            Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      auto mode
* 1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      manual mode
  2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode
 
Press <enter> to keep the current choice[*], or type selection number: 1

Verify Java 11 is set as default java version:

$ java -version
openjdk version "11.0.7" 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-2ubuntu218.04)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-2ubuntu218.04, mixed mode, sharing)

Unpack Orbit installation files

Install the unzip utility:

$ sudo apt update
$ sudo apt install unzip

Copy and unpack archive to /opt/orbit_3dm_publisher:

$ cd /opt/orbit_3dm_publisher
$ unzip publisher.zip

Make all files in /opt/orbit_3dm_publisher/bin/ executable:

$ cd /opt/orbit_3dm_publisher/bin
$ chmod 774 *

Configure Orbit EOS Service Account

Enter Service Account in /opt/orbit_3dm_publisher/bin/eos file:

RUN_AS_USER=XXX

Install, Start, Stop or Remove Orbit EOS Service

Install Orbit EOS Service:

$ cd /opt/orbit_3dm_publisher/bin
$ sudo ./serviceinstall

Start Orbit EOS Service:

$ cd /opt/orbit_3dm_publisher/bin
$ sudo ./servicestart

Stop Orbit EOS Service:

$ cd /opt/orbit_3dm_publisher/bin
$ sudo ./servicestop

Remove Orbit EOS Service:

$ cd /opt/orbit_3dm_publisher/bin
$ sudo ./serviceremove

Unprivileged ports

On Linux, only services started by the 'root' user can use privileged ports (ports < 1024).
If the Orbit EOS Service is required to run on a privileged port, we can advise two options:

a) Setup 'root' as the service user (not recommended).
b) Patch Java using setcap, and Stop automatic Java updates, as the patch gets invalidated after an update.

Get the location of the java binary:

$ update-alternatives --display java
java - manual mode
  link best version is /usr/lib/jvm/java-11-openjdk-amd64/bin/java
  link currently points to /usr/lib/jvm/java-11-openjdk-amd64/bin/java
  link java is /usr/bin/java
...

Patch the java binary (use the path after “link currently points to”):

$ sudo /sbin/setcap 'cap_net_bind_service=ep' /usr/lib/jvm/java-11-openjdk-amd64/bin/java

The java binary now has the extra capability of using a privileged port.
To update the port used by Orbit 3DM Publisher, see Orbit Enterprise Service.

Disable java updates for a package (use the package name used to install java):

$ sudo apt-mark hold openjdk-11-jre-headless
 
Last modified:: 2021/10/12 09:48