menu

FreeBSD

Installing Exply on FreeBSD

Unfortunately we have no package for FreeBSD — yet.

Therefore please follow our step-by-step guide:

  1. Install Java 11 (JRE)
  2. Install and configure Elasticsearch
  3. Create a new User for Exply
  4. Download latest Exply Tar-Archive
  5. Extract Exply Files
  6. Create an Exply Service
  7. Continue with first Exply configuration

Install Java 11 (JRE)

Currently Exply only supports Java 11. Therefore you need to install Java 11 and set the Java default to 11.

For more information please refer to https://www.digitalocean.com/community/tutorials/how-to-install-java-on-freebsd-10-1

# only if your Java version is not 11
sudo apt install openjdk-11-jre
sudo update-alternatives --config java

Install Elasticsearch 7.x

Exply needs an up and running elasticsearch instance to use.

Follow instructions on https://www.elastic.co/guide/en/elasticsearch/reference/7.17/targz.html.

If you're enabling security, you need to user name and password for an elasticsearch user for exply to use. Exply needs to have the rights to create an index, index documents, do search requests and delete the index again.

Create a new System User for Exply

sudo su
pw groupadd exply
pw useradd exply -d /nonexistent -s /usr/sbin/nologin -g exply -w no -c "system user for Exply daemon"
pw usershow exply

Extract Exply Files

sudo su
cd /var
tar -xzf exply.tgz
chown -R exply:exply exply/

Create an Exply Service

Search for the Java11 Home. It is probably at /usr/local/openjdk11 (if not adjust template for /etc/rc.d/exply below)

append exply_enable="YES" to /etc/rc.conf

create /etc/rc.d/exply with the following content (below)

#!/bin/sh

# add the following line to /etc/rc.conf to enable exply:
# exply_enable="YES"
rcvar=exply_enable

. /etc/rc.subr

name=exply
desc="Exply server daemon, see /var/exply/app"

command_start_exply="cd /var/exply/app && JAVA_HOME=/usr/local/openjdk11 EXPLY_DATA_DIR=/var/exply/Data bin/server"
command_args="-P /var/run/${name}.pid -f -t exply-server-daemon -u exply bash -c '${command_start_exply}'"
command="/usr/sbin/daemon"

pidfile="/var/run/${name}.pid"

load_rc_config $name
run_rc_command "$1"

NOTE: The connection to your elasticsearch can be configured with the following env variables:

- `EXPLY_ELASTICSEARCH_HOST`, defaults to "localhost"
- `EXPLY_ELASTICSEARCH_PORT`, defaults to "9200"
- `EXPLY_ELASTICSEARCH_USERNAME`, defaults to "elastic" (which is the default user)
- `EXPLY_ELASTICSEARCH_PASSWORD`, defaults to "localDevPassword" (has to be set when starting an elasticsearch cluster with security)
- `EXPLY_ELASTICSEARCH_INDEX_NAME`, defaults to "exply"

If you run elasticsearch on the same server with the default configuration and the security pack disabled, you don't need to set any of these.

Start Exply Service

service exply start