FreeBSD
Installing Exply on FreeBSD
Unfortunately we have no package for FreeBSD — yet.
Therefore please follow our step-by-step guide:
- Install Java 11 (JRE)
- Install and configure Elasticsearch
- Create a new User for Exply
- Download latest Exply Tar-Archive
- Extract Exply Files
- Create an Exply Service
- 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
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.