Каталог Поиск 0 Сравнить 0 Закладки 0 Корзина Войти
Каталог
105082, Москва, ул. Фридриха Энгельса, 75с21, БЦ Бауманский ИТКОЛ
Пн - Пт: с 09-00 до 18-00 Сб: с 10-00 до 18-00 Вс: выходной
Страницы: 1
RSS
UniFi Controller на CentOS/RedHat, UniFi Network
 
Что с поддержкой CentOS/RedHat? Я думал, что сам контроллер основан на Java... почему тогда только .deb файлы для Ubuntu? Устройства по цене приемлемые, но не настолько дешёвые, чтобы мы не могли рассчитывать на какую-то поддержку CentOS/RedHat?
 
Кто-нибудь уже пробовал 5.10.24? Сегодня утром обновился с 5.10.23. У меня постоянно пишет: UniFi Controller запускается... Пожалуйста, подождите. Сомневаюсь, что он вообще запустится.
 
Итак, я следовал инструкциям, но когда пытаюсь зайти на https://x.x.x.x:8433, получаю отказ в подключении. Сервис запущен и работает... Может, я что-то упускаю?  
======================================  
[root@server ~]# wget 10.0.0.10:8443
--2021-05-29 12:56:24--  http://10.0.0.10:8443/  
Подключение к 10.0.0.10:8443... не удалось: отказ в подключении.  
======================================  
Буду признателен за любую помощь.
 
Спасибо, @JimMurray. Одно из обязательных условий — создать каталог data и убедиться, что владельцем его является пользователь ubnt, прежде чем запускать сервис. Я заметил, что в /var/log/messages появляются сообщения об ошибках. Сейчас всё работает идеально на версии 6.0.36.  
mkdir /opt/UniFi/data  
chown -R ubnt:ubnt /opt/UniFi
 
@JimMurray Спасибо за инструкции! ;) У меня отлично сработало на CentOS 7 с версией контроллера 5.14.23. Настолько хорошо, что теперь жалею, что так долго пользовался им на своём Windows-ноутбуке и почти купил CloudKey, особенно учитывая, что у меня уже был сервер на CentOS. Единственное изменение, которое я бы предложил внести в ваши инструкции — добавить строку WorkingDirectory в файл сервиса (/etc/systemd/system/unifi.service), как показано ниже. Без этой строки появлялась ошибка (в /var/log/messages) и не создавался server.log. Сервер пытался записать log в /logs/server.log, но каталога /logs не было, потому что путь к логам в log4j2.xml задан относительно (файл находится в архиве /opt/UniFi/lib/ace.jar).  
Чтобы изменить существующую установку:

Остановите сервис unifi:  
sudo systemctl stop unifi.service

Отредактируйте файл /etc/systemd/system/unifi.service, добавив строку WorkingDirectory:  
## Systemd unit file for UniFi Controller ##

[Unit]
Description=UniFi AP Web Controller  
After=syslog.target network.target

[Service]
Type=simple  
User=ubnt  
WorkingDirectory=/opt/UniFi  
ExecStart=/usr/bin/java -Xmx1024M -jar /opt/UniFi/lib/ace.jar start  
ExecStop=/usr/bin/java -jar /opt/UniFi/lib/ace.jar stop  
SuccessExitStatus=143

Если вы изменяете существующий файл сервиса, нужно перезагрузить демона systemd, чтобы прочитать изменения:  
sudo systemctl daemon-reload

Опционально можно настроить логирование в /var/log/UniFi вместо /opt/UniFi/logs:  
sudo mv /opt/UniFi/logs /var/log/UniFi  
sudo ln -s /var/log/UniFi /opt/UniFi/logs

Запустите сервис unifi заново:  
sudo systemctl start unifi.service
 
Я с такой ошибкой не сталкивался, но стоит проверить настройки файрвола, SELinux и версию Java. Jim
 
Привет, ребята! Мой контроллер работает на CentOS 7 на удалённом сервере, я следовал инструкциям JimMurray по установке. Всё работает нормально, кроме того, что Точка Доступа не может подключиться к внутреннему STUN-серверу на моём контроллере.  
[2020-01-11T05:08:40,546] <StunServer> ERROR stun - Ошибка при обработке STUN-пакета
de.javawi.jstun.attribute.MessageAttributeException: Message attribute change request не установлен.  
at com.ubnt.net.do.Ô00000(Unknown Source) ~[ace.jar:?]
at com.ubnt.net.do.new(Unknown Source) ~[ace.jar:?]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_232]

Кто-нибудь сталкивался с такой проблемой?  
Спасибо!
 
Я только что установил версию 5.11.39.0 после долгого использования старой версии. Обновил mongodb-server до 3.4 и Java 8. Похоже, всё работает нормально на CentOS 7.
 
У меня была такая же проблема. Пришлось откатиться обратно на версию 5.10.23. Думаю, это как-то связано с MongoDB.
 
Вам нужно обновить базу данных mongod-org до версии 3.6. Unifi работает. Но потом появляется ошибка с облачным портом 3478 STUN и сообщением «Не удалось загрузить библиотеку WebRTC».
 
Привет, я здесь на форуме новенький. Только что получил свой первый AP — NanoHD, чтобы заменить старую точку доступа дома. Многие говорят о качестве оборудования, но я не видел упоминаний о том, что для работы контроллера нужно использовать старую ОС и программное обеспечение (mongo, java, openssl). Кстати, установщик софта для Windows даже не проверял, что нужная версия Java установлена, или что-то в этом роде. Это довольно разочаровывает. Ведется ли какая-то работа по поддержке хотя бы других ОС или по расширению требований к ПО?
 
По крайней мере на Fedora запустить сервис с включённым SELinux довольно просто — и я настоятельно рекомендую это делать, так как, судя по всему, для Ubiquiti безопасность — это что-то, на что забивают в последнюю очередь. Пометьте директорий UniFi, куда распакован zip-файл, правильно:  
semanage fcontext -a -t initrc_var_run_t /var/db/UniFi'.*'  
restorecon -Rv /var/db/UniFi  

Если вы используете systemd-сервис, демон будет работать в домене «unconfined_service_t», хотя потребуется оболочка-обёртка, которая запускает «java». Также можно использовать возможности безопасности systemd, чтобы ограничить возможные последствия компрометации системы контроллером. Вот мой unifi.service:  

[Unit]
Description=UniFi Controller  
After=syslog.target network.target  

[Service]
Type=simple  
ExecStart=/usr/local/bin/unifi-start  
ExecStop=/usr/local/bin/unifi-stop  
PrivateTmp=true  
KillMode=none  
User=unifi  
Group=unifi  
WorkingDirectory=/var/db/UniFi  
NoNewPrivileges=yes  
ProtectSystem=strict  
ReadWritePaths=/var/db/UniFi/data /var/db/UniFi/dl /var/db/UniFi/logs /var/db/UniFi/run  
InaccessibleDirectories=/home /srv /media /boot /root /mnt  
ReadOnlyDirectories=/usr /etc  
Restart=on-failure  

[Install]
WantedBy=multi-user.target
 
> wget https://www.ubnt.com/downloads/unifi/5.6.42/UniFi.unix.zip Это буквально единственная проблема для меня. Каждый раз, когда нужно установить новый контроллер где-то, полный URL этого ZIP-файла для любой версии — это как угадайка, и нигде не видно на официальных страницах. Скажите, этот URL где-то официально указан? Я нигде не смог найти его на странице загрузки программного обеспечения. В остальном спасибо, что поделились ссылкой.
 
Попробовал пост от @JimMurray, так как у меня около 12 виртуальных машин на CentOS, и совсем не хочется ставить другую дистрибутив. Пока всё нормально, спасибо!
 
Возможно, есть способы обойти это, но, честно говоря, у меня не было времени заморачиваться, и проще было просто выключить. Все наши контроллеры — это виртуальные машины на одноразовой основе в изолированной сети, так что взломать один из них — скорее неудобство, чем проблема: там нет никакой ценной информации, и они не могут быть использованы для дальнейшего проникновения (другое дело, если у вас есть usg, но мы их не используем по разным причинам). Если у вас получится запустить с включённым selinux, дайте знать, как вы это сделали, было бы здорово разобраться. Jim
 
Спасибо, я попробую это и отчитаюсь. Жаль, что приходится отключать SELinux, ведь именно такие приложения с высоким уровнем риска нужно защищать с помощью SELinux.
 
Старая тема, но, возможно, стоит её снова поднять. Это реально сделать без Docker и неофициальных RPM — я так и делаю. Наши контроллеры работают на CentOS 7 и все запускают контроллер нативно — без Docker и RPM. Будет чуть больше работы, чем просто установка пакетов, но это вполне возможно и не так уж сложно. Учтите, что «generic Unix» версия контроллера, о которой упоминается ниже, официально не поддерживается, но так как именно из неё собираются .deb пакеты, она довольно стабильная.

Установка на CentOS 7 (предполагается чистая система). Вот наши инструкции, подгоняйте пути и интерфейсы под свои системы:

Если включён SElinux — отключите, он создаёт проблемы.
sed -i /etc/selinux/config -r -e 's/^SELINUX=.*/SELINUX=disabled/g'

Обновите систему и перезагрузитесь перед продолжением.
yum update  
reboot

Установите репозиторий EPL:
yum install epel-release

Добавьте пользователя ubnt:
useradd -r ubnt

Установите необходимые пакеты:
yum -y install mongodb-server java-1.8.0-openjdk unzip wget

Скачайте generic Linux-версию контроллера:  
LEGACY Release:  
wget https://www.ubnt.com/downloads/unifi/5.6.42/UniFi.unix.zip  
CURRENT Release:  
wget https://www.ubnt.com/downloads/unifi/5.10.23/UniFi.unix.zip

Распакуйте в нужное место:
unzip -q UniFi.unix.zip -d /opt

Назначьте правильного владельца:
chown -R ubnt:ubnt /opt/UniFi

Создайте скрипт автозапуска вашим любимым редактором:
vi /etc/systemd/system/unifi.service

## Файл юнита systemd для UniFi Controller  
[Unit]
Description=UniFi AP Web Controller  
After=syslog.target network.target

[Service]
Type=simple  
User=ubnt  
ExecStart=/usr/bin/java -Xmx1024M -jar /opt/UniFi/lib/ace.jar start  
ExecStop=/usr/bin/java -jar /opt/UniFi/lib/ace.jar stop  
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target

Возможно, придётся изменить настройки брандмауэра — я так и делал. У вас может быть по-другому.

Остановите брандмауэр:  
systemctl stop firewalld.service

Отредактируйте правила брандмауэра:  
vi /etc/firewalld/services/unifi.xml

<?xml version="1.0" encoding="utf-8"?>  
<service version="1.0">  
 <short>unifi</short>  
 <description>UniFi Controller</description>  
 <port port="8081" protocol="tcp"/>  
 <port port="8080" protocol="tcp"/>  
 <port port="8443" protocol="tcp"/>  
 <port port="8880" protocol="tcp"/>  
 <port port="8843" protocol="tcp"/>  
 <port port="27117" protocol="tcp"/>  
 <port port="3478" protocol="udp"/>  
</service>

Запустите брандмауэр:  
systemctl start firewalld.service

Примените правила:
firewall-cmd --set-default-zone=home  
firewall-cmd --permanent --zone=home --change-interface=eth0  
firewall-cmd --permanent --zone=home --add-service=unifi

Включите сервис UniFi Controller:
systemctl enable unifi.service

Готово. Обычно я перезагружаюсь, но можно просто выполнить service unifi start, чтобы запустить контроллер.

Ссылки на версии в URL можно менять по мере выхода новых релизов. Ubiquity их не рекламирует, но (по крайней мере пока) для каждой версии контроллера выходила «Generic Unix» сборка.

Надеюсь, это поможет,  
Джим.  
(редактировал: исправил опечатки)
Страницы: 1
Читают тему (гостей: 1)