Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The following must be installed on the server:

WCS can be configured to work in networks of varying topology, for instance, behind corporate NAT or for using a public IP address to services external clients. For quick setup and evaluation of WCS capabilities we recommend using a VPS or a dedicated server with a static and public IP address that is also the IP address of the network interface of the same server. Usually, such a virtual or dedicated server can be rented from a number of providers.

Supported Linux distribution packages

Any distribution package will do: CentOS, Debian, Ubuntu, RedHat, Fedora. Today, server is tested to be compatible with the following distribution packages:

  • CentOS 7.6, 7,8, 8, Stream
  • Ubuntu 18.04, 20.04
  • Fedora 31, 32, 33
  • Debian 9, 10
  • Amazon Linux 2

The recommended distribution package is CentOS 7.x. Testing was done on CentOS, so in case of troubles or other questions our specialists will be able to deliver faster solution and provide other assistance in configuring the server.6 or Ubuntu 18.04, a stable work on older distribution packages is not guaranteed.

Preparing to install

Make sure the server is connected to the Internet and you have root access via SSH.

...

In some distribution packages (i.e., CentOS) wget is not installed by default. If you plan to use this utility to upload necessary installation packagesIn this case, install wget using the following command

Code Block
languagebash
themeRDark
sudo yum install wget

In some Debian or Ubuntu distributions, curl may be not installed in its turn. In this case, install curl using the following command

Code Block
languagebash
themeRDark
sudo apt update && apt upgrade
sudo apt install curl

This is how the server ready to install WCS looks from the Putty SSH client. Please note that we use an x86_64 system.

...

We recommend installing the latest version of Oracle JDK (Java Development Kit), because JDK has a number of useful diagnostics tools that JVM lacks.

To install JDK, download the installation package or archive from oracle.com. The recommended version is JDK 1.8 update 161 or higher.

By the moment these docs are being written, the installation packages were available for various Linuc distribution packages at this link: Java SE Development Kit 8 Downloads

A universal package that fits any Linux distribution is the archive named like this jdk-8u161-linux-x64.tar.gz.

Downloading a package from oracle.com directly to the server can be done as followsToday, the following JDK versions are tested and recommended to use: 8, 12, 14, 15, 16, 17. WSC can be unstable with another JDK versions.

JDK installation from repository

JDK installation from OS repository (CentOS for example) should be done as follows

Code Block
languagebash
themeRDark
yum -y install java-1.8.0-openjdk-devel

Manual JDK installation

JDK 12

This is the example script for OpenJDK 12 installation using the package downloaded from https://download.java.net/java/GA:

Code Block
languagebash
themeRDark
# Download JDK package
sudo rm -rf jdk*
curl -s https://download.java.net/java/GA/jdk12.0.2/e482c34c86bd4bf8b56c0b35558996b9/10/GPL/openjdk-12.0.2_linux-x64_bin.tar.gz | tar -zx
[ ! -d jdk-12.0.2/bin ] && exit 1

# Prepare installation folder
sudo mkdir -p /usr/java
[ -d /usr/java/jdk-12.0.2 ] && sudo rm -rf /usr/java/jdk-12.0.2

# Move JDK files to installation folder
sudo mv -f jdk-12.0.2 /usr/java
[ ! -d /usr/java/jdk-12.0.2/bin ] && exit 1

# Make /usr/java/default symlink to installation folder for convenience
sudo rm -f /usr/java/default
sudo ln -sf /usr/java/jdk-12.0.2 /usr/java/default

# Make the necessary symlinks
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/java/jdk-12.0.2/bin/java" 1
sudo update-alternatives --install "/usr/bin/jstack" "jstack" "/usr/java/jdk-12.0.2/bin/jstack" 1
sudo update-alternatives --install "/usr/bin/jcmd" "jcmd" "/usr/java/jdk-12.0.2/bin/jcmd" 1
sudo update-alternatives --install "/usr/bin/jmap" "jmap" "/usr/java/jdk-12.0.2/bin/jmap" 1
sudo update-alternatives --set "java" "/usr/java/jdk-12.0.2/bin/java"
sudo update-alternatives --set "jstack" "/usr/java/jdk-12.0.2/bin/jstack"
sudo update-alternatives --set "jcmd" "/usr/java/jdk-12.0.2/bin/jcmd"
sudo update-alternatives --set "jmap" "/usr/java/jdk-12.0.2/bin/jmap"

