Установите UniFi Controller (сетевое приложение) в Ubuntu 20.04 |
В сегодняшней статье мы обсудим установку и настройку UniFi Controller в системе Linux Ubuntu 20.04 (Focal Fossa). Программное обеспечение UniFi Controller обычно называют UniFi Network Server в терминологии UniFi. Для сетевого инженера с опытом управления системами самостоятельное размещение сетевого сервера UniFi может быть идеальным способом сократить расходы на оборудование. Он применим для небольших установок и домашних лабораторий. Но для корпоративной установки мы рекомендуем приобрести такое устройство, как UniFi Dream Machine Pro.
Сетевое приложение UniFi (ранее UniFi Controller) — это программное обеспечение, разработанное Ubiquiti Networks для обеспечения возможности управления несколькими сетевыми устройствами UniFI из веб-браузера. Программное обеспечение можно установить в системе Windows, macOS и Linux. В нашей предыдущей статье мы предоставили статьи ниже.
- Как запустить контроллер UniFi в контейнере Docker
- Установите UniFi Controller в Ubuntu 18.04/Debian 9
- Установите сетевое приложение UniFi на macOS
Прежде чем устанавливать приложение UniFi Network, убедитесь, что выполнены следующие требования:
- Сеть с поддержкой DHCP
- Среда выполнения Java
- Linux, Mac OS X или Microsoft Windows 7/8 – работающее программное обеспечение контроллера.
- Веб-браузер: Mozilla Firefox, Google Chrome или Microsoft Internet Explorer 8 (или выше)
Требования к версии программного обеспечения:
- Ява 11/Ява 8
- MongoDB <=4.0, но >=3.6 (мы установим MongoDB 4.0)
Прежде чем мы начнем установку, подтвердите данные вашей ОС:
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.6 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.6 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
Давайте обновим и обновим систему, прежде чем двигаться дальше.
sudo apt update && sudo apt -y full-upgrade
При необходимости рекомендуется перезагрузка.
[ -f /var/run/reboot-required ] && sudo reboot -f
1 – Добавьте APT-репозитории UniFi и MongoDB.
Прежде чем добавлять репозитории, давайте установим необходимые зависимости.
sudo apt install curl gpg gnupg2 software-properties-common apt-transport-https lsb-release ca-certificates
Добавить APT-репозиторий MongoDB.
Начните с добавления ключа GPG в системный брелок. Как говорилось ранее, мы устанавливаем MongoDB Server 4.0.
curl -fsSL https://pgp.mongodb.com/server-4.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-4.0.gpg
Затем добавьте репозиторий, содержащий пакеты MongoDB 4.0. Он будет основан на Ubuntu Bionic Beaver.
echo "deb https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
Обновить индекс пакета APT.
$ sudo apt update
Hit:1 https://mirror.hetzner.com/ubuntu/packages focal InRelease
Hit:2 https://mirror.hetzner.com/ubuntu/packages focal-updates InRelease
Hit:3 https://mirror.hetzner.com/ubuntu/packages focal-backports InRelease
Hit:4 https://mirror.hetzner.com/ubuntu/security focal-security InRelease
Ign:6 https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 InRelease
Hit:5 https://dl.ui.com/unifi/debian stable InRelease
Get:7 https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 Release [2,989 B]
Get:8 https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 Release.gpg [801 B]
Ign:8 https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 Release.gpg
Reading package lists... Done
Добавить репозиторий UniFi APT
Импортируйте ключ GPG репозитория, используемый при подписании пакетов UniFi APT.
sudo wget -O /etc/apt/trusted.gpg.d/unifi-repo.gpg https://dl.ui.com/unifi/unifi-repo.gpg
Добавьте репозиторий UniFi APT, выполнив приведенные ниже команды в своем терминале.
echo 'deb https://www.ui.com/downloads/unifi/debian stable ubiquiti' | sudo tee /etc/apt/sources.list.d/ubnt-unifi.list
2 – отключить установку Java 17
Запретить системе Ubuntu автоматическую установку Java 17.
sudo apt-mark hold openjdk-17-*
При установке UniFi по умолчанию будет использоваться Java 11.
3. Установите сетевое приложение UniFi в Ubuntu 20.04.
Теперь, когда мы добавили репозиторий UniFi и MongoDB, давайте начнем установку сетевого приложения UniFi (UniFi Controller) в Ubuntu 20.04.
sudo apt install unifi
Примите запрос на установку в соответствии с запросом.
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
binutils binutils-common binutils-x86-64-linux-gnu ca-certificates-java fontconfig-config fonts-dejavu-core java-common libavahi-client3 libavahi-common-data libavahi-common3 libbinutils
libboost-filesystem1.71.0 libboost-iostreams1.71.0 libboost-program-options1.71.0 libctf-nobfd0 libctf0 libcups2 libfontconfig1 libgoogle-perftools4 libgraphite2-3 libharfbuzz0b libjpeg-turbo8
libjpeg8 liblcms2-2 libpcrecpp0v5 libpcsclite1 libsnappy1v5 libtcmalloc-minimal4 libyaml-cpp0.6 mongo-tools mongodb-clients mongodb-server mongodb-server-core openjdk-11-jre-headless
Suggested packages:
binutils-doc default-jre cups-common liblcms2-utils pcscd libnss-mdns fonts-dejavu-extra fonts-ipafont-gothic fonts-ipafont-mincho fonts-wqy-microhei | fonts-wqy-zenhei fonts-indic
The following NEW packages will be installed:
binutils binutils-common binutils-x86-64-linux-gnu ca-certificates-java fontconfig-config fonts-dejavu-core java-common libavahi-client3 libavahi-common-data libavahi-common3 libbinutils
libboost-filesystem1.71.0 libboost-iostreams1.71.0 libboost-program-options1.71.0 libctf-nobfd0 libctf0 libcups2 libfontconfig1 libgoogle-perftools4 libgraphite2-3 libharfbuzz0b libjpeg-turbo8
libjpeg8 liblcms2-2 libpcrecpp0v5 libpcsclite1 libsnappy1v5 libtcmalloc-minimal4 libyaml-cpp0.6 mongo-tools mongodb-clients mongodb-server mongodb-server-core openjdk-11-jre-headless unifi
0 upgraded, 35 newly installed, 0 to remove and 0 not upgraded.
Need to get 244 MB of archives.
After this operation, 678 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Установка приложения UniFi Network вручную в Ubuntu 20.04
Если вы предпочитаете метод установки вручную, загрузите пакет .deb , посетив страницу загрузки программного обеспечения UniFi Controller с веб-сайта Ubiquiti Networks.
Выберите последнюю доступную версию для Linux и нажмите «Загрузить».
Выберите каталог, в котором сохраните файл.
При загрузке файла с помощью wget
используйте синтаксис:
wget https://dl.ui.com/unifi/<VERSION>/unifi_sysvinit_all.deb
Установку пакета .deb можно выполнить с помощью apt
, передав путь к загруженному файлу в качестве аргумента.
$ sudo apt install ./unifi_sysvinit_all.deb
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'unifi' instead of './unifi_sysvinit_all.deb'
The following additional packages will be installed:
binutils binutils-common binutils-x86-64-linux-gnu ca-certificates-java fontconfig-config fonts-dejavu-core java-common jsvc libasound2 libasound2-data libavahi-client3 libavahi-common-data
libavahi-common3 libbinutils libboost-filesystem1.65.1 libboost-iostreams1.65.1 libboost-program-options1.65.1 libboost-system1.65.1 libcommons-daemon-java libcups2 libfontconfig1
libgoogle-perftools4 libgraphite2-3 libharfbuzz0b libjpeg-turbo8 libjpeg8 liblcms2-2 libnspr4 libnss3 libpcrecpp0v5 libpcsclite1 libsnappy1v5 libstemmer0d libtcmalloc-minimal4 libyaml-cpp0.5v5
mongo-tools mongodb-clients mongodb-server mongodb-server-core openjdk-17-jre-headless
Suggested packages:
binutils-doc default-jre libasound2-plugins alsa-utils java-virtual-machine cups-common liblcms2-utils pcscd libnss-mdns fonts-dejavu-extra fonts-ipafont-gothic fonts-ipafont-mincho
fonts-wqy-microhei | fonts-wqy-zenhei fonts-indic
The following NEW packages will be installed:
binutils binutils-common binutils-x86-64-linux-gnu ca-certificates-java fontconfig-config fonts-dejavu-core java-common jsvc libasound2 libasound2-data libavahi-client3 libavahi-common-data
libavahi-common3 libbinutils libboost-filesystem1.65.1 libboost-iostreams1.65.1 libboost-program-options1.65.1 libboost-system1.65.1 libcommons-daemon-java libcups2 libfontconfig1
libgoogle-perftools4 libgraphite2-3 libharfbuzz0b libjpeg-turbo8 libjpeg8 liblcms2-2 libnspr4 libnss3 libpcrecpp0v5 libpcsclite1 libsnappy1v5 libstemmer0d libtcmalloc-minimal4 libyaml-cpp0.5v5
mongo-tools mongodb-clients mongodb-server mongodb-server-core openjdk-17-jre-headless unifi
0 upgraded, 41 newly installed, 0 to remove and 57 not upgraded.
Need to get 280 MB of archives.
After this operation, 724 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Успешная установка должна иметь результат, аналогичный приведенному ниже.
Note, selecting 'unifi' instead of './unifi_sysvinit_all.deb'
unifi is already the newest version (7.4.162-1).
0 upgraded, 0 newly installed, 0 to remove and 57 not upgraded.
4 – Создайте учетную запись в облаке UniFi.
Если у вас нет учетной записи UniFi Cloud, создайте ее на unifi.ui.com. Войдите в систему или нажмите «Создать».
Введите свои данные, чтобы создать новую учетную запись. После этого на ваш адрес электронной почты, указанный при создании учетной записи, будет отправлено письмо с подтверждением.
Подтвердите адрес электронной почты, чтобы активировать учетную запись UniFi.
5 – Доступ к сетевому приложению UniFi в браузере
Перезапустите службу unifi, используя systemctl.
sudo systemctl restart unifi.service
Проверьте, находится ли услуга в статусе.
$ systemctl status unifi.service
● unifi.service - unifi
Loaded: loaded (/lib/systemd/system/unifi.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2023-08-28 09:50:20 UTC; 51s ago
Process: 11195 ExecStartPre=/usr/sbin/unifi-network-service-helper init (code=exited, status=0/SUCCESS)
Process: 11254 ExecStartPre=/usr/sbin/unifi-network-service-helper init-uos (code=exited, status=0/SUCCESS)
Process: 11264 ExecStartPost=/usr/sbin/unifi-network-service-helper healthcheck (code=exited, status=0/SUCCESS)
Main PID: 11263 (java)
Tasks: 88 (limit: 4541)
Memory: 772.7M
CGroup: /system.slice/unifi.service
├─11263 /usr/bin/java -Dfile.encoding=UTF-8 -Djava.awt.headless=true -Dapple.awt.UIElement=true -Dunifi.core.enabled=false -Dunifi.mongodb.service.enabled=false -Xmx1024M -XX:+UseParal>
└─11323 bin/mongod --dbpath /usr/lib/unifi/data/db --port 27117 --unixSocketPrefix /usr/lib/unifi/run --logRotate reopen --logappend --logpath /usr/lib/unifi/logs/mongod.log --pidfilep>
Aug 28 09:49:50 focal unifi[11253]: init complete...
Aug 28 09:49:50 focal unifi-network-service-helper[11253]: <13>Aug 28 09:49:50 unifi: init complete...
Aug 28 09:49:50 focal unifi[11273]: health-check max retry count: 100
Aug 28 09:49:50 focal unifi-network-service-helper[11273]: <13>Aug 28 09:49:50 unifi: health-check max retry count: 100
Aug 28 09:50:20 focal systemd[1]: Started unifi.
Службы должны быть доступны через порт 8080 и порт 8443.
jmutai@unifi-controller:~$ ss -tunelp | egrep '8080|8443'
tcp LISTEN 0 100 *:8443 *:* uid:112 ino:47897 sk:a v6only:0 <->
tcp LISTEN 0 100 *:8080 *:* uid:112 ino:47891 sk:e v6only:0 <->
Основные файлы журналов сетевого приложения UniFi
- /usr/lib/unifi/logs/server.log
- /usr/lib/unifi/logs/mongod.log
Получите доступ к сетевому приложению UniFi в веб-браузере, используя IP-адрес сервера и порт 8443.
https://172.20.30.20:8443/
Вы получите предупреждения SSL при попытке доступа к порталу. Игнорируем и приступаем к настройке.
Укажите имя для вашего сетевого приложения.
Войдите в систему, используя учетную запись Ubiquiti, которую вы создали ранее.
Рассмотрите возможность включения автоматического резервного копирования конфигураций вашей сети.
Устройства Ubiquiti, находящиеся в той же сети, что и контроллер, будут обнаружены автоматически. Выберите вариант, который вы хотите настроить.
Определите свою первую сеть Wi-Fi, если это новая конфигурация сети UniFi.
По завершении проверьте настройки, чтобы завершить установку.
Установка должна завершиться через несколько секунд.
Вам будет представлен интуитивно понятный интерфейс, в котором можно выполнить большинство действий.
Направление устройств UniFi на существующий контроллер UniFi
Если ваша новая установка предназначена для замены старого контроллера, войдите в систему устройств UniFi и установите информационный адрес для нового адреса и порта сервера. См. пример ниже.
set-inform http://172.20.30.20:8080/inform
Подождите немного, и статус должен отражать недавнее обновление, которое мы заполнили.
US-16-150W-US.6.2.14# info
Model: US-16-150W
Version: 6.2.14.13855
MAC Address: 98:8a:20:fd:ea:94
IP Address: 192.168.1.116
Hostname: US-16-150W
Uptime: 992330 seconds
Status: Connected (http://172.20.30.20:8080/inform)
Посетите страницы документации UniFi, чтобы узнать больше об использовании программного обеспечения для управления сетевыми устройствами. В будущем мы напишем больше статей, посвященных устройствам Ubiquiti UniFi.