Wer einen Unifi Controller von Ubiquiti unter Ubuntu-Server oder Debian betreibt kennt das Problem:

Man installiert unifi über Paketquellen in klassischer Art und Weise (sudo apt-get install unifi), richtet den Controller ein und erfreut sich über dessen Funktion. Sobald man aber ein Upgrade (sudo apt-get upgrade) über den Server laufen lässt, weil man die Sicherheitspatche und Aktualisierungen einspielen will, wird oft auch automatisch die neue unifi-Version eingespielt.

An sich eine gute Sache, immerhin will man ja auch den Controller auf aktuellen Stand halten, allerdings habe ich echt bei jedem Upgrade das Problem, dass der Controller danach nicht mehr startet.

Durchsucht man die die Log-Files, wird man in der syslog relativ schnell mit dem folgenden Eintrag fündig:

unifi.init: Starting Ubiquiti UniFi Controller: unifi Cannot locate Java Home
 unifi:init: failed!

Unifi kann beim Starten also das Home Verzeichnis der Java-Installation nicht finden. Um dies zu korrigieren, öffnet man das Init-Skript mit folgendem Befehl:

sudo nano /etc/init.d/unifi

Danach sucht man sich gleich am Anfang die Funktion mit der nach dem Java-Home gesucht wird, sie beginnt mit:

set_java_home () {

Ich habe versucht in dieser Funktion wie in dieser Anleitung beschrieben herumzudoktern, was aber nie zum gewünschten Resultat führte.

Eigentlich ist es ganz einfach: Kommentiert die komplette set_java_home Funktion aus oder löscht sie weg.

Am Ende steht bei mir statt der Funktion nur noch der Pfad zu meiner Java-Installation (kann bei euch abweichen, einfach mal dem Pfad folgen und entsprechend die Zeile anpassen):

JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

Danach mit nachfolgendem Befehl den unifi-Server durchstarten und es sollte keine Fehlermeldung mehr im syslog zu finden sein:

sudo /etc/init.d/unifi restart

Wenn man jetzt allerdings noch das Problem hat, dass das Webmenü nicht geladen wird und der Browser ewig lädt und lädt und lädt, dann liegt es an der fehlenden Entropie für die SSL-Verschlüsselung (v.a. wenn der Unifi-Controller in einer VM läuft).

Dies kann abgestellt werden, indem man das Paket haveged nachinstalliert:

sudo apt-get install haveged

Danach flutscht auch das Laden des Webmenüs im Nu.


P.S.: Ich selbst benutze in meinem Heimnetzwerk zwei Accesspoints von Ubiquiti, weshalb ich auch den Unifi-Controller in einer VM laufen habe. Evtl. mache ich dazu mal einen extrigen Blogpost, wie ich beim Hausbau ein professionelles LAN/WLAN geplant und umgesetzt habe.

Imrazor.de unterstützen (* = Amazon Partnerlinks)
Dir gefallen meine Beiträge und Du möchtest mich unterstützen?

Ich schalte keine Werbebanner, weil ich diese selbst nicht mag. Wenn Du aber über die mit * gekennzeichneten Produktlinks/Affiliate-Links bei Amazon bestellst, erhalte ich eine kleine Provision. Du selbst hast dadurch keinen Nachteil.

Die Produktlinks sind für Dich nicht interessant, aber Du möchtest mich trotzdem unterstützen? Dann kannst du ganz einfach deinen nächsten Amazon-Einkauf über diesen Amazon-Link tätigen.

Vielen Dank! 🙂