Server Setup
Installing Software Packages
Essential
OpenJDK 8
FACT-Finder requires Java 8. We recommend using OpenJDK.
As it is not found in the Debian 8 Repository, it needs to be retrieved from the Backports Repository. Add the following entry to the /etc/apt/sources.list
file:
deb http://http.debian.net/debian jessie-backports main
Afterwards, apt-get
will retrieve the new information and you can install Java 8.
sudo apt-get update
sudo apt install openjdk-8-jre-headless
Next, check via java -version
wheter Java 8 was installed correctly. The return should look like this:
openjdk version "1.8.0_121"
OpenJDK Runtime Environment (build 1.8.0_121-8u121-b13-1~bpo8+1-b13)
OpenJDK 64-Bit Server VM (build 25.121-b13, mixed mode)
Apache Tomcat 8
All three FACT-Finder applications are Java web applications, which means they need to be run on an applications server. We use Apache Tomcat 8. Tomcat 7 is a valid alternative, but only for version 7.0.56 and up.
Install Tomcat with this package:
sudo apt-get install tomcat8 tomcat8-admin
Locale
FACT-Finder uses the locales en_US.utf8
and en_US.iso88591
in its core, so these are essential for your system. Please verify them using this command:
locale -a
If neither or just one locale is installed on your system, you need to install them. Use the menu which opens after entering the command. You don't need to set one of the locales as system standard.
Enter the command below to open a window where you can install the locale.
sudo dpkg-reconfigure locales
Recommended
OpenMP/Libgomp
FACT-Finder supports the OpenMP library (http://openmp.org/wp/). Using it, the FACT-Finder core can process search queries simultaneously. FACT-Finder can process multiple queries normally, so an installation makes sense for multi-core systems.
You need version 4.5 for stable operations. We recommend version 4.9 which is also used by Debian 8.
sudo apt-get install libgomp1
The package is avalable for WIndows at: 32 Bit, 64 Bit.
libtcmalloc
We have noted increased memory usage over on some systems, which can me prevented by using a different garbage collector. We recommend tcmalloc to increase performance.
sudo apt-get install libtcmalloc-minimal4
tcmalloc can be expanded, to see how it can be activated and tested:
Add the export line, e.g. under /usr/share/tomcat8/bin/setenv.sh or in a tomcat-ini script in /etc (etc/default/tomcat8) via
export LD_PRELOAD=/usr/lib/libtcmalloc_minimal.so.4
Restart Tomcat and run a test via:
grep malloc /proc/[TOMCAT-PROCESS-ID]/maps
If this returns any entries, installation and activation was successful.
Additional Notes:
Server with more than four cores
If servers with more than 4 cores are used, it usually makes sense to limit the cores per request to 4 and to rather process several requests in parallel, because the distribution of the work to more than 4 cores and the merging of the partial results otherwise eats up the gain in speed again.
Add the export line, e.g. under /usr/share/tomcat8/bin/setenv.sh or in a tomcat-ini script in /etc (etc/default/tomcat8) via
export OMP_NUM_THREADS=4
Check Firewall Settings
Before installation, check your firewall is not blocking the port Tomcat will be using (default: 8080).
Synchronizing Time
FACT-Finder's expanded authentication method uses a timestamp to prevent replay attacks. This means, the time has to be synchronized on the server. We recommend chrony for this, which can be installed a s a Debian package via:
sudo apt-get install chrony