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.
Hi,
die neuste Version des Unifi Controllers (5.7.20) installiert: openjdk-8-jre-headless
Sollte doch Java 8 sein oder?
Sollte, wobei ich nicht wüsste das in der 5.7.20 Java enthalten ist.