UniFi-Controller 5 unter Ubuntu 16.04

Cover image

Der UniFi-Controller ist ein essenzielles Bauteil im einem von Ubiquiti-Geräten aufgebautem Netzwerk. Er ist die Konfigurationsplattform für alle Access-Points und andere Netzwerkgeräte.

Um einen UniFi-Controller 5 unter Ubuntu 16.04 zum Laufen zu bringen braucht es nicht viel. Es werden Java und MongoDB benötigt, danach kann der Controller installiert und eingerichtet werden.

Oracle Java 8

Java wird von unserem Controller benötigt, da dieser in Java geschrieben ist und somit auch auf allen anderen Plattformen lauffähig ist. Oracle Java 8 wird noch mindestens bis zum Dezember 2020 reguläre Updates bekommen und ist bis März 2025 vollständig unterstützt. Um Java nun zu installieren, müssen wir zunächst die offiziellen Paketquellen in unser System einbinden. Nachdem wir uns als root-Benutzer angemeldet haben, können wir dies mit folgendem Kommando durchführen:

add-apt-repository -y ppa:webupd8team/java

Um nun die Installation in Gange zu setzen nutzen wir unseren Standard Paket-Manager. Zum Installieren des Installers zuerst die Paketquellen updaten und danach das Paket installieren.

apt update
apt-get install -y oracle-java8-installer

Dieser wird nun Java auf dem System installieren.

Während der Installation kann es dazu kommen das darum gebeten wird, die Allgemeinen Geschäftsbedingungen (Oracle Binary Code license terms) zu akzeptieren. Dies mit ja bestätigen.

Nachdem die Installation fertiggestellt wurde, können wir mit

java -version

prüfen, ob und welche Java-Version installiert wurde.

Oracle Java 8 ist nun installiert und einsatzbereit.

MongoDB 3.6

MongoDB ist eine kostenlose quellenoffene, dokumentbasierte Datenbankanwendung. Klassifiziert als eine "NoSQL"-Datenbank nutzt MongoDB JSON-ähnliche Dokumentenschemas.

MongoDB 3.6 wurde im November 2017 mit keinem "End-of-Life" veröffentlicht.

Um nun MongoDB auf unserem Ubuntu 16.04 System zu installieren, müssen wir zunächst die Paketquellen in unser System einbinden.

echo 'deb https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse' | tee /etc/apt/sources.list.d/mongodb-org-3.6.list

Wenn wir allerdings versuchen würden unsere Paketquellen wir regulär mit apt update aufzufrischen, würden wir einen Fehler bekommen, da MongoDB ihre Pakete mit ihrem eigenen Schlüssel signiert. Deshalb importieren wir im nächsten Schritt den öffentlichen Schlüssel von MongoDB 3.6.

apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5

Mit apt update nun die Paketquellen auffrischen und anschließend MongoDB 3.6 installieren:

apt-get install -y mongodb-server

Der Download und Installations-Prozess startet nun.

Da UniFi 5.x und MongoDB 3.x eigentlich inkompatibel sind aufgrund eines falschen Aufrufs auf Seiten von UniFi, müssen wir nun das Startscript für MongoDB ein bisschen modifizieren. Zuerst verschieben wir das Originale Startscript an eine andere Position und erstellen uns im Anschluss ein anderes.

mv /usr/bin/mongod /usr/bin/mongod.bin
nano /usr/bin/mongod

Es startet nun der Texteditor "Nano". Hier nun einfach folgenden Text schreiben oder einfügen:

!/bin/bash
args=$(echo $* | sed -e 's/--nohttpinterface//')
exec /usr/bin/mongod.bin ${args}

Im Anschluss mit Strg+X und danach mit Y den Editor wieder schließen.

Damit UniFi nun das modifizierte Script auch ausführen kann, müssen wir es noch ausführbar machen:

chmod +x /usr/bin/mongod

MongoDB 5.3 ist nun einsatzbereit und wir können beginnen UniFi 5 zu installieren.

UniFi 5

Der UniFi-Controller dient dazu Netzwerkgeräte von Ubiquiti Networks über den Webbrowser zu verwalten. Er ist in Java geschrieben und kann einfach über die Paketverwaltung von Ubuntu installiert werden.

Zuerst müssen die Paketquellen zum System hinzugefügt werden:

echo 'deb http://www.ubnt.com/downloads/unifi/debian stable ubiquiti' | tee /etc/apt/sources.list.d/100-ubnt-unifi.list

Danach muss der öffentliche GPG-Schlüssel von Ubiquiti installiert werden:

wget -O /etc/apt/trusted.gpg.d/unifi-repo.gpg https://dl.ubnt.com/unifi/unifi-repo.gpg

Jetzt noch die Paketlisten auffrischen:

apt-get update

Und schon kann der UniFi-Controller installiert werden:

apt-get install unifi -y

Nun startet der Installationsprozess. Nach der Fertigstellung ist der Controller vollständig installiert und bereit zur Einrichtung. Er ist über HTTPS auf dem Port 8443 erreichbar.

https://<IP>:8443

Der Setup-Prozess kann jetzt beginnen.