Installation des Ubiquiti UniFi Controller 5 auf dem Raspberry Pi 3

Ich habe mittlerweile den Großteil meines Netzwerks durch Unifi Hardware ersetzt. Den Controller wollte ich natürlich auch bei mir im Netz einsetzen und habe ihn auf einem Raspberry Pi 3 installiert.

Vorbereitungen

1. Pi Updaten

 sudo apt-get update && sudo apt-get upgrade -y  

Ich habe erst mal alle bereits installierten Pakete aktualisiert, was man immer mal wieder machen sollte.

2. Pi Firmware updaten

 sudo apt-get update && sudo apt-get upgrade -y
 reboot  

Ein Firmware Upgrade kann auch nicht schaden.

Installation

1. Repository hinzufügen

 echo 'deb http://www.ubnt.com/downloads/unifi/debian stable ubiquiti' | sudo tee -a /etc/apt/sources.list.d/ubnt.list > /dev/null  
 sudo apt-key adv --keyserver keyserver.ubuntu.com --recv C0A52C50  
 sudo apt-get update  

Wer den aktuellen Stable-Candidate installieren möchte muss das stable in der ersten Zeile durch testing ersetzen.

2. Installation des Controllers

 sudo apt-get install unifi -y  

3. Abschalten der standard MongoDB Instanz

 sudo service mongodb stop  
 sudo service mongodb disable  

Da der Controller eine eigene MongoDB Instanz besitzt, schalten wir die standard Instanz ab.

4. Update Snappy Java Library

 cd /usr/lib/unifi/lib  
 sudo rm snappy-java-1.0.5.jar  
 sudo wget http://central.maven.org/maven2/org/xerial/snappy/snappy-java/1.1.2.6/snappy-java-1.1.2.6.jar  
 sudo ln -s snappy-java-1.1.2.6.jar snappy-java-1.0.5.jar  

Die von Ubiquiti mitgelieferte Version ist von 2013 und kann Probleme verursachen, also wird diese upgedatet.

Update: In neueren Controller Versionen ist dieses bereits enthalten (z.B. 5.5.14)

5. Installation von Oracle Java 8

sudo apt-get purge openjdk*
echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | sudo tee /etc/apt/sources.list.d/webupd8team-java.list
echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | sudo tee -a /etc/apt/sources.list.d/webupd8team-java.list
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886
sudo apt-get update
sudo apt-get install oracle-java8-installer
sudo apt-get install oracle-java8-set-default
sudo apt-get purge openjdk*
sudo apt-get purge java7*
sudo apt-get autoremove
java -version
sudo cp /lib/systemd/system/unifi.service /etc/systemd/system/  
sudo sed -i '/^[Service]$/a Environment=JAVA_HOME=/usr/lib/jvm/java-8-oracle' /etc/systemd/system/unifi.service  

Der Controller installiert OpenJDK 7, was zu Performanceproblemen führen kann.

6. Reboot

 reboot  

Der Controller ist nun fertig installiert und lässt sich über https://<raspberrypi>:8443 aufrufen. Nun könnte ihr mit der Konfiguration anfangen, oder den Controller mit einem vorhandenen Backup betanken.
Ich hatte zuvor den Controller in einem anderen Netzwerk auf einer Synology betrieben und konnte durch einfach zurückspielen des Backups meine Einstellungen übernehmen. Es musste kein Device adoptiert werden.

Optionales

1. Logrotate installieren

 sudo apt-get update && sudo apt-get install logrotate  

Der Speicher des Pis ist begrenzt und damit der Speicher durch Logfiles nicht gefüllt wird, hilft logrotate.

 sudo bash -c 'cat >> /etc/logrotate.d/unifi << EOF  
 /var/log/unifi/*.log {  
   rotate 5  
   daily  
   missingok  
   notifempty  
   compress  
   delaycompress  
   copytruncate  
 }  
 EOF'  

Damit werden täglich die Logfiles komprimiert gesichert und 5 Versionen vorgehalten.

2 Gedanken zu „Installation des Ubiquiti UniFi Controller 5 auf dem Raspberry Pi 3“

Schreibe einen Kommentar