Як встановити UniFi контролер на Raspberry Pi 4



Якщо ви є користувачем мережевих пристроїв Ubiquity то ця стаття саме для вас! На моєму прикладі розглянемо як встановити UniFi контроллер на Raspberry Pi і побачимо, як зручно користуватися пристроями які входять до однієї екосистеми.

Налаштування UniFi пристроїв відбувається за допомогою UniFi контролера. На данний час контролери можуть бути хмарними (Official UniFi Hosting), апаратними (UniFi CloudKey) та програмними. Оскільки формування звітів, логування, збір статистики та інші операції із пристроями вимагають доступу до контролера 24/7, то установка його на персональний компютер не має сенсу. На допомогу прийде міні-компютер Raspberry Pi 4, який не займає багато місця, і його можна розмістити поруч із роутером.

В цій статті я покроково опишу як швидко та просто встановити UniFi контролер та наведу певні застереження, які можуть звести всю роботу нанівець!

Всі подальші команди будуть виконуватися в терміналі під суперкористувачем

1. Перевірка операційної системи та її оновлення

На Raspberry Pi 4 повинна бути встановлена остання версія Raspberry Pi OS 64 bit. В іншому випадку потрібно встановити саме 64 бітну версію операційної ситстеми.

uname -a

Отримаємо наступний результат

Linux raspberrypi 6.1.0-rpi7-rpi-v8 #1 SMP PREEMPT Debian 1:6.1.63-1+rpt1 (2023-11-24) aarch64 GNU/Linux

Далі потрібно оновити список пакетів та встановити їх за допомогою наступних команд.

sudo apt-get update
sudo apt-get upgrade

2. Встановлення Java

Другим кроком буде встановлення Java. UniFi контролер вимагає версію Java не менше 11, але ми установимо більш свіжий варіант – 17 версію.

sudo apt-get install openjdk-17-jdk

3. Встановлення MongoDB

Останнім підготовчим етапом буде встановлення сервісу MongoDB. Для UniFi контролера також є певні обмеження, а саме версія повинна бути не менше 3.6 та не більше 5.0. Оскільки Raspberry Pi 4 побудована на архітектурі ARM v8 то сам розробник MongoDB обмежив використання ядра.

Враховуючи особливість архітектури, єдиною робочою версією MongoDB є 4.4.18. Всі інші версі не будуть запускатися коректно, чрез що Unifi контролер як результат також не запуститься.

wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
ls -l /etc/apt/sources.list.d/
sudo apt-get update
sudo apt-get install -y mongodb-org=4.4.18 mongodb-org-server=4.4.18 mongodb-org-shell=4.4.18 mongodb-org-mongos=4.4.18 mongodb-org-tools=4.4.18

Для того, щоб при майбутніх оновленнях операційної системи або пакетів MongoDB не оновилося, треба назву цих пакетів додати в список утриманних, тобто щоб вони не оновлювалися. Треба виконати наступну команду

sudo apt-mark hold mongodb-org mongodb-org-mongos mongodb-org-server mongodb-org-shell mongodb-org-tools

Щоб перевірити чи все встановилося коректно, потрібно запустити службу, активувати її для автоматичного запуску після перезавантаження Raspberry Pi і на останок подивитися статус

sudo systemctl start mongod
sudo systemctl status mongod
sudo systemctl enable mongod

Як видно нижче, сервіс активний і запущений.

4. Встановлення Unifi контролера

Для початку потрібно завантажити дистрибутив з офіційного сайту. В розділі прошивок, шукаємо UniFi Network Application. На момент написання цієї статті остання версія була 8.0.28, її і завантажуємо для Debian/Ubuntu.

За замовченням файл збережеться в директорію “Downloads”. Переходимов цю директорію і встановлюємо deb пакет використовуючи наступні команди.

cd Downloads/
sudo dpkg -i unifi_sysvinit_all.deb

Встановлення займе декілька хвилин, після чого можна буде перевірити статус сервісу unifi виконавши наступну команду

sudo systemctl status unifi

Як видно нижче, сервіс активний і запущений.

● unifi.service - unifi
     Loaded: loaded (/lib/systemd/system/unifi.service; enabled; preset: enabled)
     Active: active (running) since Fri 2024-01-26 22:38:36 EET; 2 weeks 6 days ago
   Main PID: 75605 (java)
      Tasks: 120 (limit: 8734)
        CPU: 9h 7min 42.845s

5. Перевірка результату

Для перевірки результату потрібно дізнатися IP адресу, яку використовує Raspberry Pi. Для цього виконати треба команду

hostname -I

Сервіс UniFi доступний за цією ж адресою по порту 8443. Для цього треба в рядку браузера ввести:

https://ip-address:8443

погодитися із умовами відсутності сертифікату, і після цього сайт відобразиться із сторінки налаштуваня!