JDK 14

This is the example script for OpenJDK 14 installation using the package downloaded from https://download.java.net/java/GA:

Code Block
languagebash
themeRDark
wget --no-cookies --no-check-certificate --header "Cookie: oraclelicense=accept-securebackup-cookie" \
http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-linux-x64.tar.gz \
-O jdk-8u161-linux-x64.tar.gz

...

# Download JDK package
sudo rm -rf jdk*
curl -s https://download.java.net/java/GA/jdk14.0.1/664493ef4a6946b186ff29eb326336a2/7/GPL/openjdk-14.0.1_linux-x64_bin.tar.gz | tar -zx
[ ! -d jdk-14.0.1/bin ] && exit 1

# Prepare installation folder
sudo mkdir -p /usr/java
[ -d /usr/java/jdk-14.0.1 ] && sudo rm -rf /usr/java/jdk-14.0.1

# Move JDK files to installation folder
sudo mv -f jdk-14.0.1 /usr/java
[ ! -d /usr/java/jdk-14.0.1/bin ] && exit 1

# Make /usr/java/default symlink to installation folder for convenience
sudo rm -f /usr/java/default
sudo ln -sf /usr/java/jdk-14.0.1 /usr/java/default

# Make the necessary symlinks
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/java/jdk-14.0.1/bin/java" 1
sudo update-alternatives --install "/usr/bin/jstack" "jstack" "/usr/java/jdk-14.0.1/bin/jstack" 1
sudo update-alternatives --install "/usr/bin/jcmd" "jcmd" "/usr/java/jdk-14.0.1/bin/jcmd" 1
sudo update-alternatives --install "/usr/bin/jmap" "jmap" "/usr/java/jdk-14.0.1/bin/jmap" 1
sudo update-alternatives --set "java" "/usr/java/jdk-14.0.1/bin/java"
sudo update-alternatives --set "jstack" "/usr/java/jdk-14.0.1/bin/jstack"
sudo update-alternatives --set "jcmd" "/usr/java/jdk-14.0.1/bin/jcmd"
sudo update-alternatives --set "jmap" "/usr/java/jdk-14.0.1/bin/jmap"

JDK 15

This is the example script for OpenJDK 15 installation using the package downloaded from https://download.java.net/java/GA:

Code Block
languagebash
themeRDark
# Download JDK package
sudo rm -rf jdk*
curl -s https://download.java.net/java/GA/jdk15.0.2/0d1cfde4252546c6931946de8db48ee2/7/GPL/openjdk-15.0.2_linux-x64_bin.tar.gz | tar -zx
[ ! -d jdk-15.0.2/bin ] && exit 1

# Prepare installation folder
sudo mkdir -p /usr/java
[ -d /usr/java/jdk-15.0.2 ] && sudo rm -rf /usr/java/jdk-15.0.2

# Move JDK files to installation folder
sudo mv -f jdk-15.0.2 /usr/java
[ ! -d /usr/java/jdk-15.0.2/bin ] && exit 1

# Make /usr/java/default symlink to installation folder for convenience
sudo rm -f /usr/java/default
sudo ln -sf /usr/java/jdk-15.0.2 /usr/java/default

# Make the necessary symlinks
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/java/jdk-15.0.2/bin/java" 1
sudo update-alternatives --install "/usr/bin/jstack" "jstack" "/usr/java/jdk-15.0.2/bin/jstack" 1
sudo update-alternatives --install "/usr/bin/jcmd" "jcmd" "/usr/java/jdk-15.0.2/bin/jcmd" 1
sudo update-alternatives --install "/usr/bin/jmap" "jmap" "/usr/java/jdk-15.0.2/bin/jmap" 1
sudo update-alternatives --set "java" "/usr/java/jdk-15.0.2/bin/java"
sudo update-alternatives --set "jstack" "/usr/java/jdk-15.0.2/bin/jstack"
sudo update-alternatives --set "jcmd" "/usr/java/jdk-15.0.2/bin/jcmd"
sudo update-alternatives --set "jmap" "/usr/java/jdk-15.0.2/bin/jmap"

JDK 16

This is the example script for OpenJDK 15 installation using the package downloaded from https://download.java.net/java/GA:

