UniFi Controller auf einem Raspberry Pi
Wer ein Ubiquity UniFi WLAN betreiben will, kommt um einen UniFi Controller nicht herum.
Ubiquity biete dafür auch Produkte an, die zwar schlüsselfertig sind, jedoch nur zu einem Premium-Preis zu bekommen sind:
Wir wollen das mit einem Bruchteil des Budgets auf einem Raspberry Pi aufsetzen.
Dabei konzentrieren wir uns hier auf den Controller, und ignorieren Features wie die Festplatte zur Aufzeichnung von Überwachungskamera-Videos und der Notstromversorgung, die die teuren UniFi Cloud Key Produkte zum Teil mitbringen.
Der Raspberry Pi
Es sollte mindestens ein Raspberry Pi 3B oder 3B+ sein. Diese sind meist günstiger zu haben als ein Raspberry Pi 4B und benötigen nicht zwingend eine aktive Kühlung.
Wie immer gehe ich davon aus, dass der Raspberry Pi schon mit dem Linux System der DietPi Distribution vorinstalliert wurde. Ist dem nicht der Fall, gibt es hier eine kurze Anleitung.
Java installieren
Die UniFi Controller Software ist in Java geschrieben. Damit das ganze also läuft, brauchen wir eine Java Laufzeitumgebung (JRE = Java Runtime Environment).
Normalerweise würde uns hier als Abhängigkeit das OpenJDK installiert werden. Dieses ist allerdings recht groß und läuft auf einem Raspberry Pi nicht besonders gut. Stattdessen werden wir Oracle’s JRE installieren.
Im meinem Blogpost Oracle’s Java auf dem Raspberry Pi installieren habe ich in 3 einfachen Schritten beschrieben wie’s geht.
Wir sehen uns dann gleich wieder hier, wenn Java installiert ist und läuft 😉
UniFi Controller Paketquellen
echo "deb http://www.ubnt.com/downloads/unifi/debian stable ubiquiti" > /etc/apt/sources.list.d/ubnt.list
apt-key adv --keyserver keyserver.ubuntu.com --recv C0A52C50
apt update
Controller installieren und konfigurieren
apt install unifi
Der UniFi Controller verwendet MongoDB zur Speicherung seiner Daten. Mit folgenden Befehlen verhindern wir, dass eine unnötige Instanz gestartet wird, die kostbare Ressourcen auf unserem Raspberry Pi verbraucht:
service mongodb stop
echo "ENABLE_MONGODB=no" | tee -a /etc/mongodb.conf
service mongodb start
Unter https://deinServer:8443
sollte der UniFi Controller nun erreichbar sein und auf die ersten Konfigurationsschritte warten.
Einen Tipp zum Schluss
Wenn ein System aufgesetzt ist und stabil läft, sollte man vorsichtig mit Änderungen sein, und diese sorgfältig planen.
Never change a running System
Natürlich sind Sicherheitsupdates irre wichtig, werden aber meistens mit allen anderen Aktualisierungen über einen Kamm geschärt.
Hier sind zwei Befehle, mit denen man verhindern / erlauben kann, dass kritische Software durch System-Updates (apt update && apt upgrade
) aktualisiert wird.
apt-mark hold unifi
apt-mark unhold unifi