Create /etc/default/unifi and add:
JAVA_HOME="$( readlink -f "$( which java )" | sed "s:bin/.*$::" )"
Solution found on the ubnt forums.
Note: to correctly run UniFi controller you need Java from Oracle, otherwise you will get errors like:
[2018-11-07 16:20:53,060] <launcher> ERROR JreMemoryLeakPreventionListener - Failed to trigger creation of the GC Daemon thread during Tomcat start to prevent possible memory leaks. This is expected on non-Sun JVMs.
To solve install Java from the webupd8 team ppa and make sure it’s used as default with:
update-alternatives --configure java
UniFi controller headless installation on Ubuntu 16.04
👉 NOTICE: These instructions doesn’t work anymore as of April 2019. See updated steps here.
A quick recap:
apt -y install software-properties-common
add-apt-repository -y ppa:webupd8team/java
echo 'deb http://www.ubnt.com/downloads/unifi/debian stable ubiquiti' | tee /etc/apt/sources.list.d/100-ubnt-unifi.list
apt-key adv --keyserver keyserver.ubuntu.com --recv 06E85760C0A52C50
apt update
apt -y install oracle-java8-installer
update-alternatives --set java /usr/lib/jvm/java-8-oracle/jre/bin/java
apt install unifi
Original UniFi article here.
thank you for this article.
> update-alternatives –configure java
did not work for me on ubuntu 16.04
i used
> update-alternatives –config java
to make it work