Die UniFi WLAN Access Points gelten aktuell als das Nonplusultra wenn es um günstige Enterprise Hardware geht.
Doch diese erfordern zum konfigurieren eine java Webapplikation, welche offiziell nur als Desktopanwendung unterstützt wird – Und dort nicht gerade gut, bei einigen Konfiguration läuft es, bei anderen nicht.
Doch es gibt eine inoffizielle Version der Software, welche man ganz einfach auf einem Linux Server installieren kann und die gut läuft! Dies ist meiner Meinung nach auch die bessere Variante, da man in der Regel das Konfigurations-Webinterface ohnehin immer Abrufbar haben will.
Mit ein paar einfachen Schritten lässt isch die Software als CentOS/RHEL service installieren und mit ein paar kleinen Anpassungen passt sie auch auf andere Linux Systeme wie debian oder ubuntu.
Inhalt
Vorbereitung
Die folgenden Komponenten müssen zuvor installiert werden:
- MongoDB (Für CentOS/RHEL bis und mit 7 wird dazu das EPEL repository benötigt!)
- java
[stextbox id=“tip“ caption=“openjdk vs. oracle java“]Im Falle von java empfiehlt es sich nicht, das „openjdk“ aus dem repository zu nehmen und stattdessen das „offizielle“ von oracle zu installieren.[/stextbox]
Installation
Zuerst werden die benötigten Komponenten installiert:
yum install epel-release yum install vim wget unzip mongodb-server |
Nun wird ein Verzeichnis für JAVA erstellt und dieses dort installiert:
mkdir -v /opt/java cd /opt/java/ wget 'http://javadl.oracle.com/webapps/download/AutoDL?BundleId=216424' tar -xvzf jre1.8.0_111.tgz rm -v jre1.8.0_111.tgz ln -sv jre1.8.0_111/ 8 alternatives --install /usr/bin/java java /opt/java/8/bin/java 1 |
Als nächstes einen Benutzer für den unifi Service erstellen:
useradd -c "UniFi controller" -d /opt/unifi/ unifi echo "umask 027" >> /opt/unifi/.bashrc su - unifi |
[stextbox id=“warning“ caption=“Achtung“]Die folgenden Schritte sollten unbedingt als user „unifi“ und nicht als root erleidgt werden![/stextbox]
UniFi herunterladen und entpacken:
wget 'http://dl.ubnt.com/unifi/5.3.8/UniFi.unix.zip' unzip UniFi.unix.zip -d controller mv -v controller/UniFi/* controller/ rmdir -v controller/UniFi/ rm -v UniFi.unix.zip |
[stextbox id=“note“ caption=“MongoDB smallfiles“]
Standardmässig will die MongoDB 3GB freien Speicherplatz haben. Wer das nicht hat (etwa weil der Controller z.B. auf einem embedded device läuft) kann das mit dem Parameter „smallfiles“ abstellen:
echo "unifi.db.extraargs=--smallfiles" >> controller/data/system.properties |
[/stextbox]
Nun noch ein systemd service file anlegen, den service enablen und starten (wieder als „root“ oder mit sudo):
sudo vim /etc/systemd/system/unifi.service sudo systemctl enable unifi sudo systemctl start unifi |
Backup
Zum sichern der Konfiguration muss folgendes getan werden:
- Den UniFi java Prozess beenden
- Das Verzeichnis: /opt/unifi/controller/data/ sichern
- Den UniFi java Prozess wieder starten
Quellen
- UniFi-Forum: Where are we on CentOS/RHEL support?
- UniFi-Forum: Installing UniFi on CentOS7 as a service
- User-Blog: Install UniFi Controller on CentOS 7
One thought on “UniFi als Linux Service”