This is documentation of a bèta release.
For documentation on the current version, please check Knowledge Base.

Orbit 3DM Publisher on Ubuntu

This page documents only additional remarks on installing Orbit on Ubuntu.
For documentation on Orbit 3DM Publisher see, Install Orbit 3DM Publisher.

Going for Linux requires the system administrator to be able to manage the OS properly.

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 to install or manage the service.
It is possible to run the Orbit EOS Service as a root user, but this might conflict with your security policy.
Complete all actions with the same user to avoid file access permission issues. If needed, check and change ownership and permissions on all files.

Installation directory

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

Editing configuration files

We advise using 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 malfunctioning.

Installation files

The Linux Publisher installation files are provided as a 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 the 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 the 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/program/bin/ executable:

$ cd /opt/orbit_3dm_publisher/program/bin
$ chmod 775 *

Configure Orbit Publisher Service Account

Enter Service Account in /opt/orbit_3dm_publisher/program/bin/publisher_3dm file:

RUN_AS_USER=XXX

Install, Start, Stop, or Remove Orbit EOS Service

Install Orbit EOS Service:

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

Start Orbit EOS Service:

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

Stop Orbit EOS Service:

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

Remove Orbit EOS Service:

$ cd /opt/orbit_3dm_publisher/program/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 3DM Publisher 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:: 2024/01/11 09:32