Anleitungen, Unifi auf dem Raspberry zum laufen zu bringen gibt es inzwischen wie Sand am Meer. Ich stelle meinen aktuellen Weg ebenfalls Online.
Basis-Installation:
echo "deb http://www.ubnt.com/downloads/unifi/debian unifi5 ubiquiti" > /etc/apt/sources.list.d/ubnt.list
apt-key adv --keyserver keyserver.ubuntu.com --recv C0A52C50
apt-get update
apt-get install unifi -y
Dann sollte die Standard-Instanz vom MongoDB noch deaktiviert werden, da diese nicht genutzt wird und nur eh schon knappe Ressourcen frisst. Außerdem werden die Journal-Dateien auf 128M statt 1GB pro File, und maximal 512MB in Summe, festgelegt:
echo "ENABLE_MONGODB=no" | sudo tee -a /etc/mongodb.conf > /dev/null
echo "smallfiles = true" | sudo tee -a /etc/mongodb.conf > /dev/null
service mongodb restart
Damit ist der Unifi Controller einsatzbereit.
SSL Zertifikat:
Der Austausch des Self-Signed Zertifikates geht auch recht schnell von statten.
cd /usr/lib/unifi
java -jar lib/ace.jar new_cert <HOSTNAME> <FIRMA> <STADT> <BUNDESLAND> <LAND>
Daraufhin werden in dem Verzeichniss /var/lib/unifi eine unifi_certificate.csr.der und eine unifi_certificate.csr.pem Datei mit dem CSR abgelegt. Diese bei der eigene/externe CA einreichen und ein Zertifikat ausstellen lassen.
Das ausgestellte Zertifikat zusammen mit dem kompletten Chain dann nach /var/lib/unifi kopieren und von dort importieren:
cd /usr/lib/unifi
java -jar lib/ace.jar import_cert /var/lib/unifi/unifi_certificate.pem /var/lib/unifi/chain.pem
Daraufhin sollten Nachrichten zu einem erfolgreichen Import erscheinen und die Bitte, den Controller neu zu starten, was wir auch tuen. Nach wenigen Minuten sollte der Controller dann mit dem neuen Zertifikat erreichbar sein.
fhem:
Ist auf dem selben System ein fhem mit dem Unifi Modul im Einsatz, wird dieser sich aktuell nicht zum Controller verbinden können und bleibt auf „Disconnected“ stehen.
Dies lässt sich beheben, wenn die OpenJDK durch die Oracle Version ersetzt wird und der Unifi damit startet:
apt-get install oracle-java8-jdk -y
cp /lib/systemd/system/unifi.service /etc/systemd/system/
sed -i "/^\[Service\]$/a Environment=JAVA_HOME=/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt" /etc/systemd/system/unifi.service
systemctl daemon-reload
service unifi restart
Danach klappt es auch im fhem.
Hallo!
Ich bin neu in der Welt vom Raspberry und FHEM und versuche gerade, das Unifi über FHEM zum Laufen zu bringen. Ich habe den Controller V5.2.9 installiert, er läuft auch. Allerdings zeigt mir FHEM das Unifi immer als „Disconneted“ an. Den letzten Schritt (JDK durch Oracle ersetzen) habe ich abenfalls durchgeführt, hat aber leider nichts gebracht.
Gibt es vielleicht noch etwas, was ich versuchen könnte?
Vielen Dank & Grüße
David
@David: schon länger her aber ich hatte grade genau das gleiche Problem. Es muss JAVA8 sein!
Für die Nachwelt:
https://community.ubnt.com/t5/UniFi-Routing-Switching/Installing-UniFi-Controller-5-0-0-alpha-2-on-Raspberry-Pi-3/m-p/1543885#U1543885
Für google: 74_unifi.pm, timed out, disconnected, fhem, api, login