Code Block
languagebash
themeRDark
#Unpack# Download theJDK archivepackage
$tarsudo rm -xvzfrf jdk-8u161-*
curl -s https://download.java.net/java/GA/jdk16/7863447f0ab643c585b9bdebf67c69db/36/GPL/openjdk-16_linux-x64_bin.tar.gz | tar -zx
[ ! -d jdk-16/bin ] && exit 1

# Prepare installation folder

#Copy to the destination folder
# in CentOS 7 the -R option is not specified
mv -R jdk1.8.0_161 /usr/java/jdk1.8.0_161

#For convenience, create a link to the path
$lnsudo mkdir -p /usr/java
[ -d /usr/java/jdk-16 ] && sudo rm -rf /usr/java/jdk-16

# Move JDK files to installation folder
sudo mv -f jdk-16 /usr/java
[ ! -d /usr/java/jdk-16/bin ] && exit 1

# Make /usr/java/default symlink to installation folder for convenience
sudo rm -f /usr/java/default
sudo ln -sf /usr/java/jdk-16 /usr/java/default

# Make the necessary symlinks
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/java/jdk-16/bin/java" 1
sudo update-alternatives --install "/usr/bin/jstack" "jstack" "/usr/java/jdk-16/bin/jstack" 1
sudo update-alternatives --install "/usr/bin/jcmd" "jcmd" "/usr/java/jdk-16/bin/jcmd" 1
sudo update-alternatives --install "/usr/bin/jmap" "jmap" "/usr/java/jdk-16/bin/jmap" 1
sudo update-alternatives --set "java" "/usr/java/jdk-16/bin/java"
sudo update-alternatives --set "jstack" "/usr/java/jdk-16/bin/jstack"
sudo update-alternatives --set "jcmd" "/usr/java/jdk-16/bin/jcmd"
sudo update-alternatives --set "jmap" "/usr/java/jdk-16/bin/jmap"

JDK 17

This is the example script for OpenJDK 15 installation using the package downloaded from https://download.java.net/java/GA:

Code Block
languagebash
themeRDark
# Download JDK package
sudo rm -rf jdk*
curl -s https://download.java.net/java/GA/jdk17.0.2/dfd4a8d0985749f896bed50d7138ee7f/8/GPL/openjdk-17.0.2_linux-x64_bin.tar.gz | tar -zx
[ ! -d jdk-17.0.2/bin ] && exit 1

# Prepare installation folder
sudo mkdir -p /usr/java
[ -d /usr/java/jdk-17.0.2 ] && sudo rm -rf /usr/java/jdk-17.0.2

# Move JDK files to installation folder
sudo mv -f jdk-17.0.2 /usr/java
[ ! -d /usr/java/jdk-17.0.2/bin ] && exit 1

# Make /usr/java/default symlink to installation folder for convenience
sudo rm -f /usr/java/default
sudo ln -sf /usr/java/jdk1.8.0_161 jdk-17.0.2 /usr/java/default

# Make the necessary symlinks
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/java/jdk-17.0.2/bin/java" 1
sudo update-alternatives --install "/usr/bin/jstack" "jstack" "/usr/java/default

#Create a link to the java executable
$ln -sf /usr/java/default/bin/java /usr/bin/javajdk-17.0.2/bin/jstack" 1
sudo update-alternatives --install "/usr/bin/jcmd" "jcmd" "/usr/java/jdk-17.0.2/bin/jcmd" 1
sudo update-alternatives --install "/usr/bin/jmap" "jmap" "/usr/java/jdk-17.0.2/bin/jmap" 1
sudo update-alternatives --set "java" "/usr/java/jdk-17.0.2/bin/java"
sudo update-alternatives --set "jstack" "/usr/java/jdk-17.0.2/bin/jstack"
sudo update-alternatives --set "jcmd" "/usr/java/jdk-17.0.2/bin/jcmd"
sudo update-alternatives --set "jmap" "/usr/java/jdk-17.0.2/bin/jmap"

Installation checking

To check JDK installation use the following command

Code Block
languagebash
themeRDark
java -version

JDK installing is done

Here is how the server with installed JVM / JDK looks. Please notice the line: 64-Bit Server VM. Java works in the 64-bit mode with the server settings.

Haveged installation

...

fontconfig installation

If MCU mixer is planned to use with participant names displaying, and JDK 12 or 14 is installed, it would be necessary to install fontconfig library:

Code Block
languagebash
themeRDark
sudo yum install epel-release
yum install haveged
haveged chkonfig on
havegedy fontconfig