Обновление от 20 февраля 2017: Инструкции ниже уже устарели и использовать их стоит только если вы любите лишнюю работу. Для истории вот гораздо более короткий вариант:
echo 'deb stable ubiquiti' | tee /etc/apt/sources.list.d/unifi.list
apt-key adv --keyserver keyserver.ubuntu.com --recv C0A52C50
apt-get update && apt-get install unifi -y
echo 'ENABLE_MONGODB=no' | sudo tee -a /etc/mongodb.conf > /dev/null
apt-get install oracle-java8-jdk
update-alternatives --config java
systemctl restart unifi.service
Это основано на оригинальной статье (спасибо @UBNT-Devin), но обновлено под RPi3 и предустановленный MongoDB.
Собирать MongoDB на RPi3 оказалось настоящим кошмаром. Потом я обнаружил, что в Debian Jessie есть предустановленные пакеты — ура! Я использую DietPi (), минимальную безголовую (headless) сборку Raspbian Jessie с кучей полезных инструментов.
Если планируете идти этим путём, вот инструкция по установке DietPi:
- Обновите репозитории и установите последние обновления:
apt-get update && apt-get upgrade
- Установите MongoDB:
apt-get install mongodb
- MongoDB выдаёт ошибку 'ERROR: dbpath (~/data/db) does not exist', создайте папку и установите права:
mkdir -p /data/db/
chown `id -u` /data/db
- MongoDB по умолчанию запускает свою собственную инстанцию вместе с UniFi, её нужно отключить:
echo 'ENABLE_MONGODB=no' | tee -a /etc/mongodb.conf > /dev/null
- Скачайте контроллер и установите:
wget
dpkg -i unifi_sysvinit_all.deb
- dpkg потребует зависимости, исправьте их командой ‘apt-get -f install’, затем снова запустите dpkg. Это также установит java-7-openjdk, но при желании её можно сменить:
apt-get -f install
dpkg -i unifi_sysvinit_all.deb
- [Опционально] Установите Oracle Java 8. По умолчанию UniFi ставит OpenJDK 7 (armhf), так что, в принципе, менять не обязательно. Но новая версия Java — всегда лучше!
java -version
java version "1.7.0_95"
OpenJDK Runtime Environment (IcedTea 2.6.4) (7u95-2.6.4-1~deb8u1+rpi1)
OpenJDK Zero VM (build 24.95-b01, mixed mode)
apt-get install oracle-java8-jdk
update-java-alternatives -s jdk-8-oracle-arm32-vfp-hflt
java -version
java version "1.8.0_65"
Java SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot Client VM (build 25.65-b01, mixed mode)
- Запустите сервис unifi:
systemctl start unifi.service
- Проверьте, что всё запущено:
systemctl status unifi.service
unifi.service - unifi
Loaded: loaded (/lib/systemd/system/unifi.service; enabled)
Active: active (running) since Mon 2016-04-25 17:14:08 BST; 47min ago
Process: 459 ExecStart=/usr/lib/unifi/bin/unifi.init start (code=exited, status=0/SUCCESS)
Main PID: 523 (jsvc)
CGroup: /system.slice/unifi.service
├─ 523 unifi -home /usr/lib/jvm/java-7-openjdk-armhf -cp /usr/share/java/commons-daemo...
├─ 524 unifi -home /usr/lib/jvm/java-7-openjdk-armhf -cp /usr/share/java/commons-daemo...
├─ 525 unifi -home /usr/lib/jvm/java-7-openjdk-armhf -cp /usr/share/java/commons-daemo...
├─1690 /usr/lib/jvm/java-7-openjdk-armhf/jre/bin/java -Xmx1024M -XX:ErrorFile=/usr/lib...
└─1706 bin/mongod --dbpath /usr/lib/unifi/data/db --port 27117 --logappend --logpath l...
- Перейдите по адресу https://<rpi_ip_address>:8443
Источники:
echo 'deb stable ubiquiti' | tee /etc/apt/sources.list.d/unifi.list
apt-key adv --keyserver keyserver.ubuntu.com --recv C0A52C50
apt-get update && apt-get install unifi -y
echo 'ENABLE_MONGODB=no' | sudo tee -a /etc/mongodb.conf > /dev/null
apt-get install oracle-java8-jdk
update-alternatives --config java
systemctl restart unifi.service
Это основано на оригинальной статье (спасибо @UBNT-Devin), но обновлено под RPi3 и предустановленный MongoDB.
Собирать MongoDB на RPi3 оказалось настоящим кошмаром. Потом я обнаружил, что в Debian Jessie есть предустановленные пакеты — ура! Я использую DietPi (), минимальную безголовую (headless) сборку Raspbian Jessie с кучей полезных инструментов.
Если планируете идти этим путём, вот инструкция по установке DietPi:
- Обновите репозитории и установите последние обновления:
apt-get update && apt-get upgrade
- Установите MongoDB:
apt-get install mongodb
- MongoDB выдаёт ошибку 'ERROR: dbpath (~/data/db) does not exist', создайте папку и установите права:
mkdir -p /data/db/
chown `id -u` /data/db
- MongoDB по умолчанию запускает свою собственную инстанцию вместе с UniFi, её нужно отключить:
echo 'ENABLE_MONGODB=no' | tee -a /etc/mongodb.conf > /dev/null
- Скачайте контроллер и установите:
wget
dpkg -i unifi_sysvinit_all.deb
- dpkg потребует зависимости, исправьте их командой ‘apt-get -f install’, затем снова запустите dpkg. Это также установит java-7-openjdk, но при желании её можно сменить:
apt-get -f install
dpkg -i unifi_sysvinit_all.deb
- [Опционально] Установите Oracle Java 8. По умолчанию UniFi ставит OpenJDK 7 (armhf), так что, в принципе, менять не обязательно. Но новая версия Java — всегда лучше!
java -version
java version "1.7.0_95"
OpenJDK Runtime Environment (IcedTea 2.6.4) (7u95-2.6.4-1~deb8u1+rpi1)
OpenJDK Zero VM (build 24.95-b01, mixed mode)
apt-get install oracle-java8-jdk
update-java-alternatives -s jdk-8-oracle-arm32-vfp-hflt
java -version
java version "1.8.0_65"
Java SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot Client VM (build 25.65-b01, mixed mode)
- Запустите сервис unifi:
systemctl start unifi.service
- Проверьте, что всё запущено:
systemctl status unifi.service
unifi.service - unifi
Loaded: loaded (/lib/systemd/system/unifi.service; enabled)
Active: active (running) since Mon 2016-04-25 17:14:08 BST; 47min ago
Process: 459 ExecStart=/usr/lib/unifi/bin/unifi.init start (code=exited, status=0/SUCCESS)
Main PID: 523 (jsvc)
CGroup: /system.slice/unifi.service
├─ 523 unifi -home /usr/lib/jvm/java-7-openjdk-armhf -cp /usr/share/java/commons-daemo...
├─ 524 unifi -home /usr/lib/jvm/java-7-openjdk-armhf -cp /usr/share/java/commons-daemo...
├─ 525 unifi -home /usr/lib/jvm/java-7-openjdk-armhf -cp /usr/share/java/commons-daemo...
├─1690 /usr/lib/jvm/java-7-openjdk-armhf/jre/bin/java -Xmx1024M -XX:ErrorFile=/usr/lib...
└─1706 bin/mongod --dbpath /usr/lib/unifi/data/db --port 27117 --logappend --logpath l...
- Перейдите по адресу https://<rpi_ip_address>:8443
Источники:
