Установка UniFi Controller на CentOS 7

Настройка Wi-Fi точек от производителя UniFi производится через UniFi Controller. На официальном сайте разработчика дистрибутив под CentOS не выложен, но он есть и исправно появляется. И установка полностью ручная и отличается от привычной установки из пакета. Установка на чистую ось. Теперь подробней

0. Обновляем CentOS до последнего, если есть необходимость

yum -y update
systemctl reboot

1. Подключаем EPEL Repo

yum -y install epel-release

2. Создаем пользователя и ставим все необходимые пакеты

useradd -r ubnt
yum -y install wget unzip mongodb-server java-1.8.0-openjdk

3. Загружаем и распаковываем UniFi Controller v5.4.11 (на момент написания актуальная, в URL меняется только каталог) и проставляем права нашего пользователя

wget http://dl.ubnt.com/unifi/5.4.11/UniFi.unix.zip
unzip -q UniFi.unix.zip -d /opt
chown -R ubnt:ubnt /opt/UniFi

4. Создаем скрипт запуска

vim /etc/systemd/system/unifi.service

Содержимое файла unifi.service:

#
# 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

[Install]
WantedBy=multi-user.target

5. Настройки Firewalled

systemctl stop firewalld.service
vim /etc/firewalld/services/unifi.xml

Содержимое файла 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="10001" protocol="udp"/>
    <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

6. Сервис делаем запускаемый и стартуем

systemctl enable unifi.service
systemctl start unifi.service

Доступ к настройкам UniFi Controller через браузер https://[10.10.10.10]:8